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

标签 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查看它正在做什么。

最佳答案

您正在 while 循环中分配每一行的值,而不是构建一个集合。结果,仅返回一行。

尝试将 $description 设为数组:

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

关于php - 将Mysql查询结果传递给javascript,然后使用原始变量调用函数。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17616709/

相关文章:

php - 如何在mysql中维护当前和以前的记录

javascript - Jslint错误: Expected a conditional expression and instead saw an assignment

javascript - Selenium 在下拉列表中访问多个 Shadow dom 元素?

mysql - 如何在limit语句中使用用户定义变量?

mysql - Spring Boot JPA MySQL : Failed to determine a suitable driver class

php - unicode中字符串的长度不同

php - 如何动态生成带有 alpha 渐变的图像?

php - CodeIgniter - 在更新记录时将默认值添加到数据库中的 form_dropdown

javascript - 在 JS/jQuery 中触发 keypress/keydown/keyup 事件?

javascript - Sequelize 更新与关联