Pagina 1 van 1

geen resultaat is geen tekst.

Geplaatst: 09 aug 2004, 18:17
door LazyTiger
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?

Geplaatst: 09 aug 2004, 19:31
door mosymuis
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 = '';
}

Geplaatst: 09 aug 2004, 20:07
door LazyTiger
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?

Geplaatst: 09 aug 2004, 20:21
door WebSiteNet
Zoek:

Code: Selecteer alles

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

Code: Selecteer alles

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

Geplaatst: 09 aug 2004, 20:31
door LazyTiger
zat aan htmlspecialchars( te denken, maar dat is het dus niet ;)