2

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 = '<script>var newArr = new Array(' . implode(' ', $arr) . ');</script>';
echo $script;

But instead, it just shows me empty array like this: var newArr = new Array();

2 Answers 2

3

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():

http://www.php.net/manual/en/function.json-encode.php

http://www.php.net/manual/en/function.json-decode.php

Hope i could help.

Sign up to request clarification or add additional context in comments.

Comments

0

have you considered using json_encode()?

I would use a mysql_fetch_assoc, then in my 'while' loop, push each item into a php array, then use the built in json_encode function to create a javascript object which you can easily use.

EDIT: Do NOT use mysql_ functions. There are similar functions in PDO and MySQLi to achieve the same goal. Use those.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.