За последние 24 часа нас посетили 17267 программистов и 1567 роботов. Сейчас ищут 1802 программиста ...

Динамически создаваемая таблица

Тема в разделе "HTML и CSS", создана пользователем KombaInER, 1 июн 2007.

  1. KombaInER

    KombaInER Активный пользователь

    С нами с:
    5 апр 2007
    Сообщения:
    221
    Симпатии:
    0
    Адрес:
    Днепр+Крым=Украина
    Может звучит тупо формулировка вопроса, но столкнулся с проблемой.
    Через каждые три ячейки <td> нужно делать переход на новую строку <tr>

    Как это можно сделать при помощи пхп, если учесть, что страница динамическая: мы не знаем, сколько будет именно всего ячеек <td>
    Может оно и просто делается, но что-то мозги не варят вообще сегодня...
     
  2. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    PHP:
    1. <?php
    2.  
    3. $columns = 3;
    4.  
    5. echo '<table><tr>';
    6. for ($i=0; $data = mysql_fetch_assoc($res); $i++) {
    7.    if ($i && $i%$columns == 0)
    8.       echo '</tr><tr>';
    9.    echo '<td>'.$data['name'].'</td>';
    10. }
    11. for (; $i%$columns; $i++)
    12.    echo '<td></td>';
    13. echo '</tr></table>';
    14.  
    15. ?>
     
  3. KombaInER

    KombaInER Активный пользователь

    С нами с:
    5 апр 2007
    Сообщения:
    221
    Симпатии:
    0
    Адрес:
    Днепр+Крым=Украина
    у меня немного не получилось, броузер выдавал по три, однако бесконечное количетсво строк

    вот исходный код, без скрипта Алекса Гусева
    PHP:
    1. <?php
    2. if ($hand = opendir('photo')) {
    3.     while (false !== ($file = readdir($hand))) {
    4.         if ($file != "." && $file != ".." && $file !== 'index.php') {
    5.                  echo '<td><a href="/photo/'.$file.'" target="_blank">
    6.                         <img src="/mal/mal_'.$file.'"></a><br>
    7.  
    8.                         </td>';
    9.         }
    10.     }
    11.     closedir($hand);
    12. }
    13. ?>
    вот эти вот изображения и надо в строку по три ячейки раскинуть
     
  4. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    очень подозреваю, что таблицу можно заменить на ul/li безо всяких переводов строк ;8)
     
  5. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Должно работать

    PHP:
    1. <?php
    2. $columns = 3;
    3. $skip = array('.', '..', 'index.php');
    4.  
    5. if ($hand = opendir('photo')) {
    6.    echo '<table><tr>';
    7.  
    8.    for ($i=0; ($file = readdir($hand)) !== false;) {
    9.       if (in_array($file, $skip))
    10.          continue;
    11.  
    12.       if ($i && $i%$columns == 0)
    13.          echo '</tr><tr>';
    14.       echo '<td>'.$data['name'].'</td>';
    15.       $i++;
    16.    }
    17.    for (; $i%$columns; $i++)
    18.       echo '<td></td>';
    19.    echo '</tr></table>';
    20. }
    21. ?>
     
  6. KombaInER

    KombaInER Активный пользователь

    С нами с:
    5 апр 2007
    Сообщения:
    221
    Симпатии:
    0
    Адрес:
    Днепр+Крым=Украина
    вот так вот работаеть. Респект Алексу Гусеву

    PHP:
    1. <?php
    2.  $columns = 3;
    3.  $skip = array('.', '..', 'index.php');
    4.  
    5.  if ($hand = opendir('photo')) {
    6.    echo '<table border=0><tr>';
    7.     for ($i=0; ($file = readdir($hand)) !== false;) {
    8.        if (in_array($file, $skip))
    9.          continue;
    10.  
    11.        if ($i && $i%$columns == 0)
    12.          echo '</tr><tr>';
    13.          $k=$i+1;
    14.             echo '<td><a href="/photo/'.$file.'">
    15.                 <img src="/mal/mal_'.$file.'"></a><br>
    16.                 <a href="/photo/'.$file.'">Фото '.$k.'</a>
    17.                 </td>';
    18.        $i++;
    19.    }
    20.    for (; $i%$columns; $i++)
    21.        echo '<td></td>';
    22.        echo '</tr></table>';
    23.  }
    24. ?>