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

Форум MySQL

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

 

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

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

тема: Выводятся не все записи таблицы
 
 автор: XoTTa6bI4   (03.11.2006 в 23:39)   письмо автору
 
 

<?php
$i=1;
include "qw.php";
$forum = mysql_query("select * from forums");
$mthemes = mysql_query("select * from mthemes");
If(!$forum) exit (mysql_error());
If(!$mthemes) exit (mysql_error());
echo "<table>";
while($forums = mysql_fetch_array($forum))
{
echo "<tr>
<td>".$forums['name']."</td>
</tr>";
while($a = mysql_fetch_array($mthemes))
{
if($a[id_forum]==$i)
echo "<tr>
<td>".$a['name']."</td>
</tr>";
}
$i=$i+1;
}
echo "</table>";
?>
у меня есть две таблицы в одной базе, с которой соединяется qw.php(проверено: соединяется(по отдельности вытягивал все)
вот что в них есть(я просто тестирую так что не обращайте внимания на значения):
1-я таблица forums:
Id_forum name .......................
1 Ресурсы сервера
2 Спиртные напитки
2-я таблица mthemes
Id_mtheme name Id_forum..............
1 чат 1
2 фтп 1
3 пиво 2
вот что выводит скрипт:
Ресурсы сервера
чат
ФТП
Спиртные напитки

а пиво почему-то не вывел.... если $i присвоить изначально значение 2 то получается:
Ресурсы сервера
Пиво
Спиртные напитки

так и должно быть,
а вот чтобы все как надо вывести: не хочет, помогите начинающему плз!!!

   
 
 автор: cheops   (04.11.2006 в 12:08)   письмо автору
 
   для: XoTTa6bI4   (03.11.2006 в 23:39)
 

В вашем случае обрабатывать запрос следует в цикле
<?php
  
include "qw.php";
  
$forum mysql_query("select * from forums");
  if(!
$forum) exit (mysql_error());
  if(
mysql_num_rows($forum))
  {
    echo 
"<table>";
    while(
$forums mysql_fetch_array($forum))
    { 
      echo 
"<tr> 
            <td>"
.$forums['name']."</td>
            </tr>"
;
      
$mthemes mysql_query("select * from mthemes WHERE id_forum = ".$forums['id_forum']);
      if(!
$mthemes) exit (mysql_error());
      while(
$a mysql_fetch_array($mthemes))
      {
        echo 
"<tr>
              <td>"
.$a['name']."</td>
              </tr>"
;
      }
    }
    echo 
"</table>"
  }
?>

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

   
 
 автор: XoTTa6bI4   (04.11.2006 в 12:28)   письмо автору
 
   для: cheops   (04.11.2006 в 12:08)
 

Большое спасибо!!!а то я очень долго ломал голову, почему не работает...

   
Rambler's Top100
вверх

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