Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод данных из Мускула в несколько колонок??? Как реализовать?... 
:(
    Опции темы
-=Ustas=-
Дата 4.7.2005, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



Доброго времени суток!
Столкнулся со следующим, допустип есть вывод данных

Код

Db_Connect(...,...,...,);
$sql = "SELECT field_1 FROM my_table";
$res = mysql_query($sql) or die(mysql_error());
if ($res) {
    while ($data = mysql_fetch_array($res)) {
        echo $data['field_1']."<br>";
    }
}

Ну так вот, как этот вывод сделать двумя столбцами, т.е. чтобы поля таблицы выводились примерно в следующем виде:

1-------------- 2--------------
3-------------- 4--------------
5-------------- 6--------------
7-------------- 8--------------
9-------------- 10------------
11------------ 12-------------

Заранее сеньки!



--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Opik
Дата 4.7.2005, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 2
Всего: 55



добавь инкримент($i++), если он доходит до 2, то обнуляй его и рисуй сброс, и так далее.
PM MAIL Skype   Вверх
PARROT
Дата 4.7.2005, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 3
Всего: 50



Код

$sql = "SELECT field_1 FROM my_table";
$res = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_array($res)) {
 if(($i % 2) != 0) {
?>
</tr>
<tr>
<?
}
?>
<td><?=$data[0];?></td>
<?
$i++;
}



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Bikutoru
Дата 4.7.2005, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 2
Всего: 22



А еще вместо $i++ можно использовать $i = 1 - $i;
Тогда не потребуется делать $i % 2. Хотя особенной разницы нет.

Это сообщение отредактировал(а) Bikutoru - 4.7.2005, 15:56


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
-=Ustas=-
Дата 4.7.2005, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



Цитата(PARROT @ 4.7.2005, 15:32)
Код

$sql = "SELECT field_1 FROM my_table";
$res = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_array($res)) {
 if(($i % 2) != 0) {
?>
</tr>
<tr>
<?
}
?>
<td><?=$data[0];?></td>
<?
$i++;
}

Что-то этот кусок вообще выводит подобное:
Код

<td>1</td><td>2</td><td>3</td><td>4</td>




--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Mal Hack
Дата 4.7.2005, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Код
<?php

$st=2; // Количество столбцов
// count( $mas ) - mysql_num_rows
print "<table>";
for( $i = 0 ; $i < ceil( count( $mas ) / $st ); $i++ )
  {
   print "<tr>";
   for( $j = 0 ; $j < 4 ; $j++ )
    {
      if( isset( $mas[ ( ( $i * 4 ) + $j ) ] ) )
       {  print "<td>" . $mas[ ( ( $i * 4 ) + $j ) ] . "</td>";  }
      else
       {  print "<td>&nbsp;</td>";  }
    }
   print "</tr>";
  }
print "</table>";

?>

mysql_fetch_array делать внутри вложенного фора по j.
Это как один из вариантов реализации.
PM ICQ   Вверх
Opik
Дата 4.7.2005, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 2
Всего: 55



Mal Hack
зачем так сложно?
PM MAIL Skype   Вверх
Mal Hack
Дата 4.7.2005, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Opik ИМХО, это самый простой вариант smile
PM ICQ   Вверх
Opik
Дата 4.7.2005, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 2
Всего: 55



Mal Hack
ПРОСТОЙ?smile))))))
Код

$out = '<table><tr>';
$i = 0;
while($row = mysql_fetch_assoc($query))
{
          $i++;
          $out .= '<td>'.$row['data'].'</td>'."\n";
          if($i == 2)
          {
                    $out .= '</tr><tr>'."\n";
                    $i = 0;
          }
}
$out .= '</table>';

а так не проще?
Добавлено @ 18:50
мож тока ещё добавить пустую ячейку если что smile

Это сообщение отредактировал(а) Opik - 4.7.2005, 18:49
PM MAIL Skype   Вверх
Mal Hack
Дата 4.7.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Opik на вкус и цвет smile
PM ICQ   Вверх
Opik
Дата 4.7.2005, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 2
Всего: 55



Mal Hack
на вкус и цвет говоришь? у тебя на 1 цикл больше, хрен знает ещё считаешь там что то smile)) вообщем уже не суть важно.
PM MAIL Skype   Вверх
-=Ustas=-
Дата 5.7.2005, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



Пасибки! Всё пучком! smile


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0587 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.