2014-04-12 43 views
0

嗨,夥計們我被我的編碼困住了。我希望有人可以幫我解決我的問題在div中顯示查詢

所以我有這個類(updateProgress.php)從數​​據庫中提取值並通過ajax在名爲data2.php的其他頁面上處理它,並在用戶按下時顯示查詢顯示按鈕(in updateProgress.php)。

我有什麼在data2.php是,

<?php 
// IF SHOW KEY HAS BEEN PRESSED 
if($_POST['action'] == 'show') 
    {    
    $sql = "SELECT * FROM SUB_MASTER_DRAWING 
         WHERE SUB_MASTER_DRAWING.HEAD_MARK = '{$_POST["hm"]}'"; 

    $query = oci_parse($conn, $sql); 
      $query_exec = oci_execute($query); 

      echo "<table border='1'>"; 
    while($row = oci_fetch_assoc($query)){ 
     echo '<div id="content">'; 
         echo '<table cellspacing = "0"'; 
          echo '<tr><th>Head Mark</th> 
             <th>Cutting</th> 
             <th>Assembly</th> 
             <th>Welding</th> 
             <th>Drilling</th> 
             <th>Finishing</th> 
             </tr>'; 

          echo "<tr><td><b>$row[HEAD_MARK]/$row[ID]</b></td>"; 

             if ($row['CUTTING'] == 'Y'){         
              echo "<td><input type='checkbox' id='cuttingCheckbox' name='cuttingCheckbox' checked='checked' disabled='disabled'/></td>"; 
             } else { 
              echo "<td><input type='checkbox' id='cuttingCheckbox' name='cuttingCheckbox' onClick='checkboxCheck()' /></td>";            
             } 
?> 

所以我的問題是,當用戶選中該複選框,就應該做一個數據庫查詢和更新相應的值。我試圖製作JavaScript函數來檢查複選框操作是否在php標籤的外部工作,但它只是沒有做任何事情。

是因爲我通過所有表查詢,以便它不會處理JavaScript?

請幫我

+0

你使用jQuery嗎? – Shahar

+0

是我做的是這樣的標題 function checkboxCheck(){ if(document.cuttingcheckbox.checked == true){ alert('CHECKBOX CHECKED'); } } – Chriskonz

+0

是的,方法沒有發射。我正在嘗試找到錯誤。即使你不需要它,因爲你有jQuery。 – Shahar

回答

1

您已經複選框與分配onClick='checkboxCheck()'。只需從該javascript函數進行ajax調用,並更新所需的任何值即可。你可以創建另一個php文件來處理這個Ajax調用。

function checkboxCheck() { 
     var checkbox1 = document.getElementById("cuttingCheckbox"); 

     if (checkbox1.checked) { 
      alert('CHECKBOX CHECKED'); 
     } else { 
      alert('CHECKBOX NOT CHECKED'); 
     } 

     // Make Ajax call here, to call a php file 
     // which will update the db table 
     // You will have to pass other relevant variables like row id etc 
    } 
+0

所以它必須與阿賈克斯? ,因爲我有變量$ row [HEAD_MARK],$ row [ID]和$ row [CUTTING]在另一頁上處理。所以這意味着我必須發送3個變量,需要傳遞到另一頁上的sql查詢 – Chriskonz

+0

是的。 Ajax是必需的,因爲你不能從javascript更新數據庫(checkboxCheck()是一個javascript函數)。 – Jayesh

+0

jaycp感謝您的意見。那麼你認爲最好的,發送所有變量到不同的頁面或處理ajax中的sql? – Chriskonz

0
我建議只使用jQuery處理的複選框的點擊

$('#cuttingCheckbox').click(function() { /* function goes here */ }); 

(或使用mousedown代替click

然後只是有一個簡單的AJAX調用一個PHP文件。使用jQuery AJAX非常簡單快捷。

1

該代碼已準備好進行SQL注入。

+0

感謝您的建議。我知道它的弱點,但我會修改它,只要我可以使所有的功能工作 – Chriskonz

+0

我認爲你應該重新排序你的代碼並應用MVC模式。將HTML和PHP以及SQL查詢混合到一個文件中是非常糟糕的做法。 – Eduardo

+0

再次感謝你edwardoyarzun。它需要另一個步驟來學習MVC,但我會瞄準它。謝謝 – Chriskonz