2016-08-17 2 views
0

드롭 다운 목록에서 선택된 값에 따라 제품의 양을 표시하는 함수가 있습니다. 이것은 아약스로 이루어 지지만 모든 것이 올바르게 작동하려면 변수를 전달해야합니다. 내 catalog.php아약스 스크립트에 변수 게시

내가 가지고 : 페이지 ID를 포함

$pid = $productcatcr[0]['id']; 

합니다. 같은 페이지에서

나는 드롭 다운리스트를 가지고 :

$("#showcount").on('change', function() { 

    $.post("ajax/getproducts.php", {start: ($("#showcount").val() - 4), end: $("#showcount").val()}, function(result){ 
     $("#productviewajax").html(result); 
    }); 
}); 

마지막으로 getproducts.php 나는 다음과 같은 쿼리를 사용 에서 : 은 ajax.js에서 다음과 같이 작동

<select class="form-control showcount" name="showcount" id="showcount"> 
    <option value="100" selected>Alle</option> 
    <option value="2">2</option> 
    <option value="4">4</option> 
    <option value="8">8</option> 
    <option value="12">12</option> 
    <option value="16">16</option> 
    <option value="20">20</option> 
</select> 

:

$product = "SELECT * FROM `web_content` WHERE `catid` = ".$conn->real_escape_string($_GET['id'])." AND state = 1 order by ordering LIMIT ".$_POST['end'].""; 

초기 페이지에서 ajax를 통해 쿼리에 id를 게시해야합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 내 아약은별로 좋지 않아.

URL에 변수를 전달할 수있는 초기 페이지에서 다른 필터를 얻었지만 다른 옵션 요소는 이와 같이 작동하지 않습니다.

예 :

<option value="highlow" data-post-url="prijshooglaag.php?id='.$pid.'">Prijs: Hoog naar laag</option> 
+0

출발지'$ _GET [ 'id']'가 있습니까? –

+0

@NanaPartykar 아무데도, 그래서 거기에 게시하는 방법을 묻는 이유입니다. – twan

답변

1

이 페이지 id (같은 클래스 이름을 가진 필수하지 클래스 이름 하나 hidden input 만들기,하지만 당신은 여기에 클래스 이름을 변경하는 경우 모두가 너무 여기 Ajax 코드 id:$(".pageId").val()에서 변경합니다.. 관련.)

catalog.php

<?php 

$pid = $productcatcr[0]['id']; 
?> 

<input type='hidden' value='<?php echo $pid;?>' class='pageId'> 

<select class="form-control showcount" name="showcount" id="showcount"> 
    <option value="100" selected>Alle</option> 
    <option value="2">2</option> 
    <option value="4">4</option> 
    <option value="8">8</option> 
    <option value="12">12</option> 
    <option value="16">16</option> 
    <option value="20">20</option> 
</select> 

pageId을 사용하면 현재 페이지 ID를 얻을 수 있습니다. 그리고 getproducts.php 페이지로 전달하십시오.

아약스

$("#showcount").on('change', function() { 
    $.post("ajax/getproducts.php", {start: ($("#showcount").val() - 4), end: $("#showcount").val(),id:$(".pageId").val()}, function(result){ 
     $("#productviewajax").html(result); 
    }); 
}); 

getproducts.php

대신 $.post로 사용 $_POST['id']$_GET['id']의는 AJAX에 사용된다.

$product = "SELECT * FROM `web_content` WHERE `catid` = ".$conn->real_escape_string($_POST['id'])." AND state = 1 order by ordering LIMIT ".$_POST['end'].""; 
+0

select 요소 안에 숨겨진 입력이 있습니까? 값을 선택하면 자동으로 게시됩니까? – twan

+0

'선택 '안에 없습니다. 드롭 다운을 선택하기 전에 사용하십시오. @ 콴. 그 페이지에서 드롭 다운 또는 그 아래를 선택하는 곳도 있습니다. –

+0

@ twan : 업데이트 된 답변보기 여기서 한 가지를 놓치지 마십시오. 너는 성공 할거야. –