【发布时间】:2012-01-15 21:03:49
【问题描述】:
我正在尝试使用 PHP 从 MySQL 数据库中获取所有数据,初始化一个二维 java 数组并使用 PHP 数据填充它。
我在 PHP 中嵌入 JS 时遇到问题。我已经标记了哪些有效,哪些无效。
正如您将看到的,一些嵌入式 java 可以工作,但不是全部。
有什么想法吗?
<body>
<?php
$con = mysql_connect("XXXXXX.COM","guest","password");
mysql_select_db("HHG", $con);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
else
{
$result = mysql_query("SELECT * FROM articles", $con);
$numrows = mysql_num_rows($result);
echo "DB connection OK <br/>";
echo "Found ";
echo $numrows;
echo " records <br/><br/>";
} // EVERYTHING WORKS UP TO HERE
?>
<script type="text/javascript">
document.write("THIS IS THE FISRT JS DOING SOMETHING"); // THIS DOES NOTHING
numrows = <?php echo $numrows; ?>; // THIS DOES NOTHING
string [][] hhgdata = new string[numrows][4]; // THIS DOES NOTHING
document.write("Records = " + numrows + "<br/>"); // THIS DOES NOTHING
</script>
<?
$counter = 1;
while ($row = mysql_fetch_assoc($result))
{
echo $row["idimg"]; echo "<br/>"; //THIS WORKS
$hhgtitle = $row["hhgtitle"]; //THIS WORKS
echo $hhgtitle; echo "<br/>"; //THIS WORKS
?>
<script type="text/javascript"> //THIS WORKS
counter = <?php echo $counter; ?>; //THIS WORKS
document.write("counter = " + counter + "<br/><br/>"); //THIS WORKS
hhgtitle = <?php echo $hhgtitle; ?>; // THIS DOES NOTHING
document.write("Title: "); // THIS DOES NOTHING
hhgdata[counter][1]= hhgtitle; // THIS DOES NOTHING
document.write(hhgdata[counter][1]); // THIS DOES NOTHING
</script>
<?
$counter++; // THIS WORKS
}
?>
</body>
【问题讨论】:
-
你能显示实际的最终 HTML 而不是源代码吗?您是否在控制台中遇到任何错误?
-
我没有生成 HTML - 我只是将 MySQL 数据从 PHP 移动到 Javascript。只是试图让二维数组的最后一块来接受来自 PHP 变量的数据。
-
无论您是生成 HTML 还是 JS - 显示 最终结果, 而不是 PHP 源代码。
-
数组 hhgdata 的扩展来自 var hhgdata = [];到 hhgdata[变量] = [];似乎阻止了事情的运行。如果我在示例中使用实数,它会形成并显示数据。我的 HTML 页面上没有显示任何错误——只有 document.write 元素。对不起。菜鸟。
标签: php javascript mysql arrays