вставить несколько значений из флажков в базу данных по php - PullRequest
0 голосов
/ 18 июня 2011

я хочу вставить это значение формы в datanase:

<input type="checkbox" name="brand1" id="brand1" value="1"> <label for="brand1">Brand 1</label>
<input type="checkbox" name="brand2" id="brand2" value="1"> <label for="brand2">Brand 2</label>
<input type="checkbox" name="brand3" id="brand3" value="1"> <label for="brand3">Brand 3</label>
<input type="checkbox" name="brand4" id="brand4" value="1"> <label for="brand4">Brand 4</label>
<input type="checkbox" name="brand5" id="brand5" value="1"> <label for="brand5">Brand 5</label>

эти текстовые поля получены по php из таблицы в базе данных и могут быть переменными

я хочу вставить в базу данных этимотформатировать, если проверен бренд 1 $ brand = "1,";

и, наконец, так:

insert($name,$brands); and $brands = "1,2,3,4,5,";

, если записать это, если и в то время, но это не работает, потому что, если вставитьвыполнить в то время как {} Пять раз вставить вставить Готово, и если для вставки закончилось какое-то время {}, $ brand = "5,"

спасибо за вашу помощь или идею для этой проблемы

, это значит:

<form method="post" action="#">
<?php
$result = $db->getall(brands);
        if(!empty($result)) {
    while ( list($key,$val)=each($result) ) {
        $brand_id = stripslashes($val["id"]);
        $brand_name = stripslashes($val["name"]);
    ?>
    <input type="checkbox" name="brand<?php print"$brand_id"; ?>" value="1" style="cursor:pointer;"><label for="brand<?php print"$brand_id"; ?>" style="cursor:pointer;"> <?php print"$brand_name"; ?></label>
    <?php }} ?>

Исходный вывод:

<input type="checkbox" name="brand1" value="1"> <label for="brand1">Brand Name 1</label>
<input type="checkbox" name="brand2" value="1"> <label for="brand2">Brand Name 2</label>
<input type="checkbox" name="brand3" value="1"> <label for="brand3">Brand Name 3</label>
<input type="checkbox" name="brand4" value="1"> <label for="brand4">Brand Name 4</label>
<input type="checkbox" name="brand5" value="1"> <label for="brand5">Brand Name 5</label>
<input type="submit" value="Submit" />
</form>

при отправке формы укажите источник:

    <?php
$result = $db->getall(brands);
        if(!empty($result)) {
    while ( list($key,$val)=each($result) ) {
        $brand_id = brand.stripslashes($val["id"]);
        $brand_name = stripslashes($val["name"]);
    $brand_ids = "brand.$brand_id";
    if($$brand_ids==1) {$brands="$brandid,"}

}} ?>
$db->add_submenu("$brands"); 

1 Ответ

2 голосов
/ 18 июня 2011

Вы должны изменить название своих флажков на brand[].Это даст вам массив после отправки на $_POST['brand']

Ex. 

<input type="checkbox" name="brand[]" value="1" ... />
<input type="checkbox" name="brand[]" value="2" ... />
<input type="checkbox" name="brand[]" value="3" ... />
<input type="checkbox" name="brand[]" value="4" ... />
<input type="checkbox" name="brand[]" value="5" ... />

с другой стороны, вы можете сделать что-то вроде следующего:

// this will return '1, 2, 3, 4, 5' when all are selected. 
$index = implode(", ", $_POST['brand']); 

, и в этот момент у вас будетбренды в запятой.

...