On Wed, 19 Feb 2003 17:10:38 +0100, "René Lønstrup" <news@rel 6+1
star.dk> wrote:
>Hejsa (igen),
>
>Når jeg bruger følgende kode, starter den fra række 2 i array'et når
>while-loop'et begynder. Hvorfor? Og hvordan får jeg den til at starte fra
>starten?
Hvorfor:
> $strSQL = "SELECT * FROM MyTable ORDER BY id";
> $result = mysql_query($strSQL);
> $row = mysql_fetch_array($result);
Her henter du første række af database-resultatet.
> echo $row["id"] . "<br><br>"; // udskriver "1"
Udskriver det ...
> while ($row = mysql_fetch_array($result)) {
Henter næste række ...
> echo $row["id"] . "<br>"; // starter fra "2"
Udskriver den.
>Som før skrevet, er jeg ret ny til PHP, så jeg aner ikke hvad jeg gør galt
>:) - Men hvis det kan lette forklaringen så leder jeg efter samme
>funktionalitet som følgende ASP-kode:
Din asp-kode bruger et do-loop hvor den skriver resultatet først, så
henter næste række. Din php-kode gør det omvendt, henter resultatet
først, og så udskriver det.
Hvis du vil have din php-kode til at opføre sig som dit asp-eksempel så
brug noget ala:
<?
$strSQL = "SELECT * FROM MyTable ORDER BY id";
$result = mysql_query($strSQL);
$row = mysql_fetch_array($result);
echo $row["id"] . "<br><br>"; // udskriver "1"
do {
echo $row["id"] . "<br>"; // starter fra "2"
} while ($row = mysql_fetch_array($result))
?>
--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk
Lær af andres fejl
- du lever alligevel ikke længe nok til selv at prøve dem alle.