[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: фильтры выборки
DarkGuy
Добрый день!
есть несколько фильтров такого вида

    $faktura = isset($_POST["fakturaing"]) ? $_POST["fakturaing"] : '';
if($faktura!= '1' ){if($faktura != ''){ $conditions[] = "`faktura` = '".addslashes($faktura)."'"; } }
echo"Фактура<select name=\"fakturaing\" onchange=\"this.form.submit();\"><br> ";
echo"<option value=\"1\" selected=\"selected\">Не важно</option>";
$query = "SELECT t.id,
t.id_stoune,
t1.name,
t1.foto,
t1.faktura,
t1.brend,
t.tolchina,
t.buy,
t.nachenka,
t.postavka,
t.srok_postavki,
t.buy_god,
t.trud,
t.otxod,
t.user_id,
t2.namecat_id,
t2.id_stoune,
t3.id,
t3.namecat
FROM
`"
.$dbpf."_user_stoune` `t`
LEFT OUTER JOIN
`"
.$dbpf."_stoune` `t1`
ON
(`t`.`id_stoune`=`t1`.`id` )


LEFT OUTER JOIN
`"
.$dbpf."_tip_stoune` `t2`
ON
(`t1`.`id`=`t2`.`id_stoune` )


LEFT OUTER JOIN
`"
.$dbpf."_namecat` `t3`
ON
(`t2`.`namecat_id`=`t3`.`id` )


GROUP BY `t1`.`faktura`"
;
$sql = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($sql))
{
if($_POST["fakturaing"] == $row['faktura']){
echo"<option value=\"".$row['faktura']."\" selected=\"selected\"> ".$row['faktura']."</option>";
} else {
echo"<option value=\"".$row['faktura']."\"> ".$row['faktura']."</option>";
} }
echo"</select>

</form>"
;



echo'id материала <input name="mat" value="'.$_GET['mat'].'" type="hidden"><br>';

//еще фильтры

$conditions = count($conditions) > 0 ? 'AND '.implode(' AND ', $conditions) : '';


хотелось бы что бы при выборе из одного фильтра происходило изменение содержание других.
т.е.



$query = "SELECT t.id,
t.id_stoune,
t1.name,
t1.foto,
t1.faktura,
t1.brend,
t.tolchina,
t.buy,
t.nachenka,
t.postavka,
t.srok_postavki,
t.buy_god,
t.trud,
t.otxod,
t.user_id,
t2.namecat_id,
t2.id_stoune,
t3.id,
t3.namecat
FROM
`"
.$dbpf."_user_stoune` `t`
LEFT OUTER JOIN
`"
.$dbpf."_stoune` `t1`
ON
(`t`.`id_stoune`=`t1`.`id` )


LEFT OUTER JOIN
`"
.$dbpf."_tip_stoune` `t2`
ON
(`t1`.`id`=`t2`.`id_stoune` )


LEFT OUTER JOIN
`"
.$dbpf."_namecat` `t3`
ON
(`t2`.`namecat_id`=`t3`.`id` )

WHERE t.user_id = '"
.$_SESSION['user_id']."' ".$conditions."

GROUP BY `t1`.`faktura`"
;

но так не работает выдает ошибку

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array

GROUP BY `t1`.`otenok`' at line 38

если делаем

print_r($query);


то

SELECT t.id,
t.id_stoune,
t1.name,
t1.foto,
t1.faktura,
t1.brend,
t.tolchina,
t.buy,
t.nachenka,
t.postavka,
t.srok_postavki,
t.buy_god,
t.trud,
t.otxod,
t.user_id,
t1.otenok,
t2.namecat_id,
t2.id_stoune,
t3.id,
t3.namecat

FROM
`2950_user_stoune` `t`
LEFT OUTER JOIN
`2950_stoune` `t1`
ON
(`t`.`id_stoune`=`t1`.`id` )

LEFT OUTER JOIN
`2950_tip_stoune` `t2`
ON
(`t1`.`id`=`t2`.`id_stoune` )

LEFT OUTER JOIN
`2950_namecat` `t3`
ON
(`t2`.`namecat_id`=`t3`.`id` )
WHERE t.user_id = 'EHfA' Array

GROUP BY `t1`.`otenok`You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array

GROUP BY `t1`.`otenok`' at line 38

Весь код



echo'1. Выберите материал:<br>';



echo"<form name=\"c4et2\" method=\"POST\">";


// $conditions = array();











