GeinMedlem sedan sep. 20005 700 inlägg <?php
$query = "SELECT hole, hcp FROM golf_bana_scoreboard WHERE id = ".$_POST['course']." ORDER BY hcp ASC";
$result = mysql_query($query, $link)
OR DIE("Fel i queryn: <br />".$query);
while($array = mysql_fetch_array($result))
{
foreach($array as $item){
echo $item."<br>";
}
}
?>
Denna kod skriver ut dubbel upplaga av varje fält. Varför gör den det?
Det är två kolumner och 18 rader.
Om jag kikar i t.ex. MySQL-front va svaret skulle ge mej ser det ut ungefär såhär:
hole hcp
4 1
15 2
5 3
... osv
Men php-koden spottar ut följande:
4
4
1
1
15
15
2
2
5
5
3
3
... osv
Varför kör den ut dubbel upplaga av svaret?
GeinMedlem sedan sep. 20005 700 inlägg Aha, så här ser den tydligen ut:
Key: 0; Value: 4
Key: hole; Value: 4
Key: 1; Value: 1
Key: hcp; Value: 1
Key: 0; Value: 15
Key: hole; Value: 15
Key: 1; Value: 2
Key: hcp; Value: 2
Key: 0; Value: 5
Key: hole; Value: 5
Key: 1; Value: 3
Key: hcp; Value: 3
Det förklarar saken.
Hur gör man för att skippa att lagra svaret i arrayen med fält-namn? Är enbart intresserad av nuffrorna
PeeerMedlem sedan mars 20025 907 inlägg Re: Hantera svar från SQL-fråga
<?php
$query = "SELECT hole, hcp FROM golf_bana_scoreboard WHERE id = ".$_POST['course']." ORDER BY hcp ASC";
$result = mysql_query($query, $link)
OR DIE("Fel i queryn: <br />".$query);
while($array = mysql_fetch_array($result))
{
echo $array["hole"] . " - " . $array["hcp"] ."<br>";
}
?>
Kan du inte göra något sådant här då? Eller blir det fortfarande dubbelt då?
GeinMedlem sedan sep. 20005 700 inlägg Jag förklarade nog lite dåligt tror jag. Men jag löste iaf mitt problem genom att kasta över alla värden i en ny array.
MatteMedlem sedan aug. 20002 975 inlägg mysql_fetch_assoc() hämtar en array med strängindex (associativ).
mysql_fetch_row() hämtar en numrerad array.
mysql_fetch_array() hämtar med både associativa och numeriska index. Du får med andra ord två av varje värde.
Använd någon av de två översta.
GeinMedlem sedan sep. 20005 700 inlägg Där har vi det jag sökte :)
mysql_fetch_row() va det givetvis. Tack
MungoMedlem sedan jan. 2000372 inlägg Ja, eller mysql_fetch_array($result, MYSQL_NUM) :)