PHP поисковая система с фильтрами - PullRequest
0 голосов
/ 16 февраля 2012

Я пытаюсь создать поисковый сайт, чтобы вы могли уточнить ваш поиск, но у меня возникают проблемы при передаче нового значения $ get ... я приведу примеры того, что я получил и что я хочу достичь, если я помогу, если я ценю.

Чего я хочу достичь? http://www.pac.com.ve/index.php?option=com_jumi&fileid=9&Itemid=119&keyword=farmacia

Что я получил? http://www.laguiadelveterinario.com/test/test_array.php?category=cat2

Я не могу найти способ обновить переменную GET, когда нажимаю на левое меню.

Ответы [ 2 ]

0 голосов
/ 18 февраля 2012

Я пришел с этим решением ... Я передаю переменные через метод Get, работает отлично, но я получаю пустые значения в URL ...

Вы можете увидеть рабочий пример здесь: http://www.laguiadelveterinario.com/test/test_array.php?category=cat3

Примечание 1: в верхнем меню lvl есть только пункты (clasificados), которые будут самой правой правой кнопкой ... есть только некоторые данные (buscando hogar, enrazate, se busca)

Примечание 2: левое меню, которое показывает различные подкатегории (которые пользователи будут нажимать для уточнения поиска), все еще статично, оно не обновляется, когда еще что-то щелкает в меню ...

Примечание 3: iтолько попытка удалить фильтр состояния для проверки кода ...

Вопрос: я иду в правильном направлении?Могу ли я добавлять / удалять разные переменные динамически?я должен использовать массив для этого?спасибо за любую помощь, которую я мог бы использовать.

плохо вставьте код:

<?php
$cat = $_GET['category'];

$estado = $_GET['estado'];
$tmascota = $_GET['tmascota'];
$raza = $_GET['raza'];

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Test Array</title>
<link rel="stylesheet" type="text/css" href="css/pro_drop_1.css" />
<style>
body{margin:40px;}

</style>
</head>

<body>

<div style=" clear:left; padding:40px;">
<?php include 'menu.php'; ?>
</div>


<div style="float:left; border:1px solid #999; padding:30px;"><h1>Por categorias: </h1>
<?php
include 'conexion.php';
include('ps_pagination.php');

    echo "<b>Por Estados: </b><br />";
        $citys = mysql_query("SELECT estado, COUNT(name) FROM clasificados WHERE     clasificados.category = '$cat' GROUP BY estado");
        while ($row = mysql_fetch_array($citys)) {
            echo "<a href=\"test_array.php?category=".$cat."&estado=". $row['estado'] ."&tmascota=".$tmascota."&raza=".$raza."\"> Hay " . $row['COUNT(name)'] ." en ". $row['estado'] . "</a><br />\n";
        }
    mysql_free_result($citys);

echo "<b>Por Tipos de Mascotas: </b><br />";
    $mascotas = mysql_query("SELECT tmascota, COUNT(name) FROM clasificados WHERE clasificados.category = '$cat' GROUP BY tmascota");
    while ($row = mysql_fetch_array($mascotas)) {
        echo "<a href=\"test_array.php?category=".$cat."&estado=". $estado ."&tmascota=". $row['tmascota'] ."&raza=".$raza."\"> Hay " . $row['COUNT(name)'] ." en ". $row['tmascota'] . "</a><br />\n";
        /*echo "<a href=\"getsubcat.php?category=$cat&estado=". $row['estado'] ."\"> Hay " . $row['COUNT(name)'] ." en ". $row['estado'] . "</a><br />\n";*/
    }
    mysql_free_result($mascotas);

echo "<b>Por Razas: </b><br />";
    $qryraza = mysql_query("SELECT raza, COUNT(name) FROM clasificados WHERE clasificados.category = '$cat' GROUP BY raza");
    while ($row = mysql_fetch_array($qryraza)) {
        echo "<a href=\"test_array.php?category=".$cat."&estado=". $estado ."&tmascota=". $tmascota ."&raza=". $row['raza'] ."\"> Hay " . $row['COUNT(name)'] ." en ". $row['raza'] . "</a><br />\n";
        }       }
    mysql_free_result($qryraza);

    echo "<p><a href=\"test_array.php?category=".$cat."&estado=&tmascota=". $tmascota ."&raza=".$raza."\">remove (estado) filter</a></p>";        

?></div><?

$sql = "SELECT * FROM clasificados WHERE 1=1";

if(isset ($cat))
{
$sql .= " AND category='$cat'";
}

if(isset ($cat) && ($estado))
{
$sql .= " AND clasificados.category='$cat' AND clasificados.estado='$estado'";
}
if(isset ($cat) && ($tmascota))
{
$sql .= " AND clasificados.category='$cat' AND clasificados.tmascota='$tmascota'";
}
if(isset ($cat) && ($raza))
{
$sql .= " AND clasificados.category='$cat' AND clasificados.raza='$raza'";
}
$sql .= " ORDER BY clasificados.id DESC";

$counttotal = mysql_query($sql) or die(mysql_error()) ;
$counttotal = mysql_num_rows($counttotal); 

$pager = new PS_Pagination($conn, $sql, 6, 5, "category=$cat");
$pager->setDebug(true);

$rs = $pager->paginate();
if(!$rs) die(mysql_error());

?>
<div style="float:left;border:1px solid #999; padding:30px;"><h1>Resultados <? echo   $counttotal; ?></h1>
<?

while($row = mysql_fetch_assoc($rs)) {

echo "<div style=\"clear:left;border:1px solid #999; padding:30px;\">Title: ".$row['title']."<br />".
"Estado: ".$row['estado']."<br />".
"Tipo Mascota: ".$row['tmascota']."<br />".
"Raza: ".$row['raza']."<br />".
"</div>";


}

?>
</div>

<div style="float:left;border:1px solid #999; padding:30px;"><h1>Print Variables</h1><?
echo "categoria: ".$cat."<br />";
echo "estado: ".$estado."<br />";
echo "tmascota: ".$tmascota."<br />";
echo "raza: ".$raza."<br />";


?>


</body>

0 голосов
/ 17 февраля 2012

Да, я искал 2 варианта здесь:

1.- метод $ _Get, передающий переменные через URL

2.- создание сезона и добавление значений, когда пользователи нажимают на опции различных вариантов.

в данный момент я использую метод get, но я не могу найти способ удалить значение get при нажатии на ссылку удалить фильтр .... так что я просматривал и нашел метод сезона, который я собираюсь

...