Avatar billede kodak Mester
22. november 2010 - 19:08 Der er 10 kommentarer og
1 løsning

Hvorfor vil den ikke

Jeg har følgendene script men den virker kun med den første ramme men ikke med resten:

<?
include('admin/config.php');
    //A connection to MySQL is created
    mysql_connect($mysql['host'],$mysql['user'],$mysql['password']) or die (mysql_error());
    mysql_select_db($mysql['db']) or die (mysql_error());
   
    $result = mysql_query("SELECT * FROM `news_module` ORDER BY `time` DESC");
   

function removeThumbDB($imgs){
    $i = 0;
    foreach($imgs AS $img){
        if(strtolower(basename($img))=="thumbs.db"){
            unset($imgs[$i]);
        }
        $i++;
    }
    natsort($imgs);
    return $imgs;
}

$folders = glob('flash/*');
$cols = 6;
$i = 0;
echo "<table><tr>";

foreach($folders AS $folder){
    if(is_dir($folder)){
        if($cols==$i){
            echo "</tr><tr>";
            $i=0;
        }
        $imgs = removeThumbDB(glob($folder.'/screenshots/*'));
        $img = $imgs[array_rand($imgs, 1)];
        echo "<td><center><a href='".$img."' rel='lightbox[roadtrip]' title='&lt;a href=&quot;".$folder."/site_flash/".basename($folder).".html&quot;&gt;&lt;img src=&quot;images/eye.png&quot; width=&quot;22&quot; /&gt; Se siden ".basename($folder)." her&lt;/a&gt;'><img src='".$img."' alt='".basename($img)."' height='100' alt='".basename($folder)."' border='0' /><br>".basename($folder)."";
        while($row = mysql_fetch_array($result)) {
        if($row['nr']==basename($folder)) {
        echo " DB";
        }
        else { echo " ";
        }
        }
        echo "</a></center></td>\n";
        $i++;
    }
}

echo "</tr></table>";

?>

Jeg prøver at få den til at skrive ' DB hvergang den kam se at nummeret/navnet i databasen er det samme som kilden på siden,
Den er på rette spor men den gør det kun med den første hvad gør jeg galt?

Og så i ikke bliver helt forvirret er der også noget javascript i koden
Avatar billede majbom Novice
22. november 2010 - 19:42 #1
du kan kun køre mysql_fetch_array på et resultat én gang...

du kan "resette" resultatet, så du kan køre igennem det igen med mysql_data_seek()

http://www.php.net/manual/en/function.mysql-data-seek.php
Avatar billede kodak Mester
22. november 2010 - 20:08 #2
Denne del kommer fra en loop:
while($row = mysql_fetch_array($result)) {

Jeg er ikke helt med.
Avatar billede majbom Novice
22. november 2010 - 20:27 #3
ja den kører du i et foreach loop og derfor køres den (måske) flere gange - den vil kun virke første gang medmindre du bruger før omtalte funktion
Avatar billede kodak Mester
22. november 2010 - 21:29 #4
Mener du således?

$last_row = mysql_num_rows($result) - 1;
        if (mysql_data_seek($result, $last_row)) { //Set Pointer To LAST ROW in TEAM table.

    $row = mysql_fetch_row($result); //Get LAST RECORD in TEAM table
    $id = $row[0] + 1; //New Team ID Value
    if($row['nr']==basename($folder)) {
        echo " DB";
        }
        else { echo " ";
        }
    // more code here ...

} else { //Data Seek Error

    echo "Cannot seek to row $last_row: " . mysql_error() . "\n";     

}

der er de alle blanke
Avatar billede majbom Novice
22. november 2010 - 22:21 #5
nu har jeg ikke selv prøvet at bruge funktionen, men som jeg forstår det, burde det virke, hvis du smider:

mysql_data_seek($result, 0);


ind lige før din:

while($row = mysql_fetch_array($result))
Avatar billede kodak Mester
23. november 2010 - 16:40 #6
Takker splazz du kan squ det du gør.
Svar.
Avatar billede kodak Mester
23. november 2010 - 17:13 #7
Kan du svare mig på hvorfor min else echo kommer lige meget hvad?
Avatar billede majbom Novice
23. november 2010 - 21:07 #8
ikke lige umiddelbart, men du kan jo sætte den til at udskrive $folder og $row['nr'] for at se om det giver mening :)
Avatar billede kodak Mester
23. november 2010 - 21:17 #9
if delen virker men det gør else ikke det er det jeg ikke forstår.
takker for hjælpen.
Avatar billede kodak Mester
23. november 2010 - 21:28 #10
de er ikke ens når jeg skriver dem ud men hvordan kan if så virke?
Avatar billede majbom Novice
23. november 2010 - 22:26 #11
det er helt sikkert at den ikke kommer i både if OG else

der må være noget du ikke ser...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester