smilies ersetzen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #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.

      Comment


      • #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

        Comment


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

          Comment


          • #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

            Comment


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

              Comment


              • #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

                Comment


                • #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

                  Comment


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

                    aber wenn ich das richtig sehe - nein.

                    Comment


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

                      Comment


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

                        Comment


                        • #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

                          Comment


                          • #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

                            Comment


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

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

                              was soll $i == $smilies bedeuten?
                              Last edited by penizillin; 06-08-2006, 17:54.

                              Comment

                              Working...
                              X