Вывод из MySQL по ID. Выборка из середины.

Тема в разделе "PHP", создана пользователем Stripe, 22 май 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Stripe

    Stripe

    Регистр.:
    21 окт 2007
    Сообщения:
    164
    Симпатии:
    9
    Столкнулся с проблемой, необходимо вывести из базы 10 записей, но вывести не просто так, а в две колонки, в первой значения от 1 до 5 (С этим вопросов нет) во второй от 6 до 10 (не понимаю эту часть). Как можно реализовать подобный вывод? Отсортировать базу можно только по ID от 1 до 10.
     
  2. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Выбери 10 записей отсортированных по id и выведи их как тебе надо.
    В чём проблема?
     
  3. Stripe

    Stripe

    Регистр.:
    21 окт 2007
    Сообщения:
    164
    Симпатии:
    9
    Как выбрать из базы записи с ID 6-10?
     
  4. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    SELECT * FROM table WHERE id >= 6 AND id <= 10;

    Только почему записи с ID 6-10 если тебе надо 10 записей?
     
  5. alexandr1235

    alexandr1235 Постоялец

    Регистр.:
    28 дек 2007
    Сообщения:
    121
    Симпатии:
    34
    Выложи код тобою написанный. Посмотрим, исправим и все заработает
     
  6. Stripe

    Stripe

    Регистр.:
    21 окт 2007
    Сообщения:
    164
    Симпатии:
    9
    PHP_Master с 6 по 10 потому что данные идут в две таблицы.
    Вот в качестве примера:
    pdj.ru
    Там треки идут в две колонки на морде, мне нужно сделать почти то же самое.
    alexandr1235
    PHP:
    // Выводим заголовок таблицы:
    echo "<table border=\"1\" width=\"100%\" bgcolor=\"#FFFFE1\">";
    echo 
    "<tr><td>Email</td><td>Имя</td><td>Месяц</td>";
    echo 
    "<td>Число</td><td>Пол</td></tr>";

    // SQL-запрос:
    $q mysql_query ("SELECT id,name_eng,bitreit,potok,bitreit1,potok1,musick FROM oradio");

    // Выводим таблицу:
    for ($c=0$c<mysql_num_rows($q); $c++)
    {
    echo 
    "<tr>";

    $f mysql_fetch_array($q);
    echo 
    "<td>$f[id]</td><td><strong>$f[name_eng]</strong> ($f[musick])</td><td></td></tr>";
    echo 
    "<tr><td></td><td><a href=$f[potok]>$f[bitreit]</a>&nbsp;<a href=$f[potok1]>$f[bitreit1]</a>&nbsp;<a href=$f[potok2]>$f[bitreit2]</a>&nbsp;<a href=$f[potok3]>$f[bitreit3]</a>&nbsp;<a href=$f[potok4]>$f[bitreit4]</a></td>";

    echo 
    "</tr>";
    }
    echo 
    "</table>";
    Добавлено через 2 минуты
    Короче этот код выведет все вот так:
    HTML:
    <table>
    <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    </tr>
    </table>
    Мне нужно вот так:

    HTML:
    <table>
    <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    </tr><tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    </tr>
    </table>
     
  7. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    И что тебе мешает выбрать сразу 10 записей и скриптом их распихать по колонкам?
     
  8. Stripe

    Stripe

    Регистр.:
    21 окт 2007
    Сообщения:
    164
    Симпатии:
    9
    Не знаю к чему прицепиться, ID может быть не 6-10, а 99-104 например.
     
  9. alexandr1235

    alexandr1235 Постоялец

    Регистр.:
    28 дек 2007
    Сообщения:
    121
    Симпатии:
    34
    Ну и что тут такого Статические данные в коде

    SELECT * FROM table WHERE id >= 6 AND id <= 10;

    замени динамическими.
     
  10. BDSG

    BDSG

    Регистр.:
    28 фев 2009
    Сообщения:
    203
    Симпатии:
    109
    думаю так.. правда будет не поколоночно 1-5 х 6-10, а построчно 1-2 х 3-4 х 5-6 и т.д..
    PHP:
    $count 1;
    while( 
    $r mysql_fetch_assoc($q) ){

    echo 
    '<td>column data</td>';

    if( ((
    $count++)%2) == ){
    echo 
    '</tr><tr>';
    $count 1;
    }

    }
     
Статус темы:
Закрыта.