echo"Выберете материал<br>";
$otenok = isset($_POST["otenoking"]) ? $_POST["otenoking"] : '';
if($otenok!= '1' ){if($otenok != ''){ $conditions[] = "`otenok` = '".addslashes($otenok)."'"; } }
echo"Оттенок <select name=\"otenoking\" onchange=\"this.form.submit();\"> ";
echo"<option value=\"1\" selected=\"selected\">Не важно</option>";
$query = "SELECT t.id,
t.id_stoune,
t1.name,
t1.foto,
t1.faktura,
t1.brend,
t.tolchina,
t.buy,
t.nachenka,
t.postavka,
t.srok_postavki,
t.buy_god,
t.trud,
t.otxod,
t.user_id,
t1.otenok,
t2.namecat_id,
t2.id_stoune,
t3.id,
t3.namecat

FROM
`"
.$dbpf."_user_stoune` `t`
LEFT OUTER JOIN
`"
.$dbpf."_stoune` `t1`
ON
(`t`.`id_stoune`=`t1`.`id` )

LEFT OUTER JOIN
`"
.$dbpf."_tip_stoune` `t2`
ON
(`t1`.`id`=`t2`.`id_stoune` )

LEFT OUTER JOIN
`"
.$dbpf."_namecat` `t3`
ON
(`t2`.`namecat_id`=`t3`.`id` )


GROUP BY `t1`.`otenok`"
;
//print_r($query);
$sql = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($sql))
{
if($_POST["otenoking"] == $row['otenok']){
echo"<option value=\"".$row['otenok']."\" selected=\"selected\"> ".$row['otenok']."</option>";
} else {
echo"<option value=\"".$row['otenok']."\"> ".$row['otenok']."</option>";
}
}

echo"</select>";


//print_r($conditions);


$namecat = isset($_POST["namecating"]) ? $_POST["namecating"] : '';
if($namecat!= '1' ){if($namecat != ''){ $conditions[] = "`namecat` = '".addslashes($namecat)."'"; } }
echo"Группа <select name=\"namecating\" onchange=\"this.form.submit();\"> ";
echo"<option value=\"1\" selected=\"selected\">Не важно</option>";
$query = "SELECT t.id,
t.id_stoune,
t1.name,
t1.foto,
t1.faktura,
t1.brend,
t.tolchina,
t.buy,
t.nachenka,
t.postavka,
t.srok_postavki,
t.buy_god,
t.trud,
t.otxod,
t.user_id,
t2.namecat_id,
t2.id_stoune,
t3.id,
t3.namecat
FROM
`"
.$dbpf."_user_stoune` `t`
LEFT OUTER JOIN
`"
.$dbpf."_stoune` `t1`
ON
(`t`.`id_stoune`=`t1`.`id` )


LEFT OUTER JOIN
`"
.$dbpf."_tip_stoune` `t2`
ON
(`t1`.`id`=`t2`.`id_stoune` )


LEFT OUTER JOIN
`"
.$dbpf."_namecat` `t3`
ON
(`t2`.`namecat_id`=`t3`.`id` )


GROUP BY `t3`.`namecat`"
;
$sql = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($sql))
{
if($_POST["namecating"] == $row['namecat']){
echo"<option value=\"".$row['namecat']."\" selected=\"selected\"> ".$row['namecat']."</option>";
} else {
echo"<option value=\"".$row['namecat']."\"> ".$row['namecat']."</option>";
}
}

echo"</select> ";








$brend = isset($_POST["brending"]) ? $_POST["brending"] : '';
if($brend!= '1' ){if($brend != ''){ $conditions[] = "`brend` = '".addslashes($brend)."'"; } }
echo"Бренд <select name=\"brending\" onchange=\"this.form.submit();\"> ";
echo"<option value=\"1\" selected=\"selected\">Не важно</option>";
$query = "SELECT t.id,
t.id_stoune,
t1.name,
t1.foto,
t1.faktura,
t1.brend,
t.tolchina,
t.buy,
t.nachenka,
t.postavka,
t.srok_postavki,
t.buy_god,
t.trud,
t.otxod,
t.user_id,
t2.namecat_id,
t2.id_stoune,
t3.id,
t3.namecat
FROM
`"
.$dbpf."_user_stoune` `t`
LEFT OUTER JOIN
`"
.$dbpf."_stoune` `t1`
ON
(`t`.`id_stoune`=`t1`.`id` )


LEFT OUTER JOIN
`"
.$dbpf."_tip_stoune` `t2`
ON
(`t1`.`id`=`t2`.`id_stoune` )


LEFT OUTER JOIN
`"
.$dbpf."_namecat` `t3`
ON
(`t2`.`namecat_id`=`t3`.`id` )


GROUP BY `t1`.`brend`"
;
$sql = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($sql))
{
if($_POST["brending"] == $row['brend']){
echo"<option value=\"".$row['brend']."\" selected=\"selected\"> ".$row['brend']."</option>";
} else {
echo"<option value=\"".$row['brend']."\"> ".$row['brend']."</option>";
}
}

echo"</select> ";


$tolchina = isset($_POST["tolchinaing"]) ? $_POST["tolchinaing"] : '';
if($tolchina!= '1' ){if($tolchina != ''){ $conditions[] = "`tolchina` = '".addslashes($tolchina)."'"; } }
echo"Толщина<select name=\"tolchinaing\" onchange=\"this.form.submit();\"><br> ";
echo"<option value=\"1\" selected=\"selected\">Не важно</option>";
$query = "SELECT t.id,
t.id_stoune,
t1.name,
t1.foto,
t1.faktura,
t1.brend,
t.tolchina,
t.buy,
t.nachenka,
t.postavka,
t.srok_postavki,
t.buy_god,
t.trud,
t.otxod,
t.user_id,
t2.namecat_id,
t2.id_stoune,
t3.id,
t3.namecat
FROM
`"
.$dbpf."_user_stoune` `t`
LEFT OUTER JOIN
`"
.$dbpf."_stoune` `t1`
ON
(`t`.`id_stoune`=`t1`.`id` )


LEFT OUTER JOIN
`"
.$dbpf."_tip_stoune` `t2`
ON
(`t1`.`id`=`t2`.`id_stoune` )


LEFT OUTER JOIN
`"
.$dbpf."_namecat` `t3`
ON
(`t2`.`namecat_id`=`t3`.`id` )


GROUP BY `t`.`tolchina`"
;
$sql = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($sql))
{
if($_POST["tolchinaing"] == $row['tolchina']){
echo"<option value=\"".$row['tolchina']."\" selected=\"selected\"> ".$row['tolchina']."</option>";
} else {
echo"<option value=\"".$row['tolchina']."\"> ".$row['tolchina']."</option>";
} }
echo"</select>";




$faktura = isset($_POST["fakturaing"]) ? $_POST["fakturaing"] : '';
if($faktura!= '1' ){if($faktura != ''){ $conditions[] = "`faktura` = '".addslashes($faktura)."'"; } }
echo"Фактура<select name=\"fakturaing\" onchange=\"this.form.submit();\"><br> ";
echo"<option value=\"1\" selected=\"selected\">Не важно</option>";
$query = "SELECT t.id,
t.id_stoune,
t1.name,
t1.foto,
t1.faktura,
t1.brend,
t.tolchina,
t.buy,
t.nachenka,
t.postavka,
t.srok_postavki,
t.buy_god,
t.trud,
t.otxod,
t.user_id,
t2.namecat_id,
t2.id_stoune,
t3.id,
t3.namecat
FROM
`"
.$dbpf."_user_stoune` `t`
LEFT OUTER JOIN
`"
.$dbpf."_stoune` `t1`
ON
(`t`.`id_stoune`=`t1`.`id` )


LEFT OUTER JOIN
`"
.$dbpf."_tip_stoune` `t2`
ON
(`t1`.`id`=`t2`.`id_stoune` )


LEFT OUTER JOIN
`"
.$dbpf."_namecat` `t3`
ON
(`t2`.`namecat_id`=`t3`.`id` )


GROUP BY `t1`.`faktura`"
;
$sql = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($sql))
{
if($_POST["fakturaing"] == $row['faktura']){
echo"<option value=\"".$row['faktura']."\" selected=\"selected\"> ".$row['faktura']."</option>";
} else {
echo"<option value=\"".$row['faktura']."\"> ".$row['faktura']."</option>";
} }
echo"</select>

</form>"
;



echo'id материала <input name="mat" value="'.$_GET['mat'].'" type="hidden"><br>';


$conditions = count($conditions) > 0 ? 'AND '.implode(' AND ', $conditions) : '';
// print_r ( $_POST);

$pager=25;
/* print_r("SELECT COUNT(*)
FROM
`".$dbpf."_user_stoune` `t`
LEFT OUTER JOIN
`".$dbpf."_stoune` `t1`
ON
(`t`.`id_stoune`=`t1`.`id` ) WHERE t.user_id = '".$_SESSION['user_id']."' ".$conditions.""); */

$res = mysql_query("SELECT COUNT(*)
FROM
`"
.$dbpf."_user_stoune` `t`
LEFT OUTER JOIN
`"
.$dbpf."_stoune` `t1`
ON
(`t`.`id_stoune`=`t1`.`id` )

LEFT OUTER JOIN
`"
.$dbpf."_tip_stoune` `t2`
ON
(`t1`.`id`=`t2`.`id_stoune` )

LEFT OUTER JOIN
`"
.$dbpf."_namecat` `t3`
ON
(`t2`.`namecat_id`=`t3`.`id` )
WHERE t.user_id = '"
.$_SESSION['user_id']."' ".$conditions."");
$row = mysql_fetch_row($res);
$total = $row[0] ;
if($total != 0){
$total_pages = ceil($total/$pager);
$page = (isset($_GET['page']) && $_GET['page'] > 1) ? intval($_GET['page']) : 1;
$page = $page > $total_pages ? $total_pages : $page;
$page = $page > 0 ? $page - 1 : 0;




$query = "SELECT t.id,
t.id_stoune,
t1.name,
t1.foto,
t1.faktura,
t1.brend,
t.tolchina,
t.buy,
t.nachenka,
t.postavka,
t.srok_postavki,
t.buy_god,
t.trud,
t.otxod,
t.user_id,
t1.otenok,
t2.namecat_id,
t2.id_stoune,
t3.id,
t3.namecat
FROM
`"
.$dbpf."_user_stoune` `t`
LEFT OUTER JOIN
`"
.$dbpf."_stoune` `t1`
ON
(`t`.`id_stoune`=`t1`.`id` )

LEFT OUTER JOIN
`"
.$dbpf."_tip_stoune` `t2`
ON
(`t1`.`id`=`t2`.`id_stoune` )


LEFT OUTER JOIN
`"
.$dbpf."_namecat` `t3`
ON
(`t2`.`namecat_id`=`t3`.`id` )


WHERE t.user_id = '"
.$_SESSION['user_id']."' ".$conditions."";
$sql = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($sql))
{





echo'<div class="formvar" align="center" valign="middle">';

if($_GET['mat'] == $row['id']){

echo'<img width="100px" height="100px" src="../img_stoune/'.$row['foto'].'"><br /><input type="radio" name="cromki" value="'.$row['id'].'" onclick="this.form.submit();" checked="checked"> '.$row['name'].' ';
}else{

echo'<img width="100px" height="100px" src="../img_stoune/'.$row['foto'].'"><br /><input type="radio" name="cromki" value="'.$row['id'].'" onclick="this.form.submit();"> '.$row['name'].' ';

}


echo'

</div>'
;



}


echo '<div id="paging"> Страницы: ';
for ($i=0; $i<$total_pages; $i++)
{
if($i == $page){
echo ($i + 1);
} else {
echo "<a href='/?mode=new&page=".($i+1)."'> ".($i+1)." </a>";
}
echo ' ';
}
echo '</div>';
}
echo"</div></div>";


Побывал прописать
$conditions = array(); в начале и $conditions = count($conditions) > 0 ? 'AND '.implode(' AND ', $conditions) : '';
не помогло.






Спустя 14 дней, 18 часов, 44 минуты, 23 секунды (30.07.2012 - 14:37) DarkGuy написал(а):
if($_POST['otenoking'] != '1' AND isset($_POST['otenoking']) ){ $otenokcond= "AND `otenok` ='".$_POST['otenoking']."'";    }else{$otenokcond = ""; }
if($_POST['namecating'] != '1' AND isset($_POST['namecating']) ){ $namecatcond= "AND `namecat` ='".$_POST['namecating']."'"; }else{$namecatcond = ""; }
if($_POST['brending'] != '1' AND isset($_POST['brending']) ){ $brendcond= "AND `brend` ='".$_POST['brending']."'"; }else{$brendcond = ""; }
if($_POST['tolchinaing'] != '1' AND isset($_POST['tolchinaing']) ){ $tolchinacond= "AND `tolchina` ='".$_POST['tolchinaing']."'"; }else{$tolchinacond = ""; }
if($_POST['fakturaing'] != '1' AND isset($_POST['fakturaing']) ){ $fakturacond= "AND `faktura` ='".$_POST['fakturaing']."'"; }else{$$fakturacond = ""; }






WHERE t.user_id = '".$_SESSION['user_id']."'".$namecatcond."".$brendcond."".$tolchinacond."".$faktu racond."
WHERE t.user_id = '".$_SESSION['user_id']."'".$otenokcond."".$brendcond."".$tolchinacond."".$faktur acond."
WHERE t.user_id = '".$_SESSION['user_id']."'".$otenokcond."".$namecatcond."".$tolchinacond."".$fakt uracond."
WHERE t.user_id = '".$_SESSION['user_id']."'".$otenokcond."".$namecatcond."".$brendcond."".$faktura cond."
WHERE t.user_id = '".$_SESSION['user_id']."'".$otenokcond."".$namecatcond."".$brendcond."".$tolchin acond."
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.