Ik heb in mijn database een table aangemaakt genaamd "db_smiley" met daarin 2 fields respectievelijk
"url" en "code". Waarbij de url de plaats is waar de smileys staan. En code de text is die ingetypt moet worden om een bepaalde smiley te krijgen.
Nu heb ik een php gemaakt, genaamd include.php, met daarin de volgende functie:
[php]<?function postify($message) { # Text vervange door smileys in database $db_smiley = $GLOBALS['db_smiley']; $query = mysql_query("SELECT * FROM $db_smiley") or die(mysql_error()); while($smiley = mysql_fetch_array($query)) { $message = str_replace("$smiley
Nu heb ik ook een php file, genaamd functions.php, waarin onder andere het viewen van de bestaande post in voor komt. Wat dus de bedoeling is dat als de post weergegeven moeten worden hij deze uit de db haalt, vervolgens de strings die dat nodig hebben omzet en vervolgens weergeeft. Hier heb ik de code:
Nu werkt bovenstaande code wel (zonder smileys dan) als ik de regel "$post[message] = postify($post[message]);" weglaat. Maar de regel tussen de smileys roept juist de omzet functie aan voor de smileys. Als ik nu met bovenstaande code de post wil viewen krijg ik de volgende melding:
You have an error in your SQL syntax near '' at line 1
Heeft iemand een idee/oplossing?
"url" en "code". Waarbij de url de plaats is waar de smileys staan. En code de text is die ingetypt moet worden om een bepaalde smiley te krijgen.
Nu heb ik een php gemaakt, genaamd include.php, met daarin de volgende functie:
[php]<?function postify($message) { # Text vervange door smileys in database $db_smiley = $GLOBALS['db_smiley']; $query = mysql_query("SELECT * FROM $db_smiley") or die(mysql_error()); while($smiley = mysql_fetch_array($query)) { $message = str_replace("$smiley
code:
1
| ", "[img]\"./icons/$smiley[url]\"[/img]", $message); } $message = eregi_replace("\\[img\]([^\\\[]*)\\[/img\]", "[img]\"\\1\"[/img]", $message); $message = eregi_replace("\\[url\]([^\\\[]*)\\[/url\]", "<a href=\"\\1\">\\1</a>", $message); return $message;}?> |
Nu heb ik ook een php file, genaamd functions.php, waarin onder andere het viewen van de bestaande post in voor komt. Wat dus de bedoeling is dat als de post weergegeven moeten worden hij deze uit de db haalt, vervolgens de strings die dat nodig hebben omzet en vervolgens weergeeft. Hier heb ik de code:
PHP:
1
| <?$post_query = mysql_query("SELECT * FROM posts WHERE (TopicID='$topicID') ORDER BY TimeStamp"); while ($post = mysql_fetch_array($post_query)) $post[message] = postify($post[message]); { <TR> <TD WIDTH=82% BGCOLOR="#F7FFCE" HEIGHT=28 VALIGN=TOP> <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=5 WIDTH=100%> <TR> <TD> <P><FONT SIZE="2" FACE="Tahoma,Trebuchet MS,Arial,Helvetica"><?php echo $post['Post'] ?></FONT> </TD> </TR> </TABLE> </TD> <TD WIDTH=18% BGCOLOR="#E7F784" VALIGN=TOP> <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=5 WIDTH=100% > <TR> <TD> <P ALIGN=center><FONT SIZE="2" FACE="Tahoma,Trebuchet MS,Arial,Helvetica" color=#000000>Gepost door: <A HREF="mailto:<?php echo $post['Email'] ?>"> <FONT COLOR=#000000><?php echo $post['Name'] ?></A> <BR><BR> <A HREF="edit-post.php?postID=<?php echo $post['ID'] ?>">[img]"icons/edit.gif"[/img]</a>&nbsp <A HREF="delete-post.php?postID=<?php echo $post['ID'] ?>">[img]"icons/delete.gif"[/img]</a> </TD> </TR> </TABLE> </TD></TR>?> |
Nu werkt bovenstaande code wel (zonder smileys dan) als ik de regel "$post[message] = postify($post[message]);" weglaat. Maar de regel tussen de smileys roept juist de omzet functie aan voor de smileys. Als ik nu met bovenstaande code de post wil viewen krijg ik de volgende melding:
You have an error in your SQL syntax near '' at line 1
Heeft iemand een idee/oplossing?
Always shoot for the moon. Even if you miss you will land among the stars...