Javascript PHP使用GET方法添加查询
我用产品制作网站,在那里我可以按价格对我的产品进行分类。首先,我搜索产品并显示结果:Javascript PHP使用GET方法添加查询,javascript,php,html,mysql,ajax,Javascript,Php,Html,Mysql,Ajax,我用产品制作网站,在那里我可以按价格对我的产品进行分类。首先,我搜索产品并显示结果: <form action="" method="GET"> <input type="text" name="search" id="search"/> <select name="category" id="category_search">
<form action="" method="GET">
<input type="text" name="search" id="search"/>
<select name="category" id="category_search">
<option value="default">Pretraži po kategorijama</option>
<option value="torbe">Torbe</option>
<option value="tv">Tv</option>
<option value="udzbenici">Udžbenici</option>
<option value="vrtna_garnitura">Vrtna garnitura</option>
<option value="vrtna_oprema">Vrtna oprema</option>
<option value="zemljiste">Zemljište</option>
<option value="zvucnici/slusalice">Zvučnici/slušalice</option>
</select>
<input class="myButton" type="submit" value="pretraži"/>
</form>
if(isset($_GET['search'])){
$search = sanitize($_GET['search']);
$cat = sanitize($_GET['category']);
if(!empty($search)){
$search_query = mysql_query("SELECT * FROM products WHERE `product_name` LIKE '%$search%' OR `category` LIKE '%$cat%'".$sql_price.' '.$sql);
while ($results_row = mysql_fetch_assoc($search_query)){
echo '<div class="product"><a href="product.php?id='.$results_row['id'].'"><img style="border:1px solid black;" src="'.$results_row['img_path'].'/'.$results_row['img_name'].'" width="230px" height="230px"/></a><br><div class="br"></div><strong>'.$results_row['product_name'].'</strong><br>Cijena: '.$results_row['price'].'kn</div>';
}
}
}
普雷特拉ži po kategorijama
托贝
电视
乌德ž贝尼奇
瓦特纳·加尼图拉
Vrtna oprema
泽姆利什特
Zvučnici/slušalice
如果(isset($\u GET['search'])){
$search=sanitize($_GET['search']);
$cat=消毒($_GET['category']);
如果(!空($search)){
$search\u query=mysql\u query(“从产品中选择*,其中`product\u name`像'%$search%'或`category`像'%$cat%'”。$sql);
而($results\u row=mysql\u fetch\u assoc($search\u query)){
回音“
”.$results\u row['product\u name'”。
Cijena:”.$results\u row['price']。'kn';
}
}
}
然后,我首先选择了两种产品分类方法:
<?php echo '<a href="search_site.php?search='.$_GET['search'].'&category='.$_GET['category'].'&sort=asc">Niža prema višoj</a>';?>
<?php echo '<a href="search_site.php?search='.$_GET['search'].'&category='.$_GET['category'].'&sort=desc">Viša prema nižoj</a>';?>
$sql = '';
if(isset($_GET['sort'])){
if ($_GET['sort'] == 'asc'){
$sql = " ORDER BY price ASC";
}elseif ($_GET['sort'] == 'desc'){
$sql = " ORDER BY price DESC";
}
}
$sql='';
如果(isset($\u GET['sort'])){
如果($\u GET['sort']=='asc'){
$sql=“按价格ASC订购”;
}elseif($\u GET['sort']=='desc'){
$sql=“按价格说明订购”;
}
}
第二:
<form method="get" id="price_form">
Od <input type="number" class="price_input" name="min_price" id="min_price" placeholder="kn"/> do
<input type="number" class="price_input" name="max_price" id="max_price" placeholder="kn"/>
<button name="price_submit" id="price_submit">Kreni</button>
</form>
<script>
document.getElementById('price_submit').addEventListener('click', function(e){
e.preventDefault();
var search = <?php echo json_encode($_GET['search']); ?>;
var category = <?php echo json_encode($_GET['category']); ?>;
var min_price = document.getElementById('min_price');
var max_price = document.getElementById('max_price');
$.ajax({
type: "GET",
url: "search_site.php?search="+search+"&category="+category+"&min_price="+min_price+"&max_price="+max_price
});
});
</script>
$sql_price = '';
if(isset($_GET['price_submit'])){
$min_price = sanitize($_GET['min_price']);
$min_price = (int)$min_price;
$max_price = sanitize($_GET['max_price']);
$max_price = (int)$max_price;
if($min_price == ''){
$errors[] = 'Minimalna cijena mora biti ispunjena';
}elseif($max_price == ''){
$errors[] = 'Maksimalna cijena mora biti ispunjena';
}elseif($min_price < 0){
$errors[]= 'Minimalna cijena ne smije biti manja od 0kn';
}elseif($max_price < 0){
$errors[] = 'Maksimalna cijena ne smije biti manja od 0kn';
}elseif($min_price > $max_price){
$errors[] = 'Minimalna cijena ne smije biti veća od maksimalne';
}
if(empty($errors)){
$sql_price = 'BETWEEN '.$min_price.' AND '.$max_price;
}else{
echo output_errors($errors);
}
}
Od do
克里尼
document.getElementById('price_submit')。addEventListener('click',函数(e){
e、 预防默认值();
var搜索=;
var类别=;
var min_price=document.getElementById('min_price');
var max_price=document.getElementById('max_price');
$.ajax({
键入:“获取”,
url:“search_site.php?search=“+search+”&category=“+category+”&min_price=“+min_price+”&max_price=“+max_price
});
});
$sql_价格='';
如果(isset($\u GET['price\u submit'])){
$min_price=消毒($u GET['min_price']);
$min_price=(int)$min_price;
$max_price=sanitize($u GET['max_price']);
$max_price=(int)$max_price;
如果($min_价格=“”){
$errors[]=“minimana cijena mora biti ispungena”;
}其他(最高价格=“”){
$errors[]=“Maksimalna cijena mora biti ispungena”;
}其他(最低价格<0){
$errors[]=“最低限度的生活费”;
}其他(最高价格<0){
$errors[]=“Maksimalna cijena ne smije biti manja od 0kn”;
}其他(最低价格>最高价格){
$errors[]=“Minimana cijena ne smije biti veća od maksimalne”;
}
if(空($errors)){
$sql\u price='介于'$min\u price'和'$max\u price'之间;
}否则{
回波输出错误($errors);
}
}
第二个不起作用,我试着进行排序,当我按按钮将产品按价格从用户输入的最低价格排序到用户输入的最高价格,所以我应该得到如下结果:
但我得到:
谢谢,我已经更新了旧代码。请尝试此代码 您不需要添加标记,因为您可以在表单标记中提供一个操作来重定向其他页面。
普雷特拉ži po kategorijama
托贝
电视
乌德ž贝尼奇
瓦特纳·加尼图拉
Vrtna oprema
泽姆利什特
Zvučnici/slušalice
Od do
克里尼
search=“+search”&category
在&category
@u_mulder之前应该有+
,仍然没有什么…var search=代码>不应该是js字符串?var search=''代码>请你再解释一遍你的问题好吗??毫无疑问,我会帮助你。你没有$\u GET['sort']输入类型,名称是sort,这就是为什么你的url字符串是空的。现在我找到了你需要的这个url。我的$\u GET['sort']
位于锚点&sort=desc
和&sort=asc
。我有两个表单,一个用于搜索数据库,另一个用于排序某些价格,正如您所看到的,所以我不明白您的解决方案是如何以一种形式出现的?我认为,问题在于我的AJAX代码中,因为当我按提交按钮时,它什么都不做price\u submit