gpt4 book ai didi

php - 在另一个文件中携带 $id 变量

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

我最近发现了这个教程 http://www.infotuts.com/create-ajax-based-search-system-php-jquery/并注意到所有结果都显示在search.php中,而search.php是通过ajax调用并显示在index.php中。每当我尝试将其集成到我的网站中时,我的index.php 包含一个 $id 变量,如以下网址所示: (index.php?id=1) 我的问题是,我似乎无法让它知道我的 $id 是什么。因此,我无法将 search.php 中的查询更改为我喜欢的内容。

$query = mysql_query("select * from userdetail where name like '{$term}%'", $connection);

这是我上面的原始查询,但是我想让它依赖于页面的 id,所以......:

$query = mysql_query("select * from userdetail where id = '$id' AND name like '{$term}%'", $connection);

唯一的问题是,search.php 不知道我的 $id 变量是什么,即使我从 index.php 加载它也不起作用。有人可以帮忙吗?

完整的代码可以在教程中看到,但我可以在这里向大家展示。搜索.php

<?php
$connection = mysql_connect('localhost', 'root', '12345');
$db = mysql_select_db('userdata', $connection);
$term = strip_tags(substr($_POST['searchit'],0, 100));
$term = mysql_escape_string($term); // Attack Prevention
if($term=="")
echo "Enter Something to search";
else{
$query = mysql_query("select * from userdetail where id = '$id' AND name like '{$term}%'", $connection);
$string = '';

if (mysql_num_rows($query)){
while($row = mysql_fetch_assoc($query)){
$string .= "<b>".$row['name']."</b> - ";
$string .= $row['email']."</a>";
$string .= "<br/>\n";
}

}else{
$string = "No matches found!";
}

echo $string;
}
?>

这是index.php

<html>
<head>
<title>Ajax Based Search- InfoTuts</title>
<?php
$id = ((int)$_GET["id"]);
?>
<style type="text/css" >
#main {
padding: 10px;
margin: 100px;
margin-left: 300px;
color: Green;
border: 1px dotted;
width: 520px;
}
#display_results {
color: red;
background: #CCCCFF;
}
</style>
<script type="text/javascript "src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>

<script type='text/javascript'>
$(document).ready(function(){
$("#search_results").slideUp();
$("#button_find").click(function(event){
event.preventDefault();
search_ajax_way();
});
$("#search_query").keyup(function(event){
event.preventDefault();
search_ajax_way();
});

});

function search_ajax_way(){
$("#search_results").show();
var search_this=$("#search_query").val();
$.post("search.php", {searchit : search_this}, function(data){
$("#display_results").html(data);

})
}
</script>
</head>

<body>
<div id="main">
<h1>Ajax Based Search System- InfoTuts</h1>
<form id="searchform" method="post">

<label>Enter</label>
<input type="text" name="search_query" id="search_query" placeholder="What You Are Looking For?" size="50"/>
<input type="submit" value="Search" id="button_find" />

</form>
<div id="display_results"></div>
</div>
</body>
</html>

最佳答案

试试这个

在search.php文件中添加以下代码以接受index.php文件中的id

<code>
$term = mysql_escape_string($term); // Attack Prevention
$id = $_POST['id'];
if(!empty($id)) {
$query = mysql_query("select * from userdetail where id = '$id' AND name like '{$term}%'", $connection);
} else {
$query = mysql_query("select * from userdetail where name like '{$term}%'", $connection);
}
if($term=="")
echo "Enter Something to search";
</code>

在index.php 文件中将$id 变量值与ajax 请求一起发送。

<code>
function search_ajax_way(){
$("#search_results").show();
var search_this=$("#search_query").val();
var id_val=$("#id").val();
$.post("search.php", {searchit : search_this, id : id_val}, function(data){ $("#display_results").html(data);}
</code>

在html中添加id的输入隐藏字段

<code>
<form id="searchform" method="post">
<label>Enter</label>
<input type="text" name="search_query" id="search_query" placeholder="What You Are Looking For?" size="50"/>
<input type='hidden' value='<?php echo $id; ?>' id='id'/>
<input type="submit" value="Search" id="button_find" />
</form>
</code>

关于php - 在另一个文件中携带 $id 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28360213/

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