2015-11-06 49 views
1

我正在開發一個HTML/PHP的商店網站,爲了讓人們檢查他們想要購買的物品,我在每個產品中放置了一個複選框,名稱爲「Order_(產品)」。事情是,當我需要檢查該複選框是否被選中時,它永遠不會。我不確定我做錯了什麼。下面的代碼生成的複選框:PHP複選框與變量名稱從未檢查

while ($i < $num_linhas) { 
     $row = pg_fetch_row($result, $i); 
      echo "<div class='product'> 
        <h3>".$row[2]."</h3> 
        <img src='common/images/".$tipo_produto."/".$row[1].".jpg' alt='".$row[1]."'> 

      <br>"; 
      if($_SESSION['tipo'] == "cliente") 
       { 
        echo '<form method="POST"><input type="checkbox" name="encomendar_'.$row[0].'"></form>Encomendar'; 
       } 



      $i++; 
      echo "</div>"; 

    } 

和代碼來檢查,如果他們被選中(不同的腳本):

while($i < $num_linhas) 
    { 
     $row = pg_fetch_row($result_1, $i); 

     if(isset($_POST['encomendar_'.$row[0].''])) 
     { 
      echo $row[0]; 
      $query = "SELECT * from biofood.encomenda"; 
      $result_2 = pg_exec($conn, $query); 
      $num_linhas = pg_num_rows($result_2); 
      $j = $num_linhas + 1; 
      $t = time(); 
      $data = date('y-m-d'); 
      $hour = date('H:i'); 
      $id_cliente = $_SESSION['id']; 

      $query = "Insert into biofood.encomenda(id,data,hora,id_cliente,id_produto,estado) VALUES('".$j."','".$data."','".$hour."','".$id_cliente."','".$row[0]."','Não tratada')"; 
      $result_3 = pg_exec($conn, $query); 

     } 
     $i++; 
    } 
+0

檢查http://stackoverflow.com/questions/4997252/get-post-from-multiple-checkboxes出來的更容易的工作方式.. – Naruto

回答

0

不要使用值檢查時需要

echo '<form method="POST"><input type="checkbox" 
    name="encomendar_'.$row[0].'" checked ></form>Encomendar'; 
      } 
0

您必須爲您的輸入添加值

echo '<form method="POST"><input type="checkbox" name="encomendar_'.$row[0].'" value="$row[0]"></form>Encomendar'; 
例如,

之後,你如果設定就可以檢查:

while($i < $num_linhas) 
{ 
    $row = pg_fetch_row($result_1, $i); 

    if(isset($_POST['encomendar_'.$row[0]])) 
    { 
     echo $row[0]; 
     $query = "SELECT * from biofood.encomenda"; 
     $result_2 = pg_exec($conn, $query); 
     $num_linhas = pg_num_rows($result_2); 
     $j = $num_linhas + 1; 
     $t = time(); 
     $data = date('y-m-d'); 
     $hour = date('H:i'); 
     $id_cliente = $_SESSION['id']; 

     $query = "Insert into biofood.encomenda(id,data,hora,id_cliente,id_produto,estado) VALUES('".$j."','".$data."','".$hour."','".$id_cliente."','".$row[0]."','Não tratada')"; 
     $result_3 = pg_exec($conn, $query); 

    } 
    $i++; 
} 
+0

我試過這個,它仍然不工作:C任何其他建議? –

+0

我也在你的行[0]後刪除了你的concatanated引號。我今晚會考慮這件事。 :) –