使用 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>

【问题讨论】:

您收到什么错误消息?您是否启用了 PHP short_open_tag? uk3.php.net/manual/en/ini.core.php#ini.short-open-tag 我没有收到任何错误。我只是不知道该怎么做。找不到任何示例,甚至无法到达我遇到错误的地步 啊-据我了解,我认为您还没有完全“掌握” PHP 或 AJAX ... PHP 完全是服务器端的,您无法更新基于客户端的显示内容在客户端上发生的用户交互(从下拉列表中选择某些内容),而无需将表单发布到服务器或以某种方式使用 javascript 和/或 AJAX。 AJAX 只是 JavaScript 从 URL 加载数据的一种方式 - URL 将是一个动态 PHP 页面,您可以将变量传递到该页面(例如,来自您的 &lt;select&gt;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)

使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能

php ajax 下拉列表

Bootstrap 4 导航栏下拉菜单链接

附加选项后选择问题

使用 Jquery 的下拉菜单的默认选择值