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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление данных из БД в таблицу, с форматированием в таблицу 
:(
    Опции темы
vintyara
Дата 9.5.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 24.3.2005
Где: Ode$$a

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



Проблема такая.
Есть таблица с двумя столбиками (в html).
Есть БД с кучей новостей.
Нужно брать данные из этой таблицы и выводить в этой самой таблице. В столбик это зделать для меня элементарно. А вот как здеать чередование - первая новости появляется в левом столбце моей таблицы, вторая - в правом, третья опять в левом (ниже первой) и т.д. - для меня загадка.
У кого будут какие идеи ? 
PM MAIL ICQ   Вверх
Darhazer
Дата 9.5.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 28.9.2005
Где: HellCity (Sofia, Bulgaria)

Репутация: 7
Всего: 29



В цикле проверяеш переменную за четность:
Код

echo '< table ... >';

for ( $i=0; $<mysql_num_rows($result); $i++)
{
     if ( $i % 2 == 0 ) echo '<tr>';
     $row = mysql_fetch_object($result);
     echo '<td>'.$row->content.'</td>';
     if ( $i % 2 != 0 ) echo '</tr>';
}
echo '</table>';
 


--------------------
I'm a wheel, I'm a wheel, I can roll, I can feel
But you can't stop me turning
'Cause I'm the sun, I'm the sun, I can move, I can run
But you'll never stom me burning
PM MAIL WWW ICQ YIM   Вверх
vintyara
Дата 9.5.2006, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 24.3.2005
Где: Ode$$a

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



Darhazer, спасибо за совет! но что-то никак не могу придумать как пользовать его в своём коде.
На всякий случай приведу кусок своего кода :

Код

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{


        $foto=$row['foto'];
        if ($foto == '0')
        {
        echo '
        <table width=250px>
        <tr><td>'.$row['name'].'</td></tr>
        <tr><td>'.$row['date'].'</td></tr>
        <tr><td>'.$row['descrip'].'</td></tr>
        <tr><td><a href="'.$row['link'].'">Подробнее</a></td></tr>
        </table>
        ';
        }
        else
        {
        echo '
        <table width=200px>
        <tr><td rowspan=2><img src=news/pic/'.$row['id'].'/small/'.$row['foto'].'></td><td>'.$row['name'].'<br>'.$row['date'].'</td></tr>
        <tr><td colspan=2>'.$row['descrip'].'</td></tr>
        <tr><td colspan=2><a href="'.$row['link'].'">Подробнее</a></td></tr>
        </table>';
        }

}


Принцип этого куска такой - идём в БД, забераем новости с таблицы. Если в новости (в строке) есть фота, то помещаем новость в первый тип таблицы, иначе в другой.
В итоге у меня в ряд, вертикально, получается несколько таблиц.

Т.е. таблица у  меня рисуется по любому. По сути мне нужно создать ещё одну таблицу

Код

<table ...>
<tr><td> XXX  </td><td> YYY </td></tr>
...


в которую будет поочерёдно втсавляться, вместо XXX и YYY данные с БД.

 
 smile
 
PM MAIL ICQ   Вверх
Darhazer
Дата 9.5.2006, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 28.9.2005
Где: HellCity (Sofia, Bulgaria)

Репутация: 7
Всего: 29



Ну я сделал бы с немного буферирования...

Код

echo '<table>';
echo '<tr><td> XXX  </td><td> YYY </td></tr>';
$html = '';
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{
        $foto=$row['foto'];
        $html .= '<tr>';
        if ($foto == '0')
        {
        $html .=  '<td>
        <table width=250px>
        <tr><td>'.$row['name'].'</td></tr>
        <tr><td>'.$row['date'].'</td></tr>
        <tr><td>'.$row['descrip'].'</td></tr>
        <tr><td><a href="'.$row['link'].'">Подробнее</a></td></tr>
        </table>
        </td><td> <!-- MARKER --> </td></tr>';
        }
        else
        {
        $tmp = '
        <table width=200px>
        <tr><td rowspan=2><img src=news/pic/'.$row['id'].'/small/'.$row['foto'].'></td><td>'.$row['name'].'<br>'.$row['date'].'</td></tr>
        <tr><td colspan=2>'.$row['descrip'].'</td></tr>
        <tr><td colspan=2><a href="'.$row['link'].'">Подробнее</a></td></tr>
        </table>';
         $html = str_replace("<!-- MARKER -->", $tmp, $html, 1);
        }
}
echo $html;
echo '</table>';

Конечно, это будет работать только если первий тип таблиц не менше чем второй
Но можно не много доработать... 


--------------------
I'm a wheel, I'm a wheel, I can roll, I can feel
But you can't stop me turning
'Cause I'm the sun, I'm the sun, I can move, I can run
But you'll never stom me burning
PM MAIL WWW ICQ YIM   Вверх
vintyara
Дата 9.5.2006, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 24.3.2005
Где: Ode$$a

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



Darhazer, 
спасибо ! буду сейчас разбирать smile !

Приветствуются другие идеи ! 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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