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

Форум PHP

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

 

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

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

тема: Как вывести информацию в 2 колонки?
 
 автор: GooD   (03.01.2006 в 09:11)   письмо автору
 
 

доброго времени суток, мне нужно выводить информацию, полученную из БД в 2 колонки, примерно так:

1|text1  |  2|text2
3|text3  |  4|text4
5|text5  |  6|text6

Вообщем, в одной колонке информация с нечётными id, в другой - с чётными

Ниже скрипт, при его работе информация выводится так, как мне нужно, но вместе с ней ещё выводятся пустые строки, идущие до бесконечности, я 100% уверен что просто не правильно задаю условия цикла, помогите :) голова пухнет..

<?php
 $query 
"SELECT * FROM news ORDER BY id DESC";
 print 
"<table border=0 cellpadding=3 cellspacing=2 valign=top align=center width=70%>";
 
$result mysql_query($query);
 
$lines mysql_num_rows($result);
 if (
$lines 0)
 {
  while (
$lines 2)
  {
   print 
"<tr>";

   
$r=mysql_fetch_array($result);
     
$id=$r["id"];
     
$text=$r["text"];
     
$text ereg_replace("\n""<br>"$text);
   print 
"<td>$id</td>";
   print 
"<td>$text</td>";

   
$r=mysql_fetch_array($result);
     
$id=$r["id"];
     
$text=$r["text"];
     
$text ereg_replace("\n""<br>"$text);
   print 
"<td>$id</td>";
   print 
"<td>$text</td>";

   print 
"</tr>";
  }
  if (
$lines 2)
  {
   print 
"<tr>";
   
$r=mysql_fetch_array($result);
     
$id=$r["id"];
     
$text=$r["text"];
     
$text ereg_replace("\n""<br>"$text);
   print 
"<td colspan = 2>$id</td>";
   print 
"<td colspan = 2>$text</td>";
   print 
"</tr>";
  }
 }
 else
 {
  print 
"<td align=center class=cont><b>Новостей в базе нет</b>";
 }
 print 
"</table>";
?>

   
 
 автор: Киналь   (03.01.2006 в 11:25)   письмо автору
 
   для: GooD   (03.01.2006 в 09:11)
 

Действительно, вы задали бесконечный цикл. Напишите

while($r=mysql_fetch_array($result))
{
....
}

И в цикле больше не определяйте массив $r.

   
 
 автор: GooD   (03.01.2006 в 12:04)   письмо автору
 
   для: Киналь   (03.01.2006 в 11:25)
 

когда так делаешь, то в 2 колонки выводится одна и та же информация, а мне нужно по-другому

1|text1       1|text1
2|text2       2|text2
3|text3       3|text3

   
 
 автор: cheops   (03.01.2006 в 13:08)   письмо автору
 
   для: GooD   (03.01.2006 в 12:04)
 

Хм... а в первом посте приводится таблица
1|text1  |  2|text2 
3|text3  |  4|text4 
5|text5  |  6|text6

   
 
 автор: GooD   (03.01.2006 в 13:33)   письмо автору
 
   для: cheops   (03.01.2006 в 13:08)
 

ну, в первом посте я говорил что мне так надо, а потом я говорил, что получается не так, как мне нужно, и привёл пример

   
 
 автор: GooD   (03.01.2006 в 12:07)   письмо автору
 
   для: Киналь   (03.01.2006 в 11:25)
 

вот, сделал, убрав первое определение этого массива, убираешь другие - всё работает не так, как надо

   
 
 автор: cheops   (03.01.2006 в 13:54)   письмо автору
 
   для: GooD   (03.01.2006 в 12:07)
 

Киналь имел ввиду следующий код
<?php 
  $query 
"SELECT * FROM news ORDER BY id DESC"
  
$result mysql_query($query); 
  if(
mysql_num_rows($result) > 0
  { 
    
$final 0
    echo 
"<table border=0 cellpadding=3 cellspacing=2 valign=top align=center width=70%>"
    while(
$r mysql_fetch_array($result);
    {
      if(
$final == 0) echo "<tr>"
 
      
$id=$r["id"]; 
      
$text=$r["text"]; 
      
$text ereg_replace("\n""<br>"$text); 
      echo 
"<td>$id</td>"
      echo 
"<td>$text</td>"

      
$final++; 
      if(
$final == 2
      { 
        echo 
"</tr>"
        
$final 0
      }
    }
    echo 
"</table>"
  }
?>


http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=366

   
Rambler's Top100
вверх

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