Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: как передать данные из таблицы в select?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Altynayka
Отправлено: 09 Июня, 2008 - 10:57:13
Post Id


Частый гость


Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




Можно ли передать в значения select, т.е. в <option value=""></option> данные, хранимые в некой таблице. И можно ли , чтобы число элементов в select увеличивалось по мере добавления записей к этой таблице?
Если да , то как?
Я подумала, что может через массив передавать значения, полученнные в результате запроса, а вот как увеличить при этом динамически количество <option>??
 
 Top
valenok
Отправлено: 09 Июня, 2008 - 11:10:01
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Цитата:
Можно ли передать в значения select, т.е. в <option value=""></option> данные, хранимые в некой таблице.


Абсолютно также как вы их прото так выводите на экран.


-----
Truly yours, Sasha.
 
My status
 Top
Altynayka
Отправлено: 09 Июня, 2008 - 12:09:33
Post Id


Частый гость


Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




написала след. запрос:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. $sel=("select * from `tips` ");
  4. $result_sel=mysql_query($sel);
  5.  
  6.         ?>


Потом .
CODE (text):
скопировать код в буфер обмена
  1.         <select name="s1" size="1" >
  2.                         <?php
  3.                 $i=1;
  4.         while($row=mysql_fetch_array($result_sel))
  5.         {
  6.         $s="<option value=".$row["znach_tip"].">".$row["znach_tip"]."</option>";
  7.         $i++;  
  8.                 echo $s; }?>
  9.                 </select>

Вроде работает
Спасибо за совет

(Отредактировано автором: 09 Июня, 2008 - 12:22:12)

 
 Top
valenok
Отправлено: 09 Июня, 2008 - 12:39:00
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




А зачем вот эти конструкции
$a = "..";
echo $a ?
Почему не сразу echo ".." ; ?

Также выборка * и использование лишь одного поля является плохим тоном,
как и использование _fetch_array когда не нужно, вместо _fetch_assoc или _fetch_raw

(Отредактировано автором: 09 Июня, 2008 - 12:42:07)



-----
Truly yours, Sasha.
 
My status
 Top
Altynayka
Отправлено: 09 Июня, 2008 - 13:15:45
Post Id


Частый гость


Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




спасибо за советы, я все учту.
Радость
не могу отобразить тот же набор значений в другом select в той же странице.
в чем может быть проблема?
и в продолжении вопроса, подскажите как проверить данные на уникальность?
не столбце, а в строке?
т.е.
чтобы не получилось такого:
key | pole1 | pole2 | pole3 | pole4
1 | one | two | two | three
т.е. у меня здесь хранится two два раза, как сделать проверку на уникальность по строке. Эти данные я сохраняю через <select>, у меня несколько их штук, при чем в списке хранятся один набор значений, но при сохранении они все вместе должны хранить разные значения.
Другими словами несколько select с одинаковым количеством набором <options>, которые при передаче данных сохраняют одну запись (см. выше.). И как сделать проверку на уникальность значений в строке?
ПОдкинте идею.
однако , назначения столбца на уникальность - невозможна, так как при разных наборах в столбце может хранится одно и тоже значение.
Но не в строке

(Отредактировано автором: 10 Июня, 2008 - 13:01:28)

 
 Top
EuGen Администратор
Отправлено: 11 Июня, 2008 - 12:44:43
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Уникальность по строке - это что-то экзотическое .. Непонятно, зачем select строить по строке.
Вообще Вам поможет
http://php.su/functions/?array-unique
Но я все равно не понимаю, зачем это нужно.

(Отредактировано автором: 11 Июня, 2008 - 12:45:05)



-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Altynayka
Отправлено: 12 Июня, 2008 - 06:16:44
Post Id


Частый гость


Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




EuGen
а можно сделать эту проверку с помощью Java script?
что-то вроде:
CODE (text):
скопировать код в буфер обмена
  1. function test(f)
  2. {
  3.  
  4. for x=1 to 16
  5. for y=x+1 to 17
  6. {
  7. for i=1 to 5{if f.eval("hide" +x).options[i]=true} break;
  8. for y=1 to 5{if f.eval("hide" +y).options[y]=true} break;
  9. if (f.eval("hide" +x).options[i].value=f.eval("hide"+y).options[j].value){alert("stop");}
  10. }
  11. }
,
где hide-<select name>
<input type="button" value="OK" onClick="test(this.form)">

(Отредактировано автором: 12 Июня, 2008 - 07:49:29)

 
 Top
Altynayka
Отправлено: 30 Июля, 2008 - 10:51:15
Post Id


Частый гость


Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




в продолжении :
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $sel=("select * from `tips` ");
  4. $result_sel=mysql_query($sel);
  5.  
  6. ?>
  7.  

Потом .

PHP:
скопировать код в буфер обмена
  1.  
  2. <select name="s1" size="1" >
  3. <?PHP
  4. $i=1;
  5. while($row=mysql_fetch_array($result_sel))
  6. {
  7.    $s="<option value=".$row["znach_tip"].">".$row["znach_tip"]."</option>";
  8.    $i++;
  9.    echo $s;
  10. }
  11. ?>
  12. </select>
  13.  


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


Отредактировано модератором: EuGen, 02 Августа, 2008 - 11:44:53
Используйте, пожалуйста, теги [ php ] [ /php ] и инденты, чтобы Ваш код было легко читать
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB