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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Выбор нескольких значений

Сообщения:  [1-10]   [11-19] 

 
 автор: Vova   (08.08.2006 в 12:25)   письмо автору
 
   для: Vova   (07.08.2006 в 14:04)
 

ВОт, немного переделанный код, но всё равно значения не запоминаются

<select multiple size='7' class="input" type=text name=pit[]>
     
        <?
$sql 
"SELECT * FROM products GROUP BY pit";
$r_sql mysql_query($sql);
while (
$res mysql_fetch_array($r_sql))
{
?>
        <option value='<?= $res['pit'];?>'<?php if ($_POST['pit']==$res['pit']) echo "selected"?>>
        <?= $res['pit']; ?>
        </option>
        <? ?>
      </select>

   
 
 автор: Vova   (07.08.2006 в 14:04)   письмо автору
 
   для: cheops   (28.07.2006 в 22:16)
 

Поставил пробел, но ничего всё равно не запоминается.

   
 
 автор: cheops   (28.07.2006 в 22:16)   письмо автору
 
   для: Vova   (26.07.2006 в 18:51)
 

Да у вас в принциее всё должно запоминаться, только пробел поставьте, чтобы у вас слово selected не вливалось со значением атрибута value
<option value='<?= $res['pit'];?><?php if ($_POST['pit']==$res['pit']) echo "selected"?>><?= $res['pit']; ?> </option>

   
 
 автор: Vova   (28.07.2006 в 14:56)   письмо автору
 
   для: Vova   (26.07.2006 в 18:51)
 

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

   
 
 автор: Vova   (26.07.2006 в 18:51)   письмо автору
 
   для: cheops   (26.07.2006 в 16:02)
 

Так создается форма мульти

<select multiple size='8' class="input" type=text name=pit[]>
<option value='none' <?php if($_POST['pit']=='none') echo "selected"?>>любое</option>

<?
$sql 
"SELECT * FROM products GROUP BY pit";
$r_sql mysql_query($sql);
while (
$res mysql_fetch_array($r_sql))
{
?>
<option value='<?= $res['pit'];?>'<?php if ($_POST['pit']==$res['pit']) echo "selected"?>><?= $res['pit']; ?> </option>

<? ?>
</select>


Обработка такая



<?php
    
if(!isset($_POST['pit']) && $_POST['pit']!='none'
    {
      foreach(
$_POST['pit'] as $key => $value)
      {
         
$_POST['pit'][$key] = "'$value'";
      }
      
$tmp1 " and pit IN (".implode(",",$_POST['pit']).")";
    }
?>  


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

echo "Даты:</b> <span style='color: red;'><b>".$value."</b></span>";

Как же сделать чтоб выводил все выделенные в форме значения?

   
 
 автор: cheops   (26.07.2006 в 16:02)   письмо автору
 
   для: Vova   (26.07.2006 в 14:38)
 

Да можно, вы как форму формируете?

   
 
 автор: Vova   (26.07.2006 в 14:38)   письмо автору
 
   для: Vova   (26.07.2006 в 14:04)
 

Единственное что, это то, что при выборе нескольких значений после поиска они не остаются выделенными в форме multiple. Можно ли как-то сделать, чтобы они остались бы выделенными, как и до нажатия на Поиск? И поэтому значение

echo "".$_POST['pit']."";

что я хочу вывести на экран выдаёт array, а не выделенные мною ....

   
 
 автор: Vova   (26.07.2006 в 14:04)   письмо автору
 
   для: Vova   (17.07.2006 в 15:33)
 

Всем спасибо, ошибка найдена и исправлена. Всё работает )). Ищёт при выделении нескольких значений. Действительно, всё оказалось в строчке

foreach($_POST['pit'] as $key = $value)

   
 
 автор: Vova   (17.07.2006 в 15:33)   письмо автору
 
   для: Vova   (17.07.2006 в 15:19)
 

И вот ещё, если вместо = поставить =>

foreach($_POST['pit'] as $key => $value)

то белый экран не выдаёт, но не ищет при выборе ни по какому значению.

   
 
 автор: Vova   (17.07.2006 в 15:19)   письмо автору
 
   для: Vova   (17.07.2006 в 15:11)
 

Выяснил, что что-то не так с этой строчкой

foreach($_POST['pit'] as $key = $value)

Если её заремить, то ошибок нет, а если она присутствует, то белый экран

   

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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