2011-07-19 23 views
2

私の設定は次のようになります:複数のSQL行を更新する

アドバイスは、住所またはクライアント名に応じて検索します。入力した検索条件に対してすべての注文が表示されたら、チェックボックスを使用して注文を選択することができます。彼らは削除注文ボタンをクリックすると、私はすべて欲しい

<form action="noJavaScript.php" name="theForm" method="post"> 
<table style="border: 1px solid black"> 
    <?php 
     while ($row = mysql_fetch_assoc($result)) 
     { 
      echo '<tr><td>'; 
      echo '<input type="checkbox" name="selected[]" value="'.$row['order_number'].'"/>'; 
      echo '</td>'; 
      foreach ($row as $key => $value) 
       echo '<td>'.htmlspecialchars($value).'</td>'; 
      echo '</tr>'; 
     } 
    ?> 
</table> 
<input type="submit" name="submit" value="Edit/Modify Order" onClick="document.theForm.action='modify.php'"> 
<input type="submit" name="submit" value="Clone Order" onClick="document.theForm.action='clone.php'"> 
<input type="submit" name="submit" value="Delete Order" onClick="document.theForm.action='deleteorder.php'"> 
</form> 
、彼らが選択どのように多くの注文に応じている私は何を達成しようとしています

、1、5、10、それらのすべて、:以下のコードでは、というハンドルデータベースで更新を選択した注文。私はそれをどうやって行うのか分からない。私は、次のことを試してみました:これは私のdeleteorder.phpページ上のコードです:

$id = array(); 
$id = $_POST['selected']; 

//Include database connection details 
require_once('config_order.php'); 

//Connect to mysql server 
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 
if(!$link) { 
    die('Failed to connect to server: ' . mysql_error()); 
} 

//Select database 
$db = mysql_select_db(DB_DATABASE); 
if(!$db) { 
    die("Unable to select database"); 
} 


//Create query 
$query = mysql_query("UPDATE PropertyInfo SET order_status = 'In-Active' WHERE `order_number` LIKE $id[0]"); 

それだけで$ IDに割り当てられた値を更新して、動作しない[0]といないすべての注文の彼らは、選択した可能性があります。

ご協力いただければ幸いです!おかげ

答えて

4

私は$ idは、すべてのIDの選択の配列であると仮定しています:

implodeを使用して
$query = "UPDATE PropertyInfo SET order_status = 'In-Active' WHERE "; 
$query .= "`order_number` IN (".implode(',', $id).") "; 
$results = mysql_query($query); 

コンマに配列が

+0

値分離あー、私は私のものよりも良いこの方法が好き! – Michael

+0

ありがとうございます!魅力のように動作します。それについて学ぶために黙示的に読む。情報をもう一度ありがとう! – Jason

+0

NP喜んで –