Hoi allemaal.

ik probeer met mijn script 2x gegevens uit de db te halen.
Dit doe ik met while en dan moet hij daar een dropbox van maken en de 2e keer ook.
Dit werkt de 1e x prima, maar bij de 2e while laat hij geen waardes zien, waar ze wel zijn.

Mag je niet 2x while doen in een script?

Hier is mijn php code:

<?

$getcat = "SELECT * FROM catogorie";
$getsubcat = "SELECT * FROM subcat";
$resultaatcat = mysql_query($getcat) or die (mysql_error());
$resultaatsubcat = mysql_query($getsubcat) or die (mysql_error());

while ($rowaddp = mysql_fetch_array($resultaatcat)) {
$catnaam = $rowaddp['cat'];
$catid = $rowaddp['catid'];

echo '<option value="'.$rowaddp[catid].'">'.$rowaddp[cat].'</option>';
}
?>
</select>
<select name="psubcat">

<?

while ($rowaddp = mysql_fetch_array($resultaatsubcat)) {
$catnaam = $rowaddp['cat'];
$catid = $rowaddp['catid'];
echo '<option value="bla">bla</option>';

//echo '<option value="'.$rowaddp[catid].'">'.$rowaddp[cat].'</option>';
}

?>
</select>
[quote='SanThe schreef op 04.02.2010 18:26'Die eerste moet ook weg kunnen.[/quote]

Voor de eerste select wordt er een loop gebruikt om door de resultset te gaan. Als de loop afgerond is staat de pointer/iterator nog op het laatste record.
Als je dan nogmaals door dezelfde resultset heen wilt 'loopen' moet je eerst die pointer op het beginpunt van de resultset zetten.


SanThe schreef op 04.02.2010 16:32
[quote='Thijs Damen schreef op 04.02.2010 16:26']
Omdat de internal array pointer bij de eerste loop aan het eind komt te staan?

Als je goed kijkt zie je dat het verschillende loops zijn met een fetch op verschillende results.[/quote]
Dat houdt dus in dat de pointer niet resultset afhankelijk zou zijn...
Lijkt mij logisch dat elk array() zijn eigen pointer heeft.
Dus die tweede staat nog op nul.
dat zou ik ook zeggen, maar blijkbaar is dat niet het geval,....
Even kijken of dit een bug is in mysql

Reageren