kostenloser Webspace werbefrei: lima-city


Smileys über Datenbank

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    fuhnefreak

    Kostenloser Webspace von fuhnefreak

    fuhnefreak hat kostenlosen Webspace.

    Ich habe bis jetzt meine Smileys immer mit ref="/tag/array">Arrays und str_replace eingebunden. Jetzt möchte ich jedoch alles über die Datenbank machen. Ist soetwas überhaupt möglich, und wenn ja, wie?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. n******t

    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
  5. Autor dieses Themas

    fuhnefreak

    Kostenloser Webspace von fuhnefreak

    fuhnefreak hat kostenlosen Webspace.

    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
  6. $res = mysql_query("SELECT * FROM smiley");
    while($row = mysql_fetch_array($res))
    {
           str_replace($row['smiley'], $row['code'], ...);
    }
    ungetestet, sollte aber funktionieren.

    mfg
  7. Autor dieses Themas

    fuhnefreak

    Kostenloser Webspace von fuhnefreak

    fuhnefreak hat kostenlosen Webspace.

    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
  8. Du musst natürlich auch den Rückgabewert von str_replace irgendwo speichern, sonst bringt das ganze replace nix.

    mfg
  9. Autor dieses Themas

    fuhnefreak

    Kostenloser Webspace von fuhnefreak

    fuhnefreak hat kostenlosen Webspace.

    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 :stupid:.

    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.
  10. fuhnefreak schrieb:
    Ich glaube ich bin einfach zu blöd dafür :stupid:.
    Da du es selbst gesagt hast: ja.

    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
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!