[英]PHP Code is not displaying all results from databse in site but displays them in database
[英]get results from database in php and output them as a loop for displaying in javascript
我有这段代码即时通讯正在尝试输出此:
{
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/>},';
}
你可以做一些像:
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>";
}
然后,如果要将php变量的值放入javascript变量中,可以将脚本标记中的代码像javascript代码一样运行:
<?
$mivar = "hola mundo";
print "<script>";
print "var mivar = \"$mivar\"";
print "</script>";
?>
使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>";
该错误是由最后一行引起的:
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, 这是一个很好的教程 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.