login  Naam:   Wachtwoord: 
Registreer je!
 Forum

While loop in while loop?

Offline Roosje - 19/07/2005 18:02 (laatste wijziging 19/07/2005 18:06)
Avatar van RoosjeNieuw lid Hoe kan ik het onderstaande het beste aanpakken?

Ik heb de volgende gegevens:
id : 1
naam : naam_1
categorie : cat_1
locatie : locatie_1

id : 2
naam : naam_2
categorie : cat_1
locatie : locatie_2

id : 3
naam : naam_3
categorie : cat_1
locatie : locatie_1


Ik wil graag de gegevens zo neerplaatsen:
locatie_1
naam_1
naam_3

locatie_2
naam_2


Dit is mijn laatste probeersel (die uiteraard niet naar behoren werkt ):

  1. CREATE TABLE `test` (
  2. `id` int(11) NOT NULL auto_increment,
  3. `categorie` varchar(255) NOT NULL default '',
  4. `locatie` varchar(255) NOT NULL default '',
  5. `naam` varchar(255) NOT NULL default '',
  6. PRIMARY KEY (`id`)
  7. ) TYPE=MyISAM;
  8.  
  9.  
  10. $locatie=mysql_query("
  11. SELECT locatie
  12. FROM test
  13. ") or die (mysql_error());
  14.  
  15.  
  16. while($aFetch=mysql_fetch_assoc($locatie))
  17. {
  18.  
  19. echo "<div class=\"titel\">".$aFetch['locatie']."</div><br>";
  20.  
  21. $categorie=mysql_query("
  22. SELECT *
  23. FROM test
  24. WHERE
  25. categorie = '".$_GET['cat']."' AND
  26. locatie = '".$aFetch['locatie']."'
  27. ") or die (mysql_error());
  28.  
  29. while($aFetch=mysql_fetch_assoc($categorie))
  30. {
  31.  
  32. echo "".$aFetch['naam']."<br>";
  33.  
  34. } // afsluiten categorie
  35.  
  36.  
  37. } // afsluiten locatie



Bovenstaande geeft dus 2 keer locatie_1 met dezelfde gegevens.

Ik hoop dat het zo duidelijk is uitgelegd.

4 antwoorden

Gesponsorde links
Offline Tuinstoel - 19/07/2005 18:07
Avatar van Tuinstoel PHP expert Zou je niet beter verschillende variable namen kunnen gebruiken?
Dan zou je de tweede $aFetch misschien $aFetchSec kunnen noemen, want dit kan enige tramelant geven.
Offline Thomas - 19/07/2005 19:07
Avatar van Thomas Moderator 2 Queries van maken ?
Eerst met een query opvragen welke verschillende locaties er allemaal zijn, en dan (met een andere query) de namen bij deze locaties opvragen ?
Offline Roosje - 19/07/2005 19:49 (laatste wijziging 19/07/2005 19:49)
Avatar van Roosje Nieuw lid De oplossing is (eigenlijk heel logisch ) GROUP BY toevoegen.

  1. $locatie=mysql_query("
  2. SELECT locatie
  3. FROM test
  4. GROUP BY
  5. locatie
  6. ") or die (mysql_error());
Offline Thomas - 19/07/2005 23:21
Avatar van Thomas Moderator Hmm ? Werkt dat ?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.178s