2013-06-21 3 views
-1

У меня возникают проблемы с формой ниже, всякий раз, когда я нажимаю на элемент, который он ловит элемент и обновляет в таблице mySQL, он отображает только 1 элемент (как я могу отобразить все пункты, которые я проверил?).Проблема с PHP Обновление базы данных MySQL

Также, когда я помещаю в него количество, оно не обновляется в таблице mySQL, и оно просто говорит 0, когда я поместил несколько количеств каждого элемента.

Вы, ребята, можете помочь, если все в порядке?

<tr> 
<th>Shirts</th> 
<th>Quantity</th> 
</tr> 

<tr> 

<td> 
     <br /> 
     <input type="checkbox" name="items" value="SH01" /><label for="rd1">Obey T-Shirt: $9.99</label></div> <br /> 
     <input type="checkbox" name="items" value="SH02" /><label for="rd1">Obey Professor: $9.99</label></div> <br /> 
     <input type="checkbox" name="items" value="SH03" /><label for="rd1">Hustle T-Shirt: $9.99</label></div> <br /> 
     <input type="checkbox" name="items" value="SH04" /><label for="rd1">Hip-Hop Support: $9.99</label></div> <br /> 
     <input type="checkbox" name="items" value="SH05" /><label for="rd1">90's Shirt: $9.99</label></div> <br /> 
     <input type="checkbox" name="items" value="SH06" /><label for="rd1">DOPE Shirt: $9.99</label></div> <br /> 
     <br /> 
</td> 

<td> 
     <br /> 
     <input type="text" name="qty" size ="2"/><br/> 
     <input type="text" name="qty" size="2"/><br/> 
     <input type="text" name="qty" size="2"/><br/> 
     <input type="text" name="qty" size="2"/><br/> 
     <input type="text" name="qty" size="2"/><br/> 
     <input type="text" name="qty" size="2"/><br/> 
     <br /> 

</td> 

</tr> 

<tr> 

    <td> 
     <br /> 
     <input type="checkbox" name="items" value="SO1" /><label for="rd1">Shoe - Red Lace: $19.99</label></div><br /> 
     <input type="checkbox" name="items" value="SO2" /><label for="rd1">Shoe - Red High Top: $19.99</label></div><br /> 
     <input type="checkbox" name="items" value="SO3" /><label for="rd1">Shoe - White: $19.99</label></div><br /> 
     <input type="checkbox" name="items" value="SO4" /><label for="rd1">Shoe - Black: $19.99</label></div><br /> 
     <input type="checkbox" name="items" value="SO5" /><label for="rd1">Shoe - Black High Top: $19.99</label></div><br /> 
     <input type="checkbox" name="items" value="SO6" /> <label for="rd1">Red Basketball: $19.99</label></div><br /> 
     <br /> 
    </td> 

    <td> 
     <br /> 
     <input type="text" name="qty[]" size ="2"/><br/> 
     <input type="text" name="qty[]" size="2"/><br/> 
     <input type="text" name="qty[]" size="2"/><br/> 
     <input type="text" name="qty[]" size="2"/><br/> 
     <input type="text" name="qty[]" size="2"/><br/> 
     <input type="text" name="qty[]" size="2"/><br/> 
     <br /> 

</td> 
</tr> 

<tr> 
    <td> 
     <br /> 
     <input type="checkbox" name="items" value="SN1" /> <label for="rd1">Snapback Bullets: $29.99</label></div><br /> 
     <input type="checkbox" name="items" value="SN2" /><label for="rd1">Snapback: $29.99</label></div><br /> 
     <input type="checkbox" name="items" value="SN3" /><label for="rd1">Snapback Bullets: $29.99</label></div><br /> 
     <input type="checkbox" name="items" value="SN4" /><label for="rd1">Snapback Bullets: $29.99</label></div><br /> 
     <input type="checkbox" name="items" value="SN5" /><label for="rd1">Snapback Bullets: $29.99</label></div><br /> 
     <input type="checkbox" name="items" value="SN6" /><label for="rd1">Snapback Bullets: $29.99</label></div><br /> 
     <br /> 
    </td> 
<td> 
     <br /> 
     <input type="text" name="qty" size ="2"/><br/> 
     <input type="text" name="qty" size="2"/><br/> 
     <input type="text" name="qty" size="2"/><br/> 
     <input type="text" name="qty" size="2"/><br/> 
     <input type="text" name="qty" size="2"/><br/> 
     <input type="text" name="qty" size="2"/><br/> 
     <br /> 

</td> 
</tr> 

</tr> 
</table> 
<br /> 
<input type="submit" name="submit"> 
</form> 

<?php 

if (isset($_POST['submit'])) 
{ 
$con = mysql_connect('$localhost','$url','$pass'); 
if (!$con) 
{ 
die("Could Not Connect: " . mysql_error()); 
} 

mysql_select_db("$username",$con); 

$sql = "INSERT INTO Order_Information(Order_ID,Order_Items,Order_Quantity) VALUES (null,'$_POST[items]','$_POST[qty]')"; 

mysql_query($sql,$con); 

mysql_close($con); 
} 

?> 
+0

Какую ошибку вы получаете после выполнения запроса? –

+0

Вы можете посмотреть на моем сайте: http://zim.cs.uow.edu.au/~ga420/order.php формы заказа работ, но при обновлении количества заказа Безразлично» t update – user1618490

+0

Значения флажков находятся ни в одном, ни ничего. сначала вам нужно называть ваши поля «text», чтобы они соответствовали именам элементов, потому что в противном случае не будет ссылок на какой флажок принадлежит какому-либо числу. затем также назовите свой флажок, используя VALUE, как имя – DevZer0

ответ

-1
  1. При использовании $_POST[items], вы забыли про апостроф - $_POST['items'].

  2. Чтобы получить все отмеченные флажками, вам нужен цикл:

    if(!empty($_POST['check_list'])) 
    { 
        foreach($_POST['items'] as $item) 
        { 
         .... 
        } 
    } 
    
3

Первое, что вам нужно сделать, это обновление в цикле Еогеасп так, что вы вставляете одну строку для каждого проверяемого элемента и во-вторых, вам нужно связать количество полей с этими элементами с помощью массива.

Измените имена поле Количество в массив, включая код для элементов:

<input type="text" name="qty['SO1']" size ="2"/><br/> 
     <input type="text" name="qty['SO2']" size="2"/><br/> 
etc ... 

Затем в PHP:

foreach ($_POST['items'] as $item) { 
    foreach($_POST['qty'] as $key => $value) { 
    $quantity = 0; 
    if ($key == $item) { 
     $quantity = $value; 
    } 
    } 
$sql = "INSERT INTO Order_Information(Order_Items,Order_Quantity) VALUES ('$item', '$quantity')"; 
. 
. 
} 
1

HTML

<input type="checkbox" name="items" value="SH01" /> 
<input type="text" name="qty_SH01" ..../> 

PHP

foreach ($_POST as $key => $val) { 
    if (!preg_match("/^SH/", $key)) continue; 

    $qty = $_POST['qty_' . $key]; 

    $sql = "INSERT INTO Order_Information(Order_Items,Order_Quantity) VALUES ('$key', '$qty')"; 
}