Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   не верно передает значение с php в js (JSON) (https://javascript.ru/forum/dom-window/60755-ne-verno-peredaet-znachenie-s-php-v-js-json.html)

boobbbbbbbbbb 18.01.2016 18:12

не верно передает значение с php в js (JSON)
 
Вложений: 1
<li><label><input class = "count-news" '.$check_news.' name="news" value="news" type="checkbox"/><span>Новинки('.$ar1.')</span></label></li>
<li><label><input class = "count-hit"  '.$check_hit.' name="hit" value="hit" type="checkbox"/><span>Бестселлеры('.$ar2.')</span></label></li>


----------------------------------------------------------------------------------------
include "db_connect.php";
    include "../function/function.php";
    
    $c_news = clear_st($_POST["News"]);
    $c_hit = clear_st($_POST["Hit"]);
    
    if(!empty($c_news)){
        $woman_news = 'AND `NEWS` = 1';}
    
    if(!empty($c_hit)){
        $woman_hit = 'AND `HIT` = 1';}
        
     
    $count = $connection->query("SELECT COUNT(PRODUCTS_ID) FROM table_products WHERE VISIBLE='1' AND WOMAN='1' $woman_news $woman_hit");
    $temp = $count->fetch_row();
    $rows_count = $temp[0];

   
	echo json_encode($rows_count); // вернем полученное в ответе
   
	exit;


-----------------------------------------------------------------------------------

$("label").click(function(){   
	var c_news = $(".count-news").val();
	var c_hit = $(".count-hit").val();
    
		$.ajax({
		    type: "POST",
			url: "/include/count_product.php",
		    //data: "News="+c_news+"&Hit="+c_hit,
            data: {"News":"c_news", "Hit": "c_hit"},
			dataType: 'json',
            cache: false,
			success: function(data){
			      var res = JSON.parse(data);
                   //alert(data); // просто вывод ответа
                   alert(res); // распарсим JSON
			}
		});
	});



----------------------------------------------------------------------------

при нажатии на НОВИНКИ должно возвращать - 5
при нажатии на Бестселлеры должно возвращать - 2
а возвращает - 1

помогите пожалуйста . почему не работает где я не досмотрел (((

laimas 18.01.2016 18:54

Вот это

$count = $connection->query("SELECT COUNT(PRODUCTS_ID) FROM table_products WHERE VISIBLE='1' AND WOMAN='1' $woman_news $woman_hit");

выполнить отдельное без всякого ajax, и что получаем согласно условий?

Только: if(!empty($c_news)) и if(!empty($c_hit)), это бесполезная проверка, ибо не выбранный чекбокс вообще не отправляется на сервер. А вы что с ними вытворяете здесь:

var c_news = $(".count-news").val();
var c_hit = $(".count-hit").val();

???

И это все через пятое колено зачем:

$temp = $count->fetch_row();
$rows_count = $temp[0];
echo json_encode($rows_count); // вернем полученное в ответе
exit;

если короче небо упадет?

exit($count->fetch_row()[0])

передавать одно значение серверу как json какой смысл?

boobbbbbbbbbb 18.01.2016 19:39

спасибо. ошибку понял


Часовой пояс GMT +3, время: 20:23.