Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: <select multiple>...</select>
 
 автор: Habl   (12.09.2013 в 13:26)   письмо автору
 
 

Подскажите как отправить данные на добавление в базу через

    <select multiple>...</select>


вот мой код, но думаю что здесь чего то не хватает
    
<?php
function dop_tovar (){
        
$tovar_cart mysql_query("SELECT * FROM products WHERE id_cat='$_GET[id_cat]'");
    echo 
'<div style="position:absolute; margin-left:600px; margin-top:430px;"><select multiple name="id_dop_tovar">';
    while (
$tets mysql_fetch_array($tovar_cart)) {
    echo 
'<option value="'.$tets['id'].'">'.$tets['title'].'</option>';
    }
    echo 
'</select></div>';
    }
?>

Нужно чтобы в базу заносилось несколько значений, а точнее столько сколько выбрал я

  Ответить  
 
 автор: Jovidon   (12.09.2013 в 15:54)   письмо автору
 
   для: Habl   (12.09.2013 в 13:26)
 

А может вот так
<select multiple name="id_dop_tovar[]">

  Ответить  
 
 автор: Habl   (12.09.2013 в 16:49)   письмо автору
 
   для: Jovidon   (12.09.2013 в 15:54)
 

сейчас ушел уже от multiple хочу сделать на чекбаксах
подскажите что я не правильно делаю, у меня все товары не выводятся, а выводится только последний


<?php 
    
function dop_tovar() {
    
$dop_tovar mysql_query("SELECT * FROM products WHERE id_cat='$_GET[id_cat]'");
    
$tovar = array();
    while(
$row mysql_fetch_array($dop_tovar)) { 
     
$tovar[$row['id']] = $row['title'];
    
    }
   
    foreach(
$tovar as $key=>$value) {
    
    
$html '<p style="color:white;"><input  type="checkbox" name="id_dop_tovar" value="'.$key.'" <label>'.$value.'</label>'.'<br/></p>';
    }
    return 
$html;
    }
?>

  Ответить  
 
 автор: Habl   (12.09.2013 в 17:43)   письмо автору
 
   для: Jovidon   (12.09.2013 в 15:54)
 

Вот что у меня получилось, запись добавляется только одна. А подскажите как сделать так чтобы можно было добавить 2, 3 записи в базу через запятую.
По моему нужно использовать функцию implode, но не могу сообразить как применить ее к коду.
Подскажите пожалуйста что делать???

<?php 
function dop_tovar() {
    
$dop_tovar mysql_query("SELECT * FROM products WHERE id_cat='$_GET[id_cat]'");
    
$tovar = array();
       
    while(
$row mysql_fetch_array($dop_tovar)) { 
    
$tovar[$row['id']] = $row['title'];
    }
    
$html '<p style="color:white;">';
    foreach(
$tovar as $key=>$value) {
    
    
$html .= '<input  type="checkbox" name="id_dop_tovar" value="'.$key.'" <label>'.$value.'</label><br/>';

    }
    
$html .='</p>';
    return 
$html;
    }
?>

  Ответить  
 
 автор: Jovidon   (12.09.2013 в 18:23)   письмо автору
 
   для: Habl   (12.09.2013 в 17:43)
 

<?    $html .= '<input type="checkbox" name="id_dop_tovar[]" value="'.$key.'"><label>'.$value.'<label><br>'


Зачем двойная работа?
1. переменная $row и так массив зачем создать новый?
2. зачем цикл foreach? Через while тоже самого можно сделать.
3 . Когда выводиш информацию из бд то обязательно надо использовать функцию htmlspecialchars()

  Ответить  
 
 автор: Habl   (12.09.2013 в 20:22)   письмо автору
 
   для: Jovidon   (12.09.2013 в 18:23)
 

Подсказали на другом форуме так...
Мне нужно чтобы значения в базу записывались через запятую и больше одного.
Что можете подсказать?
Спасибо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования