gpt4 book ai didi

php - 列出用于选择和处理表单 php 的数据库值

转载 作者:行者123 更新时间:2023-11-29 03:34:39 24 4
gpt4 key购买 nike

我已使用以下帖子从我的数据库表中创建过滤下拉列表,它工作正常。

Listing database values according to the selected filter in dropdown
在我使用 ajax 编辑之前,我的 process.php 运行完美,没有任何问题,甚至在我进行更改之后,使用 select 选项的过滤工作正常。

上述帖子中接受答案的代码。
html

<select name="filter" onchange="filter(this.value)">
<option>FILTER:</option>
<option value="alphabetical">ASC</option>
<option value="date">Date</option>
</select>
<div id="results"></div>// store the results here

J查询:

function filter(item){
$.ajax({
type: "POST",
url: "filter.php",
data: {value: item},
success: function(data){
$("#results").html(data);
}
});
}

过滤器.php:

include "connection.php";  //database connection
$fieldname = $_POST['value'];
if($fieldname == "alphabetical"){
// if you choose first option
$query1 = mysqli_query("SELECT * FROM table ORDER BY name ASC");
// echo the results
}else{
// if you choose second option
$query1 = mysqli_query("SELECT * FROM table ORDER BY date ASC");
// echo the results
}

我的表格是这样的

<form action="process.php" method="post">
<label>Code</label><input type="text" name="code" />
<label>Course</label>
<div id="results"></div>
<input type="submit" value="Submit" />
</form>

现在我的问题是,当我提交表单时,它会将值发送到 filter.php 而不是 process.php

请问,我该如何解决这个问题?
谢谢

根据用户 1406062 从我的网络控制台发出的请求 web console

我的进程.php

include("../include/session.php");

class UserProcess
{
/* Class constructor */
function UserProcess(){
global $session;
if(!$session->isUser()){
header("Location: ../index.php");
return;
}
/* Student submit forms to register course */
if(isset($_POST['subreg'])){
$this->procReg();
}
else if(isset($_POST['subrem'])){
$this->procRem();
}
else{
header("Location: ../index.php");
}
}

function procReg(){
global $session, $form;
$_POST = $session->cleanInput($_POST);
$retval = $session->RegU($_POST['courseid'], $_POST['user']);
/* Add Successful */
if($retval == 0){
$_SESSION['addsuccess'] = true;
header("Location: ".$session->referrer);
}
/* Error found with form */
else if($retval == 1){
$_SESSION['value_array'] = $_POST;
$_SESSION['error_array'] = $form->getErrorArray();
header("Location: ".$session->referrer);
}
/* Add failed */
else if($retval == 2){
$_SESSION['addsuccess'] = false;
header("Location: ".$session->referrer);
}
}
$userprocess = new UserProcess;

最佳答案

好吧,在你的 JavaScript 函数中你有硬编码的 URL:

function filter(item){
$.ajax({
type: "POST",
**url: "filter.php",**
data: {value: item},
success: function(data){
$("#results").html(data);
}
});

}

并且您没有使用表单 Action URL...只需将 filtert.php 更改为 process.php

关于php - 列出用于选择和处理表单 php 的数据库值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24394534/

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