0

私はこれを出力しようとしているimに取り組んでいるこのコードを持っています:

{
    title:"<?php echo $sender_fullname; ?>",
    mp3:"link",
},

これをphpで使用してjavascriptで表示する

//database include
require_once "db.php";

//get email from session 
$email = $_SESSION['username'];

//fetch user fullname and  id based on session
$name_query = mysql_query("SELECT fullname,id FROM users WHERE email = '$email'");
$name = mysql_fetch_object($name_query);

//fecth sender id, receiver id, audioclip, fullname and email
$query = "SELECT m.sender,m.receiver, m.audioclip, u.fullname, u.email 
                     FROM `users` AS u 
                     JOIN `messages` AS m ON m.receiver = u.id 
                     WHERE u.email = '".$email."'";

$result = mysql_query($query); 

これが同じものを出力するために何をすべきかというループです

while(
        $row = mysql_fetch_assoc($result)) { 
        $sender = $row['sender'];
        $sender_name_query = mysql_query("SELECT fullname FROM users WHERE id = '$sender'");
        $sender_name = mysql_fetch_object($sender_name_query);
        $sender_fullname = $sender_name->fullname;
        echo '{<br/>title:".'$sender_fullname'.",<br/>mp3:"link",<br/>},';      
    }   
4

3 に答える 3

0

phpをjavascriptに取り込む最良の方法は、phpの json_encodeを介してJSONを使用することです。

$rows = array();
while($row = mysql_fetch_assoc($result)) { 
    $sender = $row['sender'];
    $sender_name_query = mysql_query("SELECT fullname FROM users WHERE id = '$sender'");
    $sender_name = mysql_fetch_object($sender_name_query);
    $sender_fullname = $sender_name->fullname;
    $row['sender'] = $sender_fullname;
    $rows[] = $row;
}   

echo "<script type='text/javascript'>";
echo "var rows = " . json_encode($rows) . ";";
echo "</script>";
于 2013-02-04T17:46:18.177 に答える
0

あなたは次のようなことをすることができます:

while(
        $row = mysql_fetch_assoc($result)) { 
        $sender = $row['sender'];
        $sender_name_query = mysql_query("SELECT fullname FROM users WHERE id = '$sender'");
        $sender_name = mysql_fetch_object($sender_name_query);
        $sender_fullname = $sender_name->fullname;
        echo '{<br/>title:".'$sender_fullname'.",<br/>mp3:"link",<br/>},';
        print "<script>alert(\"$sender_fillname\")</script>";
    }

次に、スクリプトタグへのコードをjavascriptコードのように実行します。必要に応じて、php変数の値をjavascript変数に入れます。

<?
    $mivar = "hola mundo";
    print "<script>";
    print "var mivar = \"$mivar\"";
    print "</script>";
?>
于 2013-02-04T17:45:06.067 に答える
0

エラーは最後の行が原因です:

echo '{<br/>title:".'$sender_fullname'.",<br/>mp3:"link",<br/>},';

これは次のようになります。

echo '{<br/>title:"' . $sender_fullname . '",<br/>mp3:"link",<br/>},';

注1

これを書くことができます:

$sender_fullname = $sender_name->fullname;
echo '{<br/>title:"' . $sender_fullname . '",<br/>mp3:"link",<br/>},';

次のように簡単に:

echo '{<br/>title:"' . $sender_name->fullname. '",<br/>mp3:"link",<br/>},';

注2

mysql_*新しいコードで関数を使用しないでください。それらはもはや保守されておらず、公式に非推奨です赤いボックスがか? 代わりにプリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事は、どちらを使用するかを決めるのに役立ちます。PDO を選択する場合は、ここに良いチュートリアルがあります。

http://brightmeup.info/comment.htmlより

于 2013-02-04T17:49:25.657 に答える