gpt4 book ai didi

javascript - PHP、Javascript、mysql 和选择列表

转载 作者:可可西里 更新时间:2023-10-31 23:02:18 25 4
gpt4 key购买 nike

我正在开发一款软件,可以从 mysql 数据库中获取信息并将其动态地放入我们的表单中。不过,我遇到了几个问题。我将简要介绍一些功能。

加载表单时,我们有大量的选择列表。这些都是通过 php 中的各种键/值的数组填充的。当我从一个列表中选择一个选项时,我们将其称为“客户”列表,单击时我需要检查该客户是否有特殊标志(存储在数据库中),并根据该数据更新另一个选择列表.

我如何理解我的解决方案的核心是我需要有一个 javascript 触发器点击,我有。被调用的函数引用一个 php 页面,该页面通过类及其函数处理数据库查询。

<script>
function setService()
{ // The customer's "id" grabbed from the aforementioned customer selection list
customer = $('#customer').val();
$.get('thePage.php?key=setService?customer='+customer);
}
</script>

然后这个函数与我的 php.ini 对话。 CustomerProvider 类工作 100%。我已经在其他页面上进行了彻底的测试。当我尝试实际更改我的选择列表时,问题就出现了。

<?
if(isset($_GET['key']) && $_GET['key'] == 'setService')
{
$customer = $_GET['customer'];
$customer = intval($customer);
$s = CustomerProvider::getHasContract($customer);
if ($s != '')
{ ?> <script>var element = document.getElementById('ticket_service');
element.value = 'Contracted Hours';</script> <? }
else return;
}
?>

我第一次真正地用 javascript 编码,他们有点让我参与这个项目。我知道我的部分没有按照我的意图被读取为 html 或输出。我知道 php 的所有其他部分和 javascript 的第一部分似乎都可以正常执行。任何帮助将不胜感激。

最佳答案

您似乎走在正确的轨道上,但为了您自己的理智,这里有几点建议。对于这种情况,您不应该从 PHP 返回 Javascript。相反,您应该依赖 Javascript promise 等待仅包含数据的响应,并在返回值后继续执行客户端代码。看看这个:

<script>
function setService() { // The customer's "id" grabbed from the aforementioned customer selection list
customer = $('#customer').val();
$.get('thePage.php?key=setService?customer=' + customer, function(data) {
console.log(data + ' was returned from your php script!');
if(data.hasContract=='1')
$('#ticket_service').val('Contracted Hours');
else
$('#ticket_service').val('No Contracted Hours');
});
}
</script>

然后您的 PHP 脚本将如下所示:

<?
if(isset($_GET['key']) && $_GET['key'] == 'setService')
{
$customer = $_GET['customer'];
$customer = intval($customer);
$s = CustomerProvider::getHasContract($customer);
if ($s != ''){
$hasContract = 1;
}
else
$hasContract = 0;

echo json_encode(array('hasContract' => $hasContract));
}
?>

因此只返回客户端应用程序继续运行所需的数据...而不是应用程序逻辑

关于javascript - PHP、Javascript、mysql 和选择列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37577481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com