使用 php/ajax 选择下拉菜单后从数据库中获取客户信息
Posted
技术标签:
【中文标题】使用 php/ajax 选择下拉菜单后从数据库中获取客户信息【英文标题】:Get customer info from database after selecting dropdown using php/ajax 【发布时间】:2014-03-26 10:42:24 【问题描述】:我正在尝试制作一个用于制作发票的简单网页。要选择/加载客户信息,我使用的是select 下拉列表,其中包含数据库中的所有客户。 选择客户后,我希望 php 从数据库中获取该客户的所有值并在页面上的其他位置回显。 以为这会很简单,但尝试了所有方法,但似乎无法正常工作。
有什么帮助吗?
在删除所有不起作用的代码之后,这就是我剩下的:
<select name="selectCustomer">
<option selected>Klantnaam</option>
<?
$result = mysql_query('SELECT * FROM '.$c_tbl_name);
while($row = mysql_fetch_array($result))
echo '<option value="'.$row['c_id'].'">';
echo $row['c_name'];
echo '</option>';
?>
</select>
【问题讨论】:
您收到什么错误消息?您是否启用了 PHPshort_open_tag
? uk3.php.net/manual/en/ini.core.php#ini.short-open-tag
我没有收到任何错误。我只是不知道该怎么做。找不到任何示例,甚至无法到达我遇到错误的地步
啊-据我了解,我认为您还没有完全“掌握” PHP 或 AJAX ... PHP 完全是服务器端的,您无法更新基于客户端的显示内容在客户端上发生的用户交互(从下拉列表中选择某些内容),而无需将表单发布到服务器或以某种方式使用 javascript 和/或 AJAX。 AJAX 只是 JavaScript 从 URL 加载数据的一种方式 - URL 将是一个动态 PHP 页面,您可以将变量传递到该页面(例如,来自您的 <select>
的 c_id
)并且它是更新客户端基于该响应。
【参考方案1】:
你需要一些小的 AJAX 函数来做到这一点:
jQuery(document).ready(function($)
$('[name="selectCustomer"]').change(function()
$('#result').load('load_data_from_db.php',
customer : $(this).val();
);
);
);
您需要一个脚本load_data_from_db.php
来获取选定的客户,生成内容并将其返回给客户端,然后将其放入带有 ID 结果的元素中。
【讨论】:
这是我正在寻找的脚本。我可能是问这个问题的菜鸟,但是我如何使用从数据库中获得的值。load_data_from_db.php
内部的简单回声似乎不起作用。文件大致应该是什么样子?
一个简单的echo
应该没问题。它将被放入 ID 为 #result 的 DIV 中(因此该 DIV 必须在页面上)。【参考方案2】:
试试
$result = mysql_query('SELECT * FROM '.$c_tbl_name) or die(mysql_error());
如果查询失败,这将提供信息。
此外,您应该真正考虑从 mysql() 升级,因为它现在已被弃用。尝试谷歌搜索“php PDO”。
【讨论】:
感谢 PDO 提示。我会好好看看。关于我的问题.. 下拉菜单完美无缺,在 db 中填充了所有具有正确 id 值的现有客户。现在,当我选择其中一个客户时,我想在页面上显示所有客户信息 除了PDO(很好用),你也可以使用MySQLi(MySQL改进),它与MySQL扩展非常相似。您甚至可以在程序样式中使用它。但我也建议以面向对象的风格使用它或切换到 PDO。以上是关于使用 php/ajax 选择下拉菜单后从数据库中获取客户信息的主要内容,如果未能解决你的问题,请参考以下文章
将下拉菜单中的相关信息显示到文本框中(来自 SQL 数据库,使用 PHP、AJAX 和 HTML)