За последние 24 часа нас посетили 62889 программистов и 1743 робота. Сейчас ищут 1173 программиста ...

вывод данных из БД

Тема в разделе "PHP и базы данных", создана пользователем Puk, 17 июн 2011.

  1. Puk

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

    С нами с:
    17 июн 2011
    Сообщения:
    20
    Симпатии:
    0
    Всем доброго дня!
    Прошу громко не смеяться, поскольку вопрос, наверное, детский. Но для меня, как для начинающего, оказался сложным.

    Код:

    <?php
    include("adds/config.php");
    $sql_select = mysql_query("SELECT * FROM text ORDER by id",$db);
    $arr = mysql_fetch_array($sql_select);
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    </head>

    <body>
    <?
    do {
    printf ("<div style='border:1px dotted black'><p><strong><a href='q/index_q.php?id=%s'>%s</a>
    </div>",$arr["id"],$arr["nazvanie"]);
    }

    while ($arr=mysql_fetch_array($sql_select));

    ?>

    </body>
    </html>

    Суть:
    Выводит из БД все записи, сортируя по ID.
    Вопрос:
    Как переделать код так, что бы выводились записи только заданных ID, а не всех? Т.е. не ID 1,2,3, и т.д., а, например, ID 1, 5 99, 120

    Заранее спасибо!
     
  2. Goryn

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

    С нами с:
    4 апр 2006
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    Ярославль
    SELECT * FROM text where id in(1, 5 99, 120) ORDER by id
     
  3. Puk

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

    С нами с:
    17 июн 2011
    Сообщения:
    20
    Симпатии:
    0
    Большое спасибо:)
     
  4. Puk

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

    С нами с:
    17 июн 2011
    Сообщения:
    20
    Симпатии:
    0
    SELECT * FROM

    SELECT * FROM text where id in(1, 5, 99, 120) ORDER by id

    как сделать так, что бы информация выводилась в заданной, например (99, 1, 120, 5), последовательности?
     
  5. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    SELECT * FROM text where id in (99, 1, 120, 5)

    Если id получаются из подзапроса - вставляй в подзапрос сортировку (ORDER BY че-то там)
     
  6. Puk

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

    С нами с:
    17 июн 2011
    Сообщения:
    20
    Симпатии:
    0
    tommyangelo
    а как это выглядит в готовом виде? А то подставляю, но что-то не срабатывает. Наверное, не туда подставляю. Новичок я, не судите строго:(
     
  7. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    SELECT * FROM text where id in (SELECT id FROM .... WHERE ....)
     
  8. Puk

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

    С нами с:
    17 июн 2011
    Сообщения:
    20
    Симпатии:
    0
    Поставил, но заработало всё по старому. Т.е. из БД выделяются нужные строки, но выводятся они в порядке убывания ID. Т.е., наприемр, если в скобках написано (6,2,7,5) то порядок строк на экране 2, 5, 6, 7. А мне нужно, что бы сохранялась последовательность вывода, которая задана в скобках (6,2,7,5). Как этого достичь?
     
  9. Puk

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

    С нами с:
    17 июн 2011
    Сообщения:
    20
    Симпатии:
    0
    разобрался, вопрос закрыт.