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

Форум MySQL

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

 

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

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

тема: Вывод по нескольким параметрам.
 
 автор: sanchescom   (07.09.2009 в 12:26)   письмо автору
 
 

Подскажите пожалуйста.

Имеется запрос к базе специальностей...

if (!empty($specz)) 
           {
            $sqlSpCount = @mysql_query("SELECT * FROM b_resum_users_spec WHERE SPEC='$specz'");
            if (mysql_num_rows($sqlSpCount)>0) 
               {
                $arrSpCount = mysql_fetch_array($sqlSpCount);
               do {
                   $id_usp = $arrSpCount['ID_U']; 
                  }
               while ($arrSpCount = mysql_fetch_array($sqlSpCount));

                      $sqlForm = @mysql_query("SELECT * FROM b_resum_users_inf LEFT JOIN b_resum_users_fw ON 
                                                             b_resum_users_inf.ID_U=b_resum_users_fw.ID_U
                                                       WHERE b_resum_users_inf.HIDE='SHOW' AND b_resum_users_inf.ID_U='$id_usp' LIMIT $start, $num");

                  }
            } 


 $id_usp = $arrSpCount['ID_U']; 
Принемает несколько значений..допустим 1 и 2

Теперь как мне из таблиц вытащить и по 1 и по 2?
                      $sqlForm = @mysql_query("SELECT * FROM b_resum_users_inf LEFT JOIN b_resum_users_fw ON 
                                                             b_resum_users_inf.ID_U=b_resum_users_fw.ID_U
                                                       WHERE b_resum_users_inf.HIDE='SHOW' AND b_resum_users_inf.ID_U='$id_usp' LIMIT $start, $num");

  Ответить  
 
 автор: heed   (07.09.2009 в 12:52)   письмо автору
 
   для: sanchescom   (07.09.2009 в 12:26)
 

> $id_usp = $arrSpCount['ID_U'];

это присвоение срабатывает в цикле DO{ }WHILE; столько раз
, сколько рядов вернёт первый запрос
На момент отправки второго запроса $id_usp это цифра из последнего ряда.

формируйте вместо этого строку , чтобы в следующем запросе было условие
AND b_resum_users_inf.ID_U IN (1,2,3,4,5)

// и в остальном не смог ничего понять
, можно применять алиасы имён полей/таблиц
, чтобы компактнее выглядели такие длинные имена

  Ответить  
 
 автор: sanchescom   (07.09.2009 в 13:37)   письмо автору
 
   для: heed   (07.09.2009 в 12:52)
 

Спасибо большое все получилось...(вроде=) )
Сделал так
             $sqlForm = @mysql_query("SELECT * FROM b_resum_users_inf LEFT JOIN b_resum_users_fw ON 
                                                    b_resum_users_inf.ID_U=b_resum_users_fw.ID_U
                                              WHERE b_resum_users_inf.HIDE='SHOW' AND b_resum_users_inf.ID_U IN (SELECT ID_U FROM b_resum_users_spec WHERE SPEC='$specz') LIMIT $start, $num");


Вроде работает!

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

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