2011-10-25 10 views
0

誰かが正しい軌道に乗るのを手助けすることができます。smilies :)を画像に置き換えますPHP

私はゲストブックを持っています、今私はスマイリーを変更しようとしています:)顔文字。

私はデータベースにある絵文字を表示することができますが、ゲストブックに笑顔を入力するとアイコンに変わりません。私はwhileループで何かと思っていますが、ルーキーなので私はそれを得ることができません。

私のテキストエリアコード

<form action='process.php' method='post'> 

<p>Name: <input type='text' name='name' id='name' /> </p> 
<p>Email: <input type='text' name='email' id='email' /> </p> 
<p>Comment: </p> 
    <p><textarea name='comment' rows="7" cols="40"></textarea></p> 
    <hr /> 
    <p><input type='submit' name='submit' value='Post Entry' /></p> 
     </form> 

これは私のPHPコードです。

<?php 
    $path = "images"; 

    $db = mysql_connect('localhost', 'root', '') or die("Error: Couldn't connect to database"); 
    $db = mysql_select_db("guestbook"); 

    $query = "SELECT emote, image FROM emoticons"; 
    $result = mysql_query($query); 


    /*EMO ovanför*/ 

    $connect = mysql_connect('localhost','root','') or die ('FEL INDEX'); 
$db = mysql_select_db('guestbook'); 

    $query = mysql_query('select * from guestbook order by id desc'); 
    $num_rows = mysql_num_rows($query); 

    if($num_rows > 0){ 

    while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    $emotes[] = $row['emote']; 
    $images[] = "<img src='" . $path . "/" . $row['image'] . "'>"; 
    } 
    // Query the database, and assign the result-set to $result 

     //display entries 
     while($row = mysql_fetch_assoc($query)){ 
      echo " 
      <p> 
      <b>Name: </b>".$row['name']." 

      </p> 

      <p> 
      <b>Email: </b>".$row['email']." 

      </p> 

      <p> 
      <b>Comment: </b>".$row['comment']." 
      </p> 

      <p> 
      <b>Date: </b>".$row['date']." | Time: ".$row['time']." 
      </p> 
      <hr /> 
      "; 

     } 
    $text = ":) ;) :(:p "; 
    echo str_replace($emotes, $images, $text); 

     } 



    ?> 

私の最後の行の1つがデータベースからイメージを取得しています。それは魅力のように働くが、私がゲストブックに笑顔を書いたときはそうではない。

+1

を参照してください。新しいループの中でそれを置き換える場合は、すべてのスマイリーのために、それはよりよいだろうとコピーできます://www.devarticlesを.com/c/a/MySQL/Quick-and-Dirty-Emoticons/1 /、タイトルが「すばやく汚れています」 – david

+0

データベースから顔文字を表示する方法を理解するのに役立ちましたが、 )< 申し訳ありませんが、私は初心者です:) – Dymond

+0

あなたの 'textarea'入力コードはどのような線量とJSのように見えますか投稿してください – david

答えて

0

textareaに直接emoticons imagesを表示することはできません。たとえば、SO線量のように入力をコピーし、フォーマットされた出力をhtml要素に表示する必要があります。あなたの中で直接

$row['comment'] =str_replace(':)','<img src="smile.jpg">', $row['comment']); 

+0

それは本当に何を達成しようとしているのですが、どうすればいいのですか?/ – Dymond

1

あなたは、このように画像にスマイルマークする必要があります文字列を交換する必要があります。

画像へのパスは正しいものでなければなりません。

あなたはちょうどあなたがあなたのスマイリーマークがされた配列を作成し、これは、HTTPを助けている場合

+0

しかし、私はこれを変更することができます $ row ['comment'] = str_replace( ':)'、 ''、$ row ['comment']); これは$ images [] = ""です。 私は配列のusedデータベースから笑顔を得ることができますか? – Dymond

+0

もちろんデータベースから取得することができます。最初の行は2番目の行とは異なるものです。データベースからスマイルを配列に読み込み(実際には2つではなく、1つの値をインデックスとして使用)、foreachを使用して配列をループし、内容を置換します – Flo

+0

それを試みます:) – Dymond

関連する問題