login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[SQL] Meerdere 'rijen' maar slechts 1 in array

Offline pim1991 - 18/03/2010 13:05
Avatar van pim1991PHP interesse Hallo,

Zit met het volgende stuk script:
  1. $query = mysql_query("SELECT naam FROM VBO_doel WHERE vboID = '".$row_vbo_wijzigen['vboid']."'")or die(mysql_error());
  2. $row = mysql_fetch_array($query);


Probleem: Hij haalt slechts 1 rij eruit ...
Als ik hem in phpmyadmin invoer geeft hij er 5 (en dat is de bedoeling!)

Ik doet blijkbaar iets fout maar weet niet wat...

Ik moet het in array hebben omdat ik namelijk een vergelijking moet maken met een aantal opties (vast gedefineerd) met de functie in_array().

Alvast bedankt!

6 antwoorden

Gesponsorde links
Offline Ultimatum - 18/03/2010 13:17
Avatar van Ultimatum PHP expert
  1. $query = mysql_query("SELECT naam FROM VBO_doel WHERE vboID = '".$row_vbo_wijzigen['vboid']."'")or die(mysql_error());
  2. while($row = mysql_fetch_array($query)) {
  3.  
  4. }


Nu loopt hij door alle records heen die gevonden zijn. Voer je code uit zoals je al deed maar nu binnen de while.
Offline pim1991 - 18/03/2010 15:45 (laatste wijziging 18/03/2010 16:02)
Avatar van pim1991 PHP interesse Geprobeerd en dan krijg ik dus maar 1 waarde terug i.p.v. 5

EDIT: Gaat om deze code:
  1. <?php
  2. $query = mysql_query("SELECT naam FROM VBO_doel WHERE vboID = '".$row_vbo_wijzigen['vboid']."'")or die(mysql_error());
  3. $row = mysql_fetch_array($query);
  4. //while($row = mysql_fetch_array($query, MYSQL_ASSOC)){$namen .= $row['naam'].";";}
  5. $options = array("woonfunctie","bijeenkomstfunctie","celfunctie","gezondheidszorgfunctie","industriefunctie","kantoorfunctie","logiesfunctie","onderwijsfunctie","sportfunctie","winkelfunctie","overige gebruiksfunctie");
  6. foreach($options as $option) {
  7. if(in_array($option,$row)) {
  8. echo "<option value=\"".$option."\" selected=\"selected\">".$option."</option>";
  9. }else{
  10. echo "<option value=\"".$option."\">".$option."</option>";
  11. }
  12. }
  13. ?>
Offline Jelmerholland - 18/03/2010 18:07
Avatar van Jelmerholland PHP beginner omdat je nou nog steeds je
$row = mysql_fetch_array($query); hebt.

Als je die nou is een while-loop gooit. Zoals Ultimatum je al vertelde Dan zou het toch echt moeten werken.
Offline TotempaaltJ - 18/03/2010 21:10 (laatste wijziging 18/03/2010 21:10)
Avatar van TotempaaltJ PHP interesse
  1. <?php
  2. $query = mysql_query("SELECT naam FROM VBO_doel WHERE vboID = '".$row_vbo_wijzigen['vboid']."'")or die(mysql_error());
  3. while($row = mysql_fetch_array($query, MYSQL_ASSOC)) {
  4. $namen .= $row['naam'].";";
  5. }
  6. $options = array("woonfunctie","bijeenkomstfunctie","celfunctie","gezondheidszorgfunctie","industriefunctie","kantoorfunctie","logiesfunctie","onderwijsfunctie","sportfunctie","winkelfunctie","overige gebruiksfunctie");
  7. foreach($options as $option) {
  8. if(in_array($option,$row)) {
  9. echo "<option value=\"".$option."\" selected=\"selected\">".$option."</option>";
  10. }else{
  11. echo "<option value=\"".$option."\">".$option."</option>";
  12. }
  13. }
  14. ?>

Het is geen doodzonde om je code een beetje netjes te indenteren!

Verder slaat dit natuurlijk helemaal nergens op. Nu prop je gewoon at random wat Ultimatum zei in je Query. Dit is basis! Doe een PHP & MySQL tutorial van deze site en je snapt het weer helemaal 
Offline pim1991 - 19/03/2010 00:53
Avatar van pim1991 PHP interesse Hoe wil je het anders oplossen? Ik zie het echt niet...
Ik zet in de $row de result van de SQL. In de $options staan alle mogelijkheden die er maar gevonden kunnen worden. Staat de optie $row in $options dan selecteert die.
Offline Jelmerholland - 19/03/2010 07:18 (laatste wijziging 19/03/2010 08:04)
Avatar van Jelmerholland PHP beginner Omdat je de mysql_fetch_array($query) in de $row zet. Maar dmv van de while-loop bliijft dat script dat net zo lang doen totdat je ALLE records hebt gehad. Dan zet je in je while-loop een echo "TestTest<br/>"; en run je je script. Als jij 5 records hebt dan krijg je 5x die test. Nou kan je
$row['id'] en $row['kolomX'] inladen. Snappie? Hij zet zeg maar alles in een array die je verder kan gebruiken.

Neem anders even de mysql tutorial op w3schools door. http://www.w3schools.com > php > mysql

Koen schreef:
Let eens op je taal- en spellingsgebruik, dit is geen instant messaging client. Het is niet de eerste keer dat het me opvalt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.2s