geen resultaat is geen tekst.

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

geen resultaat is geen tekst.

Bericht door LazyTiger » 09 aug 2004, 18:17

ik heb de volgende code:

Code: Selecteer alles

$sql = "SELECT band, link
								FROM " . BANDS_TABLE . "
								WHERE band = '".$topic_title."'";
								 if( !($result = $db->sql_query($sql)) )
								{
                   message_die(GENERAL_ERROR, 'Could not obtain bands and artists from bands table', '', __LINE__, __FILE__, $sql);
                }
								while($row = $db->sql_fetchrow($result))
								{
								$link = '<a href="' . $row['link'] . '" target="_blank">Officiele site</a>';
								} 
nu geeft hij netjes de officiele sites weer in viewforum.php: http://www.muziekforumonline.nl/phpBB2/ ... um.php?f=6
echter, bij bands/artiesten die geen officiele site hebben staan in mijn database (zoals bijvoorbeeld type o negative en him) krijgen het resultaat van bovenstaande band/artiest die wel een link heeft.
hoe kan ik nu maken dat hij geen tekst weergeeft als hij niks bij die band/artiest gevonden krijgt en wel een link weergeeft als hij wel wat gevonden krijgt?

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 09 aug 2004, 19:31

Je moet $link wissen met unset() of door een lege string op te slaan, net voor de while() loop.

//edit
Bovendien: een lus is hier niet eens nodig omdat je telkens maar één rij verwacht. Dit voldoet dus ook:

Code: Selecteer alles

if ( $row = $db->sql_fetchrow($result) )
{
  $link = '<a href="' . $row['link'] . '" target="_blank">Officiele site</a>';

} else {

  $link = '';
}

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 09 aug 2004, 20:07

thanx. dat werkt!

overigens, nog een klein puntje, misschien dat je dat ook kunt oplossen.
de gehele code werkt niet als er een topic titel is met een aanhalingsteken erin.
dus bijvoorbeeld:
destiny's child
lil' kim
guns'n'roses

dan werkt de gehele code niet meer en krijg ik een fout.
dat komt door die aanhalingstekens omdat hij dan de code afsluit als het ware.
is hier wat aan te doen?

Gebruikersavatar
WebSiteNet
Berichten: 6524
Lid geworden op: 20 okt 2003, 16:56
Locatie: Wieringerwerf
Contacteer:

Bericht door WebSiteNet » 09 aug 2004, 20:21

Zoek:

Code: Selecteer alles

WHERE band = '".$topic_title."'"; 
Vervang met:

Code: Selecteer alles

WHERE band = '".addslashes($topic_title)."'"; 
Heel erg simpel eigenlijk. :D

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 09 aug 2004, 20:31

zat aan htmlspecialchars( te denken, maar dat is het dus niet ;)

Gesloten