I wonder if anyone can help - I want to select a table and create Javascript a array with the return values. Here's what I have so far:
con = mysql_connect("localhost","usrname","password");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$ql = "SELECT theMessage FROM email_message";
$result = mysql_query($ql) or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
$allMessage = $row['theMessage'] . " ";
}
$arr = array($allMessages);
$script = 'var newArr = new Array(' . implode(' ', $arr) . ');';
echo $script;
But instead, it just shows me empty array like this: var newArr = new Array();
解决方案
Change the line
$allMessage = $row['theMessage'] . " ";
to
$allMessages[] = $row['theMessage'] . " ";
(adding a s to the variable name, and adding the [])
because you are overwriting your result every time you read a new line, and afterwards read from a different (empty) variable!
Now you should implode the array not with spaces, you should implode it with ", " or with "', '", depending on what data is stored.
You could also put the output directly into the fetch-loop, but thats just an idea for you.
What you really should consider about is reading the json_encode() and json_decode():
Hope i could help.