如何将MYSQL列存储为数组

时间:2014-06-10 20:20:42

标签: javascript php

实际上我试图将mysql的结果存储为数组(javascript)。所以我尝试这样..当我在数据库中存储整数值时,它工作得很好。但如果我在数据库中存储varchar变量,我没有得到任何值。有人帮助我。

var tab_no = [<?PHP  $qry4 = mysql_query("SELECT table_no FROM table_info");
                     $i4 = mysql_num_rows($qry4);

                    while($res4 = mysql_fetch_array($qry4))
                        {
                            $i4--;
                            echo $res4['table_no']; 
                            if($i4!="0"){
                            echo ",";}
                        }
            ?>];

数据库表

 _________________
| id | table_no   |
 ------------------
| 1  |     1A     |
| 2  |     3B     |
| 3  |     4D     |
 ------------------        

现在我想要的是存储table_no所有值都像javascript这样的数组

  var  tab_no =  [ 1A,3B,4D ];

2 个答案:

答案 0 :(得分:2)

您需要将值封装在&#34;因为它是一个字符串。

示例:

  var  tab_no =  [ "1A","3B","4D" ];

(简而言之,一个解决方案就是改变你的PHP)

echo $res4['table_no']; 

echo '"'.$res4['table_no'].'"'; 

更好的解决方案是使用json_encode(处理特殊字符等问题,但是因为看起来你刚开始使用网络编程,我希望这个答案能让你更好地理解这两个问题。的语言)。

答案 1 :(得分:2)

将结果放在PHP数组中,然后在将其分配给JS数组时使用json_encode

<?php
$tab_no = array();
while($res4 = mysql_fetch_array($qry4)) {
    $tab_no[] = $res4['table_no'];
}
?>
var tab_no = <?php echo json_encode($tab_no); ?>;