将Mysql查询结果传递给javascript,然后使用原始变量调用函数。

时间:2013-07-12 14:01:13

标签: php javascript mysql

如果这是一个愚蠢的问题,我会道歉但是我自学了 - .-

场景我有一张发票php,js页面,允许手动输入订单项。我想更改一个下拉列表的文本区域,该列表由我用项目提交的mysql数据库填充。我可以在下拉列表中获得1行,但不是结果数组。

我正在修改现有代码,所以如果您有任何建议,将不胜感激。谢谢你的帮助。

PHP代码mysql查询将结果存储到$ description变量。

$customerquery="SELECT description FROM es_items";
$customerresults=mysql_query($customerquery) or die ("Query to get data from customer table failed: ".mysql_error());

while ($customerrow=mysql_fetch_array($customerresults)) {
    $description=$customerrow[description];
}

PHP js调用添加行

<tr id="hiderow">
    <td colspan="5"><a id="addrow" href="javascript:;" title="Add a row">Add a row</a></td>
</tr>

JS

$("#addrow").click(function(){
    $(".item-row:last").after('<tr class="item-row"><td class="item-name"><div class="delete-wpr"><textarea>Item Name</textarea><a class="delete" href="javascript:;" title="Remove row">X</a></div></td><td class="description"><select name="description"><option>' + description +'</option></select></td><td><textarea class="cost">$0</textarea></td><td><textarea class="qty">0</textarea></td><td><span class="price">$0</span></td></tr>');
if ($(".delete").length > 0) $(".delete").show();
bind();

您可以在http://estimate.roedermgt.com

查看其内容

2 个答案:

答案 0 :(得分:0)

您正在分配while循环中每行的值,而不是构建集合。因此,只返回一行。

尝试将$description设为数组:

while ($customerrow = mysql_fetch_array($customerresults)) {
    $description[] = $customerrow[description];
}

答案 1 :(得分:0)

似乎你没有在php中正确地遍历列表它应该是

$description[] = $customerrow[description];