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

Форум PHP

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

 

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

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

тема: работа цикла while
 
 автор: Slo_Nik   (08.03.2009 в 21:38)   письмо автору
 
 

Задача:
есть четыре таблицы, данные из которых надо вывести на одной странице.
все данные касаются одного объекта.
решение:
делаю многотабличный запрос к БД и данные разбиваю на таблицы(кусок кода)
if(mysql_num_rows($dop_inf) > 0){
    echo "<table align='center'>
            <tr>
            <td>название станции</td>
            <td>время прибытия</td>
            <td>время стоянки</td>
            <td>время отправления</td>
            <td colspan='2'>действия</td>
            </tr>";
      while($dop_info = mysql_fetch_array($dop_inf)){
      echo "<tr>
            <td>".$dop_info['name']."</td>
            <td>".$dop_info['time_arrival']."</td>
            <td>".$dop_info['time_stop']."</td>
            <td>".$dop_info['time_departure']."</td>
            <td><a href='edit.php'>исправить</a></td>
            <td><a href='dell.php'>удалить</a></td>
            </tr>";
     }
      echo "</table>";
      echo "<table align='center'>
            <tr>
            <td>купе</td>
            <td>плацкарт</td>
            <td>общий</td>
            <td>спальный</td>
            <td colspan='2'>действия</td>
            </tr>";
      while($dop_info = mysql_fetch_array($dop_inf)){
      echo "<tr>
            <td>".$dop_info['cupe']."</td>
            <td>".$dop_info['plackart']."</td>
            <td>".$dop_info['obshii']."</td>
            <td>".$dop_info['spalnii']."</td>
            <td><a href='edit.php'>исправить</a></td>
            <td><a href='dell.php'>удалить</a></td>
            </tr>";
     }
      echo "</table>";
    }

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

  Ответить  
 
 автор: ddhvvn   (08.03.2009 в 22:40)   письмо автору
 
   для: Slo_Nik   (08.03.2009 в 21:38)
 

Вы ведь первый раз в цикле прошлись во ВСЕМУ массиву, указатель установился в конец массива.
Поэтому второй раз цикл не выполняется.
Либо используйте функцию mysql_data_seek, либо пересмотрите принцип работы своего скрипта.

  Ответить  
 
 автор: Slo_Nik   (08.03.2009 в 22:56)   письмо автору
 
   для: ddhvvn   (08.03.2009 в 22:40)
 

спасибо за точный ответ. совсем упустил из виду указатель...
попробую сделать как Вы советуете.

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

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