login  Naam:   Wachtwoord: 
Registreer je!
 Forum

empty + ul binnen PHP (Opgelost)

Offline Guido2 - 29/07/2010 08:13 (laatste wijziging 29/07/2010 21:32)
Avatar van Guido2Nieuw lid Ik wil gegevens uit de database halen en die in een rij onder elkaar weergeven.

Maar in de database is niet alles ingevuld.

Daarom gebruik ik de functie 'empty', want die zorgt ervoor dat er geen regels overgeslagen worden, wanneer de cel in de database leeg is.

Voor het rangschikken van de gegevens gebruik ik de opsomming <ul> en <li>. Deze opsomming zorgt ervoor dat er voor elk item een bullitpoint komt te staan.

Nu werkt de aparte 'empty'-functie wel goed, maar als ik deze functie met de opsommingsfunctie combineer, werkt het niet goed.

Dan komt er een bullitpoint als er geen informatie vermeld kan worden. En de gegevens uit de database die opgevraagd worden blijven achterwege.

Nu is mijn vraag of deze twee functies wel zo gecombineerd kunnen worden dat ze allebei wel of niet de output laten zien.

Als PHP onder de while-lus php afgesloten wordt, is het als volgt mogelijk.

  1. <ul>
  2. <?php
  3. if(!empty($optie7)){
  4. echo '<li> ' .$optie7. ' </li>';
  5. }
  6. ?>


Maar als de PHP niet is afgesloten, lukt het niet meer. De volgende poging laat alleen een bullitpoint zien, maar geen informatie uit de database, terwijl dat er wel in staat.
  1. if (!empty($row['optie7']))
  2. {
  3. echo '<li>' .$row['optie7 ']. '</li>' ;


Wat doe ik fout?

Dit staat in de database.



pasid__optie1___optie2_optie3_optie4__optie5_optie6_ optie7
1_____blauw___geel___1_____ 2009_
2_____wit_____geel___2_____ 2009_______________paars
3_____zwart___geel___3_____ 2009_________grijs__paars
4_____geel____geel___7_____ 2009_________grijs__paars

4 antwoorden

Gesponsorde links
Offline valles10 - 29/07/2010 09:06 (laatste wijziging 29/07/2010 09:06)
Avatar van valles10 HTML interesse **Ik en de andere sitemasters zouden graag wat meer code van je:$**
toon de rest van je php ook eens ;)
Offline Guido2 - 29/07/2010 09:39 (laatste wijziging 30/07/2010 08:57)
Avatar van Guido2 Nieuw lid Hieronder vermeld ik alle code + opmaak3 en de menustyle, terwijl ik de laatste 2 (nog) niet in de map gezet heb.


De index krijg ik niet op de plaatscode. Daarom voeg ik hem hieronder.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5.  
  6. <link rel= "stylesheet" href="menu_style.css" type="text/css" />
  7. <link href="opmaak3.css" rel="stylesheet" type="text/css"/>
  8.  
  9. </head>
  10.  
  11. <?php
  12.  
  13. include '../../navigatie/nav.inc';
  14.  
  15. ?>
  16. <div id="container">
  17.  
  18. <div id="header3">
  19.  
  20. <h2>Typ 7<h2>
  21.  
  22. <form action="getallenlijst.php" method="post">
  23. <input type="int" name="optie3" value"" size="30">
  24. <input type="Submit" value="Klik">
  25. <input type="Button"value="Terug" onclick="javascript:history.back();">
  26. </form>
  27.  
  28. </div>
  29.  
  30.  
  31. </div>


Hier volgt de vernieuwde plaatscode van getallenlijst.php
Plaatscode: 139778

Offline Martijn - 29/07/2010 10:58 (laatste wijziging 29/07/2010 10:59)
Avatar van Martijn Crew PHP wat je beter kunt doen is ipv niets bv een streepje ( - ) als waarde neerzetten. Een database vindt t niet zo fijn om een lege waarde te hebben. En los daarvan, dan kun je veel simpeler je if dingetje maken 
  1. if ($row['optie7']=="-"){
  2. echo '<li>' .$row['optie7 ']. '</li>' ;
  3. }


edit: In beide stukjes code die je hebt gegeven in je topic mis je de sluitende accolade -> }
Kan een foutje zijn, maar kan ook je fout zijn
Offline Guido2 - 29/07/2010 21:02 (laatste wijziging 30/07/2010 08:57)
Avatar van Guido2 Nieuw lid Hartelijk dank voor de tip over de eindaccolade.

In 'getallenlijst' heb ik de eindaccolade erin gezet, en ik heb het in mijn bestand aangepast. In de plaatscode van het vorige bericht heb ik het ook veranderd.

De andere ontbrekende eindaccolade heb ik niet gevonden.

Als ik jouw voorbeeld met een streepje plaats, komt er geen punt en ook geen tekst. Ik heb hem ook onderaan in de getallenlijst van de plaatscode in het vorige bericht gezet, en dat staat zo op internet.

Ik heb alle verschillen 'empty'-voorbeelden een voor een apart in het bestand gezet om te kijken of ze elkaar beïnvloeden, maar dat is ook niet het geval.

Maar het probleem is wel opgelost!

De spatie in ['optie7] zorgde voor een 'false', waardoor de tekst niet op het scherm kwam.

Hartelijk dank voor je hulp.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s