webForumDet fria alternativet

Dela upp utdata från databas?

2 svar · 190 visningar · startad av Pellefant

PellefantMedlem sedan maj 20023 372 inlägg
#1

Hej! :)

Jag har detta, som fungerar bra:

$Query = "SELECT * FROM table1 order by RAND()" or die (mysql_error());
$Result = mysql_query($Query) or die("Error: ".mysql_error()." in query: ".$Query);

		while($row=mysql_fetch_array($Result))
		{
		echo "<a href=\"showurl.php?id=".$row['id']."\" target=\"_blank\">";
		echo $row['url'];
		echo "</a> (";
		echo $row['clicks'];
		echo ")";
		echo "<br>\n";
		} mysql_close($dbh);

Men nu skulle jag behöva dela upp denna utdata på två olika platser på samma webbsida( Det är RAND() i SQL-satsen, så det går inte att köra med två SQL satser bara då utdatan är olika varje gång).

Dvs, jag vill först skriva ut de 20 första raderna i Recsetet och sedan på den andra platsen skriva ut de återstående(ca 20) raderna.

Någon som har nån idé?

SPiNMedlem sedan mars 20007 896 inlägg
#2

Tja;

$done = false;

while( $row = mysql_fetch_array( $Result ) ) {
     if( $done ) {
           $arrLeftOvers[] = $row;
     } else {
       echo "<a href=\"showurl.php?id=".$row['id']."\" target=\"_blank\">";
        echo $row['url'];
        echo "</a> (";
        echo $row['clicks'];
        echo ")";
        echo "<br>\n";

        $counter++;
        if( $counter >= 20 )
             $done = true;
     }
}

Så har du alla dina kvarvarande i en array för senare åtkomst.

PellefantMedlem sedan maj 20023 372 inlägg
#3

Tack så hemskt mycket. :)

136 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)