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

Форум PHP

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

 

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

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

тема: Результат по столбцам
 
 автор: vitroot   (11.04.2008 в 13:19)   письмо автору
 
 

есть результат запроса (из мускуля) - $rows строк - $res["str"].
Их необходимо вывести, но не просто все в одну строку, или каждую строку в отдельной строке, а, например, в виде таблицы, в которой, например, 10 строк, а столбцов $cols=(int)($rows/10)+1

Кто подскажет, у меня в голове крутиться только способ с использованием в запросе LIMIT'а, но как-то это слишком коряво...

   
 
 автор: Antohins   (11.04.2008 в 13:29)   письмо автору
 
   для: vitroot   (11.04.2008 в 13:19)
 

Насколько я правильно понял вам нужно разместить инфу из бд в различных местах.

Решил я эту проблему таким образом:
while($row=mysql_fetch_array($req))
{
$arr[]=$row['blablabla'];
}

После этого используем массив arr где хотим.

   
 
 автор: vitroot   (11.04.2008 в 13:35)   письмо автору
 
   для: Antohins   (11.04.2008 в 13:29)
 

Или не очень понял я, или - меня. Приведу кусок кода:


$this_model=mysql_query("SELECT model_id,model_firm,model_desc FROM cars_model;");

echo '<table border="1">';

$rows=mysql_num_rows($this_model);
$cols=($rows/10)+1; # это так, заготовка...

for ($m=1; $m < $rows; $m++)
  {
    echo '<tr>';
    $array_model=mysql_fetch_array($this_model);
    echo '<td>'.$array_model["model_desc"].'</td>';
    echo '</tr>';
  }
echo '</table>';


Вот в таком случае, результатом будет таблица с один столбцом, но туевой хучей строк. Я же хочу, чтобы строк было 10 (в данном случае), а столбцов - $cols

   
 
 автор: AcidTrash   (11.04.2008 в 14:27)   письмо автору
 
   для: vitroot   (11.04.2008 в 13:35)
 

Такого типа не подойдет?
<?php
 $this_model
=mysql_query("SELECT model_id,model_firm,model_desc FROM cars_model;");
  echo 
"<table>";
  
$final 0;
  while(
$array_model mysql_fetch_array(this_model))
  {
    if(
$final == 0) echo "<tr>";
    echo 
"<td>".$array_model['model_desc']."</td>";
    
$final++;
    if(
$final == 10)
    {
       echo 
"</tr>";
       
$final 0;
    }
  }
  echo 
"</table>";
?>  

   
 
 автор: CassIO   (11.04.2008 в 14:58)   письмо автору
 
   для: AcidTrash   (11.04.2008 в 14:27)
 

Раньше тоже не знал как пользоваться, но помнится где то у меня валялся код, модифицированный из вышенаписаного AcidTrash. Там можно было просто подставить нужную переменную, т.е. кол-во столбоц во сколько будет выводиться...и все...

   
 
 автор: vitroot   (12.04.2008 в 09:45)   письмо автору
 
   для: AcidTrash   (11.04.2008 в 14:27)
 

Спасибо, это-то работает, но вот что-то не могу догнать, как бы сделать примерно так же, но только чтобы очередность строк шла не по горизонтали (как в данном случае), а по вертикали? То есть сперва все строки идет в одном столбце вниз, потом, спустя $res/10 строк, результаты шли во втором столбце, затем в третьем и т.д.

   
Rambler's Top100
вверх

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