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

Форум MySQL

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

 

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

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

тема: Вывод некоторых записей из некоторых таблиц
 
 автор: morax   (13.10.2009 в 13:20)   письмо автору
 
 

Мне нужно вывести 2 записи из одной таблицы и 5 6 из другой. Как это реализовать, и желательно одним запросом? Заранее спасибо

  Ответить  
 
 автор: Trianon   (13.10.2009 в 13:25)   письмо автору
 
   для: morax   (13.10.2009 в 13:20)
 

записи выводятся запросом SELECT

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

  Ответить  
 
 автор: Valick   (13.10.2009 в 13:26)   письмо автору
 
   для: morax   (13.10.2009 в 13:20)
 

чем Вас не устраивают два запроса?

  Ответить  
 
 автор: Morax   (13.10.2009 в 13:39)   письмо автору
 
   для: Valick   (13.10.2009 в 13:26)
 

логически таблицы не связаны.
Есть одна "форма" для вывода соответственно с одним циклом вывода. И мне кажется что если цикл один то и запрос должен быть один. Я учусь, поэтому выслушаю критику...

  Ответить  
 
 автор: Trianon   (13.10.2009 в 13:58)   письмо автору
 
   для: Morax   (13.10.2009 в 13:39)
 

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

  Ответить  
 
 автор: Morax   (13.10.2009 в 14:54)   письмо автору
 
   для: Trianon   (13.10.2009 в 13:58)
 

Первый запрос:
SELECT id, img_mini, title, year, capacity, motor, price, weight, availe FROM boats WHERE avail='1' ORDER BY id DESC
пхп скриптом выводятся только две записи в один поток.
И как к этому потоку добавить еще пять записей аналогичным запроса но из другой таблицы.
Если одним запросом никак, то как вообще?
Вот код:

<?php
    $i 
1;
$r 1;
$n 1;
do
{
printf('<td>
        <table width="190" border="0" cellpadding="0" cellspacing="0" class="ceel_border">
          <tr>
              <td colspan=2><img width="170" height="110" src=" %s "></img></td>
              <td><a href="boat.php?id=%s"'
$myrow1['img_mini'], $myrow1['id'])?>
                                     onMouseOver="ChangeImg('ImgName<?php echo $myrow1["id"]; ?>','img/look_h.jpg')"
                                    onMouseOut="ChangeImg('ImgName<?php echo $myrow1["id"]; ?>','img/look.jpg')">
                  <img name="ImgName<?php echo $myrow1["id"]; ?>" border="0" height="110" width="25" src="img/look.jpg" alt="Смотреть"></a></td>
              <?php 
     printf
('<td></td>
           </tr>
           <tr>
              <td class="ct_string1">Катер:</td>
              <td colspan="2" class="ct_string2"> %s </td>
           </tr>
           <tr>
              <td class="ct_string1">Год:</td>
              <td colspan="2" class="ct_string2"> %s </td>
           </tr>
           <tr>
              <td class="ct_string1">Вместимость:</td>
              <td colspan="2" class="ct_string2"> %s </td>
           </tr>
           <tr>
              <td class="ct_string1">Двигатель:</td>
              <td colspan="2" class="ct_string2"> %s </td>
           </tr>
           <tr>
              <td class="ct_string1">Вес (кг) :</td>
              <td colspan="2" class="ct_string2"> %s </td>
           </tr>
           <tr>
              <td class="ct_string1">Цена:</td>
              <td class="ct_string2"> %s </td>
     <td width="25"></td>
           </tr>
          </table>  
  </td> '
$myrow1['title'], $myrow1['year'], $myrow1['capacity'], $myrow1['motor'], $myrow1['weight'], $myrow1['price']);
$r $i 4;
$i++;
$n++;
if (
$r == 1)
        {
            
printf("</tr>
                    <tr class='sell_middle'>
                                            "
);
            
$i 0;
        }
}
while ((
$myrow1 mysql_fetch_array($result1)) && ($n <=2));

  Ответить  
 
 автор: Diplex   (13.10.2009 в 14:58)   письмо автору
 
   для: Morax   (13.10.2009 в 14:54)
 

> пхп скриптом выводятся только две записи в один поток.

Чтобы выводились две записи, нужно к запросу добавить LIMIT 2

> И как к этому потоку добавить еще пять записей аналогичным запроса но из другой таблицы.

После первого select'a, следом идёт второй select, который и выводит 5-6 записей из другой таблицы.

  Ответить  
 
 автор: Trianon   (13.10.2009 в 15:01)   письмо автору
 
   для: Morax   (13.10.2009 в 14:54)
 

сим подтверждаю, что в ответ на код do while, примененный для извлечения данных из резалтсета SQL-запроса, я буду молчать.
Ибо ругаться (а) запрещено правилами и (б) никаких сил уже нет.

  Ответить  
 
 автор: Morax   (13.10.2009 в 16:34)   письмо автору
 
   для: Trianon   (13.10.2009 в 15:01)
 

И на этом всем спасибо...

  Ответить  
 
 автор: Trianon   (13.10.2009 в 16:54)   письмо автору
 
   для: Morax   (13.10.2009 в 16:34)
 

Ну если Вы не отвечаете на вопросы...
Напишите пониже аналогичный код для второго источника, и дело с концом.

  Ответить  
 
 автор: Morax   (13.10.2009 в 22:48)   письмо автору
 
   для: Trianon   (13.10.2009 в 16:54)
 

Спасибо. Решил проблему двумя запросами и вложенным циклом

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

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