Smileys über Datenbank
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
auslese
aussehen
bestehenden code
bild
code
datei
datenbank
datum
fehler
funktionieren
glauben
image
nachricht
pfad
re
schleife
speichern
umstellung
url
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das funktioniert komplett gleich, nur dass dein Array, statt in der php-Datei selbst definiert zu sein, aus der Datenbank kommt.
Das heißt du musst einfach die Daten aus der Datenbank so auslesen, dass sie gleich aussehen wie vor der umstellung auf die Datenbank, dann kannst du den bestehenden Code einfach wiederverwenden.
mfg -
syberpsace schrieb:
Das funktioniert komplett gleich, nur dass dein Array, statt in der php-Datei selbst definiert zu sein, aus der Datenbank kommt.
Das heißt du musst einfach die Daten aus der Datenbank so auslesen, dass sie gleich aussehen wie vor der umstellung auf die Datenbank, dann kannst du den bestehenden Code einfach wiederverwenden.
mfg
Erstmal danke für deine Antwort.
Aber irgendwie bekomme ich das nicht richtig hin. Mein bisheriger Ansatz:
$smdb = mysql_query("SELECT smiley FROM smiley"); $smdb2 = mysql_query("SELECT code FROM smiley"); $normal = mysql_fetch_assoc($smdb); $smiley = mysql_fetch_assoc($smdb2);
Es funktioniert nur der erste Smiey in der Datenbank.
Was mache ich falsch?
naturfit schrieb:
Wenn du gemeint hast, ob du Bilder (Smileys) in die Datenbank speichern kannst, ja das geht. Google mal nach "save image in mysql" bei phpacademy.org gibts glaub ich auch ein tutorial dazu (entweder du speicherst den pfad zum Bild oder überhaupt das ganze Bild)
MfG
Dominic
Ich habe in der DB den Smileycode (z.B. <img src="../smileys/smile.png" alt=":-)">) gespeichert.
Beitrag zuletzt geändert: 31.8.2012 12:37:56 von fuhnefreak -
$res = mysql_query("SELECT * FROM smiley"); while($row = mysql_fetch_array($res)) { str_replace($row['smiley'], $row['code'], ...); }
ungetestet, sollte aber funktionieren.
mfg -
syberpsace schrieb:
$res = mysql_query("SELECT * FROM smiley"); while($row = mysql_fetch_array($res)) { str_replace($row['smiley'], $row['code'], ...); }
ungetestet, sollte aber funktionieren.
mfg
Funktioniert leider immer noch nicht. Hier mal der aktuelle Codeabschnitt:
$nachrichtunb = $allout->nachricht; $nachricht = wordwrap($nachrichtunb, 112, "\n", true); $res = mysql_query("SELECT * FROM smiley"); while($row = mysql_fetch_array($res)) { str_replace($row['smiley'], $row['code'], $nachricht); } echo nl2br($nachricht);
Das ganze befindet sich jedoch auch alles in einer while-Schleife. Ich weiß nicht, ob das vielleicht damit zusammenhängt. Oder könnte es auch ein Fehler in der Datenbank sein? Hier ein Screenshot.
Beitrag zuletzt geändert: 31.8.2012 13:08:42 von fuhnefreak -
Du musst natürlich auch den Rückgabewert von str_replace irgendwo speichern, sonst bringt das ganze replace nix.
mfg -
syberpsace schrieb:
Du musst natürlich auch den Rückgabewert von str_replace irgendwo speichern, sonst bringt das ganze replace nix.
mfg
Ich glaube ich bin einfach zu blöd dafür .
Ich habe es jetzt so gemacht:
$nachrichtunb = $allout->nachricht; $nachrichtbe = wordwrap($nachrichtunb, 112, "\n", true); $res = mysql_query("SELECT smiley, code FROM smiley"); while($row = mysql_fetch_array($res)) { $nachricht = str_replace($row['smiley'], $row['code'], $nachrichtbe); } echo nl2br($nachricht);
Irgendwie kriege ich es einfach nicht hin. -
fuhnefreak schrieb:
Da du es selbst gesagt hast: ja.
Ich glaube ich bin einfach zu blöd dafür .
Um den Fehler zu finden, kannst du dir zB innerhalb der Schleife eine Ausgabe machen lassen (bespielsweise $row).
Damit kannst du herausfinden, wo es hakt.
mfg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage