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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Подскажите как сделать вывод в 2 колонки из базы данных

Сообщения:  [1-7] 

 
 автор: sneh   (28.09.2009 в 21:42)   письмо автору
 
   для: cheops   (26.09.2009 в 18:09)
 

а можно так написать?

<?  
$query 
"SELECT * FROM poduct WHERE podcat='$id' ORDER BY id LIMIT $start$num"
  
$result mysql_query($query,$db); 
  if (!
$result
  { 
    echo 
"<p>Запрос не прошел. </p>"
    exit(
mysql_error()); 
  } 
  if (
mysql_num_rows($result) > 0

    
// Получаем массив данных 

    
$k=0;
 echo 
"<table>";
 
    while (
$myrow mysql_fetch_array($result)); 
    {
    if(
$k==0)
    echo 
"<tr>";
    echo
"<td>{$myrow ['id']}</td>";
    if(
$k==2){
    echo 
"</tr>";
    
$k=0;
    }
    
$k++;
    }
    
    echo 
"</table>";
?>

только так и не пойму как данные вставить

  Ответить  
 
 автор: cheops   (26.09.2009 в 18:09)   письмо автору
 
   для: sneh   (26.09.2009 в 16:35)
 

А что вызывает сложность? И что значит "правильно"?

PS Кстати, действительно почему используется do while вместо while - это же не удобно - вам же приходится каждый раз делать лишний вызов функции mysql_fetch_array(), посути эмулируя работу функции while?

  Ответить  
 
 автор: Trianon   (26.09.2009 в 17:25)   письмо автору
 
   для: sneh   (26.09.2009 в 16:35)
 

по какому учебнику?
do while наводит на мысль о том, что учебник стоит сменить.

  Ответить  
 
 автор: sneh   (26.09.2009 в 16:35)   письмо автору
 
   для: cheops   (26.09.2009 в 14:05)
 

а не подскажешь как правильно вывести потом данные, а то я только недавно изучаю php еще не погу до конца понять)

  Ответить  
 
 автор: Trianon   (26.09.2009 в 14:07)   письмо автору
 
   для: sneh   (26.09.2009 в 13:56)
 

$result = mysql_query("SELECT * FROM poduct WHERE podcat='$id' ORDER BY id LIMIT $start, $num",$db);
if (!$result)
{
echo "<p>Запрос не прошел. </p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
?>
<td>
<?
$myrow = mysql_fetch_array($result);
</td>
</td><?
do
{
printf
("<table class='pod' >
<tr>

<td align='center' class='product'>
<p align='center' class='product' href='view_product.php?id=%s'>%s</a></p>
<a aalign='center' class='product' href='%s' title='%s' target='_blank'><img class='mini' src='%s' alt='%s' /></a>
</tr>
<tr>
<td class='product_link'>Цена %s<p class='pod_view'></p></td></tr>
<tr>
<td align='right'> <a class='pod_teg' href='view_product.php?id=%s'>Подробнее...</a></p></td>
</tr>
</table><br><br>",$myrow["id"],$myrow["title"],$myrow["mini_img"],$myrow["title"],$myrow["img"],$myrow["title"],$myrow["price"],$myrow["id"]);

}
while ($myrow = mysql_fetch_array($result));
?>
</td>
<?

  Ответить  
 
 автор: cheops   (26.09.2009 в 14:05)   письмо автору
 
   для: sneh   (26.09.2009 в 13:56)
 

Обычно информацию помещают предварительно в массив, а потом уже отдельно решают задачу вывода в две колонки
<?php
  $query 
"SELECT * FROM poduct WHERE podcat='$id' ORDER BY id LIMIT $start$num";
  
$result mysql_query($query,$db);
  if (!
$result)
  {
    echo 
"<p>Запрос не прошел. </p>";
    exit(
mysql_error());
  }
  if (
mysql_num_rows($result) > 0)
  {
    
// Получаем массив данных
    
$array = array();
    while (
$myrow mysql_fetch_array($result));
    {
      
$array[] = $myrow;
    }
    
// Вывод в две колонки
    
if(!empty($array))
    {
      echo 
"<table>";
      for(
$i 0$i count($array); $i $i 2)
      {
        echo 
"<tr><td>";
        if(!empty(
$array[$i])) echo $array[$i]["title"];
        echo 
"</td><td>";
        if(!empty(
$array[$i 1])) echo $array[$i 1]["title"];
        echo 
"</td></tr>";
      }
      echo 
"</table>";
    }
  }
?>

  Ответить  
 
 автор: sneh   (26.09.2009 в 13:56)   письмо автору
 
 

нужно, чтобы выводилась информация полученная из БД в 2 колонки
код выглядит так :
$result = mysql_query("SELECT * FROM poduct WHERE podcat='$id' ORDER BY id LIMIT $start, $num",$db);
if (!$result)
{
echo "<p>Запрос не прошел. </p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
printf
("<table class='pod' >
<tr>

<td align='center' class='product'>
<p align='center' class='product' href='view_product.php?id=%s'>%s</a></p>
<a aalign='center' class='product' href='%s' title='%s' target='_blank'><img class='mini' src='%s' alt='%s' /></a>
</tr>
<tr>
<td class='product_link'>Цена %s<p class='pod_view'></p></td></tr>
<tr>
<td align='right'> <a class='pod_teg' href='view_product.php?id=%s'>Подробнее...</a></p></td>
</tr>
</table><br><br>",$myrow["id"],$myrow["title"],$myrow["mini_img"],$myrow["title"],$myrow["img"],$myrow["title"],$myrow["price"],$myrow["id"]);

}
while ($myrow = mysql_fetch_array($result));

  Ответить  

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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