no12Medlem sedan sep. 200240 inlägg Hur gör man för att stega igenom en array manuellt efter det att man har tagit emot resultatet från databasen i en array?
Kod:
$link =openDB();
$sql1 = "SELECT HID FROM Heading WHERE IID = '$iid'";
$result1 = queryDB($sql1, $link);
$heading_test = mysql_fetch_array($result1);
Jag kan nu skriva ut första posten i arrayen genom att skriva :
echo "Heading_test >> $heading_test[0]";
Men om jag skriver echo "Heading_test >> $heading_test[1]"; så blir resultatet tomt. Hur gör jag för att skriva ut nästa post?? Jag vet ju att det finns fler poster ifrån mysql-frågan.
Tacksam för svar
PhorpherMedlem sedan feb. 20002 300 inlägg while($heading_test = mysql_fetch_array($result1))
{
echo "Heading_test >> $heading_test[0]";
}
mysql_fetch_array returnerar en array till en rad i din result och stegar sen fram till nästa rad i result...
no12Medlem sedan sep. 200240 inlägg Ja, jag vet att man kan göra så men kan man inte göra på något annat sätt utan att använda while-konstruktionen?? Jag vill alltså inte skriva ut allt på en gång. I mitt fall vill jag skriva ut resultatet beroende på vissa andra variabler. Tex om ett värde är sant så vill jag skriva ut första posten i arrayen men om det är falskt så ska den skriva ut nästa värde osv.
SPiNMedlem sedan mars 20007 896 inlägg Det går också med en while-sats;
while($heading_test = mysql_fetch_array($result1)) {
if( $heading_test[0] == "inte bra" )
continue; // Här hoppar loopen till nästa varv
echo "Heading_test >> $heading_test[0]";
}
no12Medlem sedan sep. 200240 inlägg Tackar för det, SPiN! Med lite knep och knåpande så fick jag det som jag ville.