0

i have this code im working on im trying to output this :

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

using this in php to display it in 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); 

here's the loop what should i do to output the same

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/>},';      
    }   
rami987597
  • 51
  • 7
  • 1
    And what exactly is your question? – insertusernamehere Feb 04 '13 at 17:38
  • now im geting this error Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in... on line 34 ` 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 '{
    title:".'$sender_fullname'.",
    mp3:"link",
    },' ; }` line 34 `echo '{
    title:".'$sender_fullname'.",
    mp3:"link",
    },' ;`
    – rami987597 Feb 04 '13 at 17:42
  • I've added an answer what's causing the error. – insertusernamehere Feb 04 '13 at 17:53

3 Answers3

0

you can do some like :

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>";
    }

and then the code into the script tag run like javascript code if you wants puts the value of a php variable into a javascript variable you can do :

<?
    $mivar = "hola mundo";
    print "<script>";
    print "var mivar = \"$mivar\"";
    print "</script>";
?>
lindosekai
  • 174
  • 8
0

The best way to get php into javascript is to use JSON via php's json_encode.

$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>";
Marc
  • 416
  • 3
  • 8
0

The error is caused by the last line:

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

It should be this:

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

Note 1

You can write this:

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

easily as:

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

Note 2

Please, don't use mysql_* functions in new code. They are no longer maintained and are officially deprecated. See the red box? Learn about prepared statements instead, and use PDO, or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.

from http://brightmeup.info/comment.html

Zoe
  • 27,060
  • 21
  • 118
  • 148
insertusernamehere
  • 23,204
  • 9
  • 87
  • 126