2013-06-11 2 views
-1

Ребята, кто-нибудь может помочь мне решить этот код, у меня есть несколько выпадающих списков, которые я хочу вставить в таблицу. но мне нужно вставить его только в одно поле, у кого есть блестящая идея, как это сделать :)Несколько выпадающих списков в одном поле таблицы

это пример для выпадающего списка.

<select name="level1" style="width:225px;"> 
<option value=0 selected></option> 
<?php 
include 'connect.php'; 
$q = "SELECT attribute_id,attribute_name FROM attribute "; 
$result = $db->query($q); 
while ($row1 = $result->fetch()){ 
    echo "<option value='$row1[attribute_name]'>$row1[attribute_name]</option>"; 
} 
?> 
</select> 


<select name="level1" style="width:225px;"> 
<option value=0 selected></option> 
<?php 
include 'connect.php'; 
$q = "SELECT attribute_id,attribute_name FROM attribute "; 
$result = $db->query($q); 
while ($row1 = $result->fetch()){ 
    echo "<option value='$row1[attribute_name]'>$row1[attribute_name]</option>"; 
} 
?> 
</select><br> 

<select name="level1" style="width:225px;"> 
<option value=0 selected></option> 
<?php 
include 'connect.php'; 
$q = "SELECT attribute_id,attribute_name FROM attribute "; 
$result = $db->query($q); 
while ($row1 = $result->fetch()){ 
    echo "<option value='$row1[attribute_name]'>$row1[attribute_name]</option>"; 
} 
?> 
</select> 
+0

Ваш вопрос не очень ясен. Ваш код вообще не вставляет. Все, что он делает, - это echo один и тот же раскрывающийся список 3 раза. – Barmar

+0

Вот почему я не знаю, как вставить все значение из выпадающего списка в базу данных. потому что мне нужно захватить все его в одно поле в базе данных –

+0

В какую таблицу вы пытаетесь вставить, и как следует объединить несколько входов в один столбец? – Barmar

ответ

0

Сначала селекты уровней каждое нужно другое имя и форма, чтобы войти в, с кнопкой отправки, а также ... Так как это ....

<form method="post" action="process.php"> 
<select name="level1[]"> 
    <!--Your database options lists--> 
</select> 
<select name="level1[]"> 
    <!--Your database options lists--> 
</select> 
<select name="level1[]"> 
    <!--Your database options lists--> 
</select>  
<input type="submit" value="SUBMIT"/> 
</form> 

Тогда, когда вы выбираете все три и нажмите отправить это идет в process.php что является этот файл ...

<?php 

    $levels = implode(",", $_POST['level1']); 

    //Now you have a string called $levels 
    // Which contains a comma seperated list, to insert into db/one field 

    //Insert into your table...change your table and field names to real values... 

    $sql = "INSERT INTO yourTable (attributes) VALUES (:attributes)"; 
    $q = $db->prepare($sql); 
    $q->execute(array(':attributes'=>$levels)); 
    ?> 

Это будет обрабатывать форму ...

Обратите внимание на переменную $ levels ... это строка, передаваемая в db, построенная из ваших блоков выбора.

Вы можете построить это два пути ...

Либо конкатенации. Как это ...

$levels = $_POST['level1'][0].",".$_POST['level1'][1].",".$_POST['level1'][2]; 

Или построить массив и лопаются, в запятыми список .. как это ...

$levels = implode(",", $_POST['level1']); 

В любом случае ... вы будете в конечном итоге с запятой разделительная строка для входа в вашу базу данных ...

YOUR WELCOME :)

+0

wow..thanks, это был я искал :) спасибо, у меня есть еще один вопрос, возможно ли, если у меня одно и то же имя для всего его? как все имя будет только level1? –

+0

Нет ваших избранных должны быть разные имена, так как они будут хранить разные значения, но не наносят вреда названию столбца, в который они входят, как level1, и просто назовите ваш выбор, например level1 - level1-b level1-c или что-то еще эти строки – KyleK

+0

я вижу, спасибо за вашу помощь. действительно ценю это. поэтому мне нужно добавить строку массива, чтобы имя тоже было правильно? как name = "level1 []" –

Смежные вопросы