anoniem Geplaatst: 9 juli 2002 Delen Geplaatst: 9 juli 2002 In een tabel wil ik graag dat de achtergrondkleur van een cel bepaald wordt door een uit de database gehaalde variabele. De (hexadecimale) kleurcode wordt d.m.v. een formulier in de db gezet. Het lukt me niet om (met PHP) deze variabele in de outputtabel te gebruiken. Inputcode:[code:1:1e1e80f832]<option value="#ff3300">blabla</option>[/code:1:1e1e80f832] Output:[code:1:1e1e80f832]for ($i=0;$i<mysql_num_rows($resultaat);$i++) { $row_wijz = mysql_fetch_row($resultaat); echo(" <tr> <td bgcolor='"$row_wijz[5]'">$row_wijz[1] $row_wijz[2]</td> <td bgcolor='"$row_wijz[5]'">$row_wijz[3]</td> <td bgcolor='"$row_wijz[5]'">$row_wijz[4]</td> </tr> "); } [/code:1:1e1e80f832] Iemand een idee? Quote Link naar reactie
anoniem Geplaatst: 9 juli 2002 Auteur Delen Geplaatst: 9 juli 2002 er klopt iets niet in het afbreken van je string of in het concateneren van de afzonderlijke delen ('t is maar hoe je het uitlegt). bovendien vind ik de for() constructie niet echt geweldig (maar da's persoonlijk). onderstaande zou het beter moeten doen (niet getest overigens) [code:1:153fca47c0] while ($row_wijz = mysql_fetch_row($resultaat)) { echo " <tr> <td bgcolor='", $row_wijz[5], "'>", $row_wijz[1], " ", $row_wijz[2], "</td> <td bgcolor='", $row_wijz[5], "'>", $row_wijz[3], "</td> <td bgcolor='", $row_wijz[5], "'>", $row_wijz[4], "</td> </tr> "; } [/code:1:153fca47c0] Quote Link naar reactie
anoniem Geplaatst: 9 juli 2002 Auteur Delen Geplaatst: 9 juli 2002 1) Heb je de query getest (komt er dus wel wat uit)? 2) Volgens mij is je code ook niet helemaal goed, je sluit tijdelijk de echo af en pompt er dan meteen een variabele in, daar moeten toch echt punten of komma's tussen...[code:1:5883a970ea]<td bgcolor='" . $row_wijz[5] . "'>" . $row_wijz[1] . $row_wijz[2] . "</td>[/code:1:5883a970ea] Daarnaast staan er ook nog wat ' en " op de verkeerde plaats (die hierboven wel goed staan (denk ik ;)). [edit]Shit, net te laat ;)[/edit] Quote Link naar reactie
anoniem Geplaatst: 9 juli 2002 Auteur Delen Geplaatst: 9 juli 2002 Annie, bedankt voor je reactie. 't werkt alleen niet.. :cry: [quote:4ee2c46322="Bill Gates"]1) Heb je de query getest (komt er dus wel wat uit)?[/quote:4ee2c46322] Ja, alles werkt, behalve de bgcolor. [quote:4ee2c46322="Bill Gates"]Daarnaast staan er ook nog wat ' en " op de verkeerde plaats (die hierboven wel goed staan (denk ik ;)). [/quote:4ee2c46322] Tiepfoutje, had ik al hersteld, maar zonder resultaat. Quote Link naar reactie
anoniem Geplaatst: 9 juli 2002 Auteur Delen Geplaatst: 9 juli 2002 Misschien handig als je je huidige code ook even plaatst? Daarnaast zou ik je query wel eens willen zien en dan vooral welke kolummen je ophaalt... Quote Link naar reactie
anoniem Geplaatst: 9 juli 2002 Auteur Delen Geplaatst: 9 juli 2002 Tja, geloof het of niet maar deze werkt wel!! :P [code:1:d507e7adbc]for ($i=0;$i<mysql_num_rows($resultaat);$i++) { $row_wijz = mysql_fetch_row($resultaat); echo(" <tr> <td bgcolor=' $row_wijz[5] '> $row_wijz[1] $row_wijz[2]</td> <td bgcolor=' $row_wijz[5] '> $row_wijz[3] </td> <td bgcolor=' $row_wijz[5] '> $row_wijz[4] </td> </tr> "); } [/code:1:d507e7adbc] Toch weer simpeler dan ik dacht... Quote Link naar reactie
anoniem Geplaatst: 9 juli 2002 Auteur Delen Geplaatst: 9 juli 2002 Toch een probleem met de ", ' en de . jes enzo dus ;) Je moet er alleen wel rekening mee houden dat de oplossing die je nu hebt traag is... Ik zal even een url zoeken waarin wat benchmarks staan... Hier dus: http://www.webgoeroe.net/item/117 en dan met name pagina 5. Echt iets om serieus rekening mee te houden vind ik. Quote Link naar reactie
anoniem Geplaatst: 10 juli 2002 Auteur Delen Geplaatst: 10 juli 2002 [quote:d441ac1a2a="Bill Gates"] Je moet er alleen wel rekening mee houden dat de oplossing die je nu hebt traag is... [/quote:d441ac1a2a] Suggestie voor een betere oplossing? Overigens geloof ik niet, na het artikel gelezen te hebben, dat voor mijn (relatief beperkte) toepassing de performance een probleem is. Zoals in het artikel ook vermeld, is het parsen meestal niet de bottleneck als het om snelheid gaat. [quote:d441ac1a2a="Annie"]bovendien vind ik de for() constructie niet echt geweldig (maar da's persoonlijk). [/quote:d441ac1a2a] Heb je hier misschien ook argumenten voor? Quote Link naar reactie
anoniem Geplaatst: 10 juli 2002 Auteur Delen Geplaatst: 10 juli 2002 De while loop is gewoon een kortere notatie en komt dus wat netter over (vind ik dan). Wat betreft het eerste punt:[code:1:e2445656b6]<?php while($row_wijz = mysql_fetch_row($resultaat)) { echo(" <tr> <td bgcolor='" . $row_wijz[5] . "'>" . $row_wijz[1] . " " . $row_wijz[2] . "</td> <td bgcolor='" . $row_wijz[5] . "'>" . $row_wijz[3] . "</td> <td bgcolor='" . $row_wijz[5] . "'>" . $row_wijz[4] . "</td> </tr>"); } ?>[/code:1:e2445656b6] Quote Link naar reactie
anoniem Geplaatst: 10 juli 2002 Auteur Delen Geplaatst: 10 juli 2002 de oplossing van gates scheelt een factor vijf. Te veel om te laten liggen lijkt mij, ook bij kleine toepassingen. Ik gebruikte ook altijd klakkeloos vars tussen " "...dat wordt hevig hercoden...:( Quote Link naar reactie
anoniem Geplaatst: 10 juli 2002 Auteur Delen Geplaatst: 10 juli 2002 Heb de zaak aangepast. Thanx Bill. [quote:51fc6f2631="zegwaard"]...dat wordt hevig hercoden...[/quote:51fc6f2631] Gelukkig heb ik nog niet zoveel in PHP geprutst..... :wink: Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen