hello, This is my query and works perfect. if (isset($_POST['ok'])) { $order_id = $_POST['order_id']; $work_done = $_POST['work_done']; // Yes or No $worker = $_POST['worker']; $item_id = $_POST['item_id']; for ($i=0;$i<=count($item_id);$i++) { $query = mysql_query("UPDATE item SET worker_id = '".$worker[$i]."', item_done = '".$work_done[$i]."' WHERE item_id = '".$item_id[$i]."' ") or die(mysql_error()); } } PHP: I want to add this. but id does not work. All i want to do is if work_done is "Yes" for all the items, i want to set order_ready to "Yes" My php is not very good. if ($work_done[$i] == "Yes") { $query2 = mysql_query("UPDATE orderr SET order_ready = 'Yes' WHERE order_id = '".$order_id."' ") or die(mysql_error()); } PHP: Thanks
ok. i managed to get it working. but i do not know if it is the right way to do if (isset($_POST['ok'])) { $order_id = $_POST['order_id']; $work_done = $_POST['work_done']; // Yes or No $worker = $_POST['worker']; $item_id = $_POST['item_id']; for ($i=0;$i<=count($item_id);$i++) { if ($work_done[$i++] == "Yes") { $query222 = mysql_query("UPDATE orderr SET order_ready = 'Yes' WHERE order_id = '".$order_id."' ") or die(mysql_error()); } else { $query222 = mysql_query("UPDATE orderr SET order_ready = 'No' WHERE order_id = '".$order_id."' ") or die(mysql_error()); } } for ($i=0;$i<=count($item_id);$i++) { $query = mysql_query("UPDATE item SET worker_id = '".$worker[$i]."', item_done = '".$work_done[$i]."' WHERE item_id = '".$item_id[$i]."' ") or die(mysql_error()); } } PHP:
This is a shorter version <? if (isset($_POST['ok'])) { $order_id = $_POST['order_id']; $work_done = $_POST['work_done']; // Yes or No $worker = $_POST['worker']; $item_id = $_POST['item_id']; for ($i=0;$i<=count($item_id);$i++) { $query = mysql_query("UPDATE item SET worker_id = '".$worker[$i]."', item_done = '".$work_done[$i]."' WHERE item_id = '".$item_id[$i]."' ") or die(mysql_error()); $query = mysql_query("UPDATE orderr SET order_ready = '".$work_done[$i++]."' WHERE order_id = '".$order_id."' ") or die(mysql_error()); } } ?> Code (markup):
No , i can not do this way. because i am trying to do this: if work_done is "Yes" for all the item_id then SET order_ready to "Yes" if work_done is "No" for 1 item_id then SET order_ready to "No" By the way my code is not working. for ($i=0;$i<=count($item_id);$i++) { $query = mysql_query("UPDATE item SET worker_id = '".$worker[$i]."', item_done = '".$work_done[$i]."' WHERE item_id = '".$item_id[$i]."' ") or die(mysql_error()); if ($work_done[$i++] == "Yes") { $query = mysql_query("UPDATE orderr SET order_ready = 'Yes' WHERE order_id = '".$order_id."' ") or die(mysql_error()); } else { $query = mysql_query("UPDATE orderr SET order_ready = 'No' WHERE order_id = '".$order_id."' ") or die(mysql_error()); } } PHP:
Ok. It is not working. If there is 1 item my query works but if there are more than 1 item, it does not work. I am trying to do this: if work_done is "Yes" for all the item_id then SET order_ready to "Yes" if work_done is "No" for 1 item_id then SET order_ready to "No" if (isset($_POST['ok'])) { $order_id = $_POST['order_id']; $work_done = $_POST['work_done']; // Yes or No $worker = $_POST['worker']; $item_id = $_POST['item_id']; for ($i=0;$i<=count($item_id);$i++) { $query = mysql_query("UPDATE item SET worker_id = '".$worker[$i]."', item_done = '".$work_done[$i]."' WHERE item_id = '".$item_id[$i]."' ") or die(mysql_error()); if ($work_done[$i++] == "Yes") { $query = mysql_query("UPDATE orderr SET order_ready = 'Yes' WHERE order_id = '".$order_id."' ") or die(mysql_error()); } else { $query = mysql_query("UPDATE orderr SET order_ready = 'No' WHERE order_id = '".$order_id."' ") or die(mysql_error()); } } } PHP:
it is a very long form. i am just pasting the pars for the work_done <td width="18"> <?php echo $row['item_done'];?> </td> <td width="18"><select name="work_done[]" id=""> <option value="<?=$row['item_done'];?>"><?=$row['item_done'];?></option> <option value="Yes">Yes</option> <option value="No">No</option> </select></td> PHP:
Thanks all for replies. I am sorted this time. I had to add another query if (isset($_POST['ok'])) { $order_id = $_POST['order_id']; $work_done = $_POST['work_done']; // Yes or No $worker = $_POST['worker']; $item_id = $_POST['item_id']; $newReference = $_POST['newReference']; for ($i=0;$i<=count($item_id);$i++) { $query = mysql_query("UPDATE item SET worker_id = '".$worker[$i]."', item_done = '".$work_done[$i]."' WHERE item_id = '".$item_id[$i]."' ") or die(mysql_error()); } $query = "SELECT COUNT(*) as num FROM item WHERE order_reference_number = '".$newReference."' AND item_done = 'No' "; $total_pages = mysql_fetch_array(mysql_query($query)); $total_pages = $total_pages[num]; if ($total_pages >= 1) { $query = mysql_query("UPDATE orderr SET order_ready = 'No' WHERE order_id = '".$order_id."' ") or die(mysql_error()); } else { $query = mysql_query("UPDATE orderr SET order_ready = 'Yes' WHERE order_id = '".$order_id."' ") or die(mysql_error()); } } PHP: