在Javascript中循环浏览php

时间:2011-04-08 12:40:34

标签: php javascript mysql database json

我正在我的硬盘或我的网站上运行javascript文件,现在,我一直试图让我的硬盘驱动器正常工作。 javascript循环并构建一个包含x行数的表。每行都有一个“textarea”框,用户可以在其中键入共同基金的股票代码。我想用来自mysql数据库的数据填充textarea框。根据我从Will获得的建议,我使用PHP文件返回JSON,但我无法弄清楚如何遍历JSON并在我的javascript表的每一行中放置一个基金符号。

下面是我网站上的php文件

<?php
$connect = >>>>>my connection string here<<<<<;
mysql_select_db("altatech_grid");
$result = mysql_query("SELECT FSymbol FROM FundSymbols"); 
$to_encode = array(); 
while($row = mysql_fetch_assoc($result)) {
  $to_encode[] = $row['FSymbol'];
} 
$myFund = json_encode($to_encode);
echo ($myFund);
?> 

返回以下&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;

["FDGRX","FVINX","VCVLX","LLPFX "]

这是我的javascript以下&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;

document.write("<table>");
nButtons = 0;
for (row = 1; row < nItems; row++)
{
document.write("<tr>");
for (rowButton = 0; rowButton < row; rowButton++)
document.write("<td><textarea class='unorderedlist' wrap='soft' name='possibility" + (row+1) + "' id='p" + (row+1) + "'>")";
########### This Is Where The PHP Needs To Put One Item In Each Row ############
document.write("</textarea></td>");
document.write("</tr>");
document.write("</table>");
}

2 个答案:

答案 0 :(得分:1)

这不是JSON,它是一个数组...

var i;
var html = "<textarea>";
var symbols = ["FDGRX","FVINX","VCVLX","LLPFX"];
for (i = 0; i < symbols.length; i++) {
    html += symbols[i] + "\r\n";
}
var html += "</textarea>";
document.write(html);

JSON对象如下所示:

var jsonObject = { name: "John", location: "UK" };

您可以像这样添加动态值:

var symbols = <?php echo $myFund; ?>;

答案 1 :(得分:0)

我认为没有办法像你想要的那样。因为,PHP是在服务器上运行的脚本。因此,您无法使用Javascript从客户端运行PHP脚本。 但你可以这样做:

<script type="text/javascript">
    var data = <?php echo json_encode($to_encode);?>;
    //At client it will be:
    //var data = ["FDGRX","FVINX","VCVLX","LLPFX"];
    //Then you can loop:
    for(var row = 0; row < data.length; row++)
    {
        //@Todo
        //.................
        document.write(data[row]);
    }
</script>