smilies ersetzen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • smilies ersetzen

    Hallo Leute ich habe folgenden code:

    PHP-Code:
    <?PHP
    $sql 
    "SELECT * FROM ".$table_prefix."postings ORDER by id DESC";
    $result $db->sql_query($sql);

    $entries = array();
    while (
    $fetch_entries mysql_fetch_assoc($result))
    {
      
    array_push($entries,array(
      
    "id" => $fetch_entries['id'], 
      
    "name" => $fetch_entries['name'],
      
    "mail" => $fetch_entries['mail'],
      
    "homepage" => $fetch_entries['homepage'],
      
    "message" => $fetch_entries['message'],
      
    "date" => $fetch_entries['date'],
      
    "time" => $fetch_entries['time']));
    }
    $db->sql_freeresult($result);

    // replace smilies
    $sql "SELECT * FROM ".$table_prefix."smilies";
    $result $db->sql_query($sql);
      
    while (
    $smilies mysql_fetch_assoc($result))
    {
      
    str_replace($smilies['code'],"<img src=\"images/smilies".$smilies['smile_url']."\"   alt=\"".$smilies['emoticon']."\" />",$entries['message']);
    }
    $db->sql_freeresult($result);


    $t->assign("dates",$entries);
    $t->display("subBlue/index.tpl");
    ?>
    in der ersten while schleife werden die einträge für mein gästebuch geholt... und in der 2ten schleife die smilies... aber irgendwie macht er mir die 2te while schleife nicht... oder nicht richtig...denn es werden keine smilies ersetzt...wenn ich die untere while schleife in die obere setze bekomme ich ein fehler das mysql_fetch_assoc ein invalider mysql befehl sei..

    aber so wie es gerade ist, wird der eintrag immernoch so angezeigt:

    ssdsd :-? :-( :?: :neutral: :roll: ops: :!: :-( :-?
    Bitte um hilfe
    Mfg Tobias Dosch

  • #2
    leute ich komm echt nicht weiter......
    Mfg Tobias Dosch

    Kommentar


    • #3
      wer drängelt und die regeln nicht befolgt, macht sich sehr unsympatisch.
      hättest du das gedacht?

      ich nehme stark an, dass du mit str_replace() in der zweiten schleife die einträge in $entries falsch addressierst.

      schau dir mit print_r() an, wie das array aussieht. dann überlege dir, wie du an die inhalte der nachrichten kommst.

      Kommentar


      • #4
        Array ( [0] => Array ( [id] => 29 [name] => dsfds [mail] => fdfdsf@sdsd.de [homepage] => [message] => dasdsdad [date] => 06.08.2006 [time] => 13:05:10 ) [1] => Array ( [id] => 28 [name] => sadsad [mail] => sdasd@sdsd.de [homepage] => [message] => ssdsd :-? :-( :?: :neutral: :roll: ops: :!: :-( :-? [date] => 06.08.2006 [time] => 12:48:17 ) )
        so sieht das aray aus das mit array_push in der ersten schleife erweitert wird.. aber wie ich genau rankomme weiß ich nicht wirklich.
        Mfg Tobias Dosch

        Kommentar


        • #5
          naja, die eigentlichen inhalte befinden sich wohl in
          Code:
          $entries[0]['message']
          $entries[1]['message']
          etc.
          jetzt überlege dir, was du tun kannst.

          Kommentar


          • #6
            ich würde mal sagen über $entries[]['message'] komme ich nicht ran das würde nen fehler geben.. da würde mir glaube ich ne foreach schleife helfen.. wenn ich die nur öfter benutzen würde.... ich brauch nie schleifen auser die while...
            Mfg Tobias Dosch

            Kommentar


            • #7
              da würde mir glaube ich ne foreach schleife helfen [...]
              ja, würde gehen.

              Kommentar


              • #8
                könntest du mir da bisschen helfen? sonst muss ich wieder ewig probieren, was mir zwar nicht schaden würde aber ich bin nicht in der stimmung.. ich muss hier alle 10 sekunden nen neues internetfenster wegklicken....
                Mfg Tobias Dosch

                Kommentar


                • #9
                  eheh..
                  PHP-Code:
                  $entries = array();
                  while (
                  $fetch_entries mysql_fetch_assoc($result))
                  {
                    
                  array_push($entries,array(
                    
                  "id" => $fetch_entries['id'], 
                    
                  "name" => $fetch_entries['name'],
                    
                  "mail" => $fetch_entries['mail'],
                    
                  "homepage" => $fetch_entries['homepage'],
                    
                  "message" => $fetch_entries['message'],
                    
                  "date" => $fetch_entries['date'],
                    
                  "time" => $fetch_entries['time']));
                  }
                  $db->sql_freeresult($result);

                  // replace smilies
                  $sql "SELECT * FROM ".$table_prefix."smilies";
                  $result $db->sql_query($sql);
                    
                  while (
                  $smilies mysql_fetch_assoc($result))
                  {
                    foreach(
                  $entries as $text)
                    {
                      
                  str_replace($smilies['code'],"<img src=\"images/smilies".$smilies['smile_url']."\"   alt=\"".$smilies['emoticon']."\" />",$text['message']);
                    }
                  }
                  $db->sql_freeresult($result); 
                  hab mal foreach reingebastelt... würde das stimmen? ich benutz das echt selten bis garnicht
                  Mfg Tobias Dosch

                  Kommentar


                  • #10
                    würde das stimmen?
                    hast du keine test-umgebung?

                    aber wenn ich das richtig sehe - nein.

                    Kommentar


                    • #11
                      dann helf doch bitte... ich hab foreach nicht einmal benutzt.
                      Mfg Tobias Dosch

                      Kommentar


                      • #12
                        nimm eine for-schleife, wenn es für dich einfacher ist.

                        Kommentar


                        • #13
                          so?

                          PHP-Code:
                          <?PHP
                          $sql 
                          "SELECT * FROM ".$table_prefix."postings ORDER by id DESC";
                          $result $db->sql_query($sql);

                          $entries = array();
                          while (
                          $fetch_entries mysql_fetch_assoc($result))
                          {
                            
                          array_push($entries,array(
                            
                          "id" => $fetch_entries['id'], 
                            
                          "name" => $fetch_entries['name'],
                            
                          "mail" => $fetch_entries['mail'],
                            
                          "homepage" => $fetch_entries['homepage'],
                            
                          "message" => $fetch_entries['message'],
                            
                          "date" => $fetch_entries['date'],
                            
                          "time" => $fetch_entries['time']));
                          }
                          $db->sql_freeresult($result);

                          // replace smilies
                          $sql "SELECT * FROM ".$table_prefix."smilies";
                          $result $db->sql_query($sql);
                          $smilies mysql_fetch_assoc($result);
                            for(
                          $i=1$i == mysql_num_rows($result); $i++)
                            {
                              
                          str_replace($smilies['code'],"<img src=\"images/smilies".$smilies['smile_url']."\"   alt=\"".$smilies['emoticon']."\" />",$entries[$i-1]['message']);
                            }
                          $db->sql_freeresult($result);


                          $t->assign("dates",$entries);
                          $t->display("subBlue/index.tpl");
                          ?>
                          Mfg Tobias Dosch

                          Kommentar


                          • #14
                            meine so

                            PHP-Code:
                            <?PHP
                            $sql 
                            "SELECT * FROM ".$table_prefix."postings ORDER by id DESC";
                            $result $db->sql_query($sql);

                            $entries = array();
                            while (
                            $fetch_entries mysql_fetch_assoc($result))
                            {
                              
                            array_push($entries,array(
                              
                            "id" => $fetch_entries['id'], 
                              
                            "name" => $fetch_entries['name'],
                              
                            "mail" => $fetch_entries['mail'],
                              
                            "homepage" => $fetch_entries['homepage'],
                              
                            "message" => $fetch_entries['message'],
                              
                            "date" => $fetch_entries['date'],
                              
                            "time" => $fetch_entries['time']));
                            }
                            $db->sql_freeresult($result);

                            // replace smilies
                            $sql "SELECT * FROM ".$table_prefix."smilies";
                            $result $db->sql_query($sql);
                            $smilies mysql_fetch_assoc($result);

                              for(
                            $i=1$i == $smilies$i++)
                              {
                                
                            str_replace($smilies['code'],"<img src=\"images/smilies".$smilies['smile_url']."\"   alt=\"".$smilies['emoticon']."\" />",$entries[$i-1]['message']);
                              }
                            $db->sql_freeresult($result);


                            $t->assign("dates",$entries);
                            $t->display("subBlue/index.tpl");
                            ?>
                            funzt aber net
                            Mfg Tobias Dosch

                            Kommentar


                            • #15
                              wieso fragst du mich, statt es auszuprobieren?

                              warum bringst du keine vernünftige fehlerbeschreibung, sonder plapperst irgendein zeug?

                              was soll $i == $smilies bedeuten?
                              Zuletzt geändert von penizillin; 06.08.2006, 18:54.

                              Kommentar

                              Lädt...
                              X