[OPGELOST]van mysql naar mysqli: wat te doen met mysql_result
Op advies van dit forum probeer ik alle mysql script naar mysqli om te zetten. Nu heb ik in het verleden mysql_result gebruikt, maar de omzetting begrijp ik is niet zo maar een "i" achter mysql plakken. Ik heb van het query resultaat eerst de eerste regel nodig om er iets mee te doen, vervolgens gebruikte ik een for next lus om de andere regels uit te lezen. Hoe kan ik dit nu met mysqli het handigste maken?
Oja, ik gebruik de procedurele versie van mysqli.
Ik denk dat het het mooiste zou zijn als je alle "rows" in een array kan zetten? Maar hoe?
Dank,
Jop
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$arr = array();
$result = mysqli_query($link, "SELECT veld1, veld2 FROM tabelnaam");
// zo vaak als er rijen in de $result zitten
while($row = mysqli_fetch_assoc($result))
{
// voeg de rij toe aan de array
$arr[] = $row;
}
// veld1 uit de eerste rij op het scherm tonen:
echo $arr[0]['veld1'] . '<br>';
// alle velden tonen
foreach($arr as $row) // loop door alle rijen
{
foreach($row as $field) // loop door alle velden van de rij
{
echo $field . ' ';
}
echo '<br>';
}
// maar meestal zo:
foreach($arr as $row) // loop door alle rijen
{
echo $row['veld1'] . ' - ' . $row['veld2'] . '<br>';
}
?>
$arr = array();
$result = mysqli_query($link, "SELECT veld1, veld2 FROM tabelnaam");
// zo vaak als er rijen in de $result zitten
while($row = mysqli_fetch_assoc($result))
{
// voeg de rij toe aan de array
$arr[] = $row;
}
// veld1 uit de eerste rij op het scherm tonen:
echo $arr[0]['veld1'] . '<br>';
// alle velden tonen
foreach($arr as $row) // loop door alle rijen
{
foreach($row as $field) // loop door alle velden van de rij
{
echo $field . ' ';
}
echo '<br>';
}
// maar meestal zo:
foreach($arr as $row) // loop door alle rijen
{
echo $row['veld1'] . ' - ' . $row['veld2'] . '<br>';
}
?>
Gewijzigd op 26/06/2014 20:52:54 door Frank Nietbelangrijk
Dank je, zat het weer te moeilijk te zoeken denk ik. Maar nadat ik de eerste rij ($arr[0]) heb uitgelezen wil ik met de foreach de andere rijen uitlezen, maar dan moet ik bij $arr[1] beginnen. Kan dat met een foreach of wordt het dan een for next? Of nog iets anders?
Dank,
Jop
Dank je
Een resultset doorlopen en die waardes in een array pompen, en daarna die array doorlopen is nog een graadje erger.
Ik ben altijd in voor een beter idee. Maar beter dan dit kan ik niet bedenken. Hoe zou het volgens jou moeten dan?
Code (php)
Gewijzigd op 26/06/2014 22:49:17 door Ger van Steenderen