2016-09-08 4 views
1

이전 페이지에서 사용자가 선택한 확인란을 기반으로 SELECT 문을 실행하려고합니다. 각 확인란에는 제품 ID가 값으로 있습니다. 그들이 체크 박스 1, 2, 3, 4, 5를 선택하면확인란 배열의 값을 기반으로 SELECT 문을 실행하십시오.

print '<td><input type="checkbox" name="checkbox[]" value="'. $row["id_product"] .'"></td>'; 

나는 1 ID를 가진 제품을 선택하는 SELECT 문을하려면 - 여기 5. 것은 내가 지금까지 무엇을 가지고 :

try { 
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $stmt = $conn->prepare("SELECT reference, price, unit_price_impact FROM ps_product_attribute WHERE id_product = ". implode(',', $_POST['checkbox']) .""); 
    echo $stmt; 
    $stmt->execute(); 
    $product = $stmt->fetchAll(); 

    echo '<div class="table-responsive">'; 
     echo '<table class="table table-striped">'; 
       foreach ($product as $row) { 
        print '<tr>'; 
         print '<td>'. $row['reference'] .'</td>'; 
         print '<td></td>'; 
         print '<td>'. $row['price'] .'</td>'; 
         print '<td></td>'; 
        print '</tr>'; 
       } 
     echo '</table>'; 
    echo '</div>'; 
} 

$ _POST [ 'checkbox'] 값이 비어있는 이유는 무엇입니까?

+0

어떤 체크 박스를 선택하지 않은 감사 때문에 디버깅이 예와 함께 해보시기 바랍니다 코드에 빈 는 isset() /()를 사용하여 아래와 같이 코드를 디버깅하려고하세요? –

+0

btw'id_product = 값 목록 '은 유효하지 않은 쿼리입니다. –

+0

@u_mulder 사용자가 SELECT 문을 실행하기 전에 페이지의 확인란을 선택합니다. –

답변

0

체크 박스를 읽는 데 Ajax를 사용하고 jquery에서 Array/Object를 먼저 작성한 다음 php로 보내야 양식 제출을 사용하는 경우 문제가 발생하지 않습니다.

<form action="#" method="post"> 
<input type="checkbox" name="checklist[]" value="a"><label>a</label><br/> 
<input type="checkbox" name="checklist[]" value="b"><label>b</label><br/> 
<input type="checkbox" name="checklist[]" value="c"><label>c</label><br/> 
<input type="submit" name="submit" value="Submit"/> 
</form> 
<?php 
if(isset($_POST['submit'])){//to run PHP script on submit 
if(!empty($_POST['checklist'])){ 
// Loop to store and display values of individual checked checkbox. 
foreach($_POST['checklist'] as $selected){ 
echo $selected."</br>"; 
} 
} 
} 
?> 

당신이

관련 문제