запрос к id в базе?

Тема в разделе "PHP", создана пользователем sunyang, 30 мар 2011.

Модераторы: latteo
  1. sunyang

    sunyang

    Регистр.:
    25 апр 2009
    Сообщения:
    444
    Симпатии:
    30
    Вот в этом скрипте:
    PHP:
    <?php
    // вывод имеющихся комментариев
    //Подключаемся к базе
    @MYSQL_CONNECT('localhost''root''') or die("Ошибка при соединении с Базой MySQL!!!");
    //выбираем БД
    @MYSQL_SELECT_DB('mydb') or die("Не могу выбрать базу <b>mydb</b>");
    //устанавливаем кодировку
    @mysql_query("SET CHARACTER SET cp1251;") or die("Invalid query: "mysql_error());
    //выбираем все комментарии
    $result=mysql_query("SELECT * FROM comments");
    while (
    $row=mysql_fetch_array($result))
    {
      
    //последовательно выводим все комментарии
      
    echo "<hr><b>".$row['name']."</b><br>".$row['text'];
    }
    ?>
    </div><br><br>
    <div align=center id=cerror></div>
    <form  name=comment id=com>
    Ваше имя:<br>
    <input  type=text name=comname><br>
    Текст записи:<br>
    <textarea name=comtext cols=69 rows=10></textarea><br>
    <input id=sub type=submit value="Добавить комментарий" onClick="addComment(); return false;">
    </form>
        <!-- комменты -->
    ...происходит выбор ВСЕХ комментариев из базы mydb
    база:
    PHP:
    -- Database: `mydb`
    -- 
    Table structure for table `comments`
    --
    CREATE TABLE IF NOT EXISTS `comments` (
      `
    idint(11NOT NULL AUTO_INCREMENT,
      `
    namevarchar(100NOT NULL DEFAULT '',
      `
    texttext NOT NULL,
      
    PRIMARY KEY (`id`)
    ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=;
    --
    -- 
    Dumping data for table `comments`
    --
    INSERT INTO `comments` (`id`, `name`, `text`) VALUES
    (1'имя1''содержание коммента'),
    (
    2'имя2''содержание коммента2');
    Мне нужно, чтобы вытаскивались из базы не все коменты, а только с определенным id, который записан в переменную (например $com_id)
    Как можно переписать выборку из базы?
     
  2. Monterpan

    Monterpan Постоялец

    Регистр.:
    3 мар 2008
    Сообщения:
    150
    Симпатии:
    27
    Вместо
    PHP:
    $result=mysql_query("SELECT * FROM comments");
    написать:
    PHP:
    $result=mysql_query("SELECT * FROM comments WHERE id = " intval($com_id));
     
  3. rizhiknet

    rizhiknet Создатель

    Регистр.:
    27 май 2009
    Сообщения:
    22
    Симпатии:
    2
    А если нужно выбрать несколько записей, то
    PHP:
    $com_id "5,13,14,18";
    $result=mysql_query("SELECT * FROM comments WHERE id IN (".$com_id.")"); 
     
  4. AXP

    AXP Создатель

    Регистр.:
    16 мар 2007
    Сообщения:
    27
    Симпатии:
    2
    PHP:
    $com_id = array(5,13,14,18);
    $com_id[] = 25;
    $result mysql_query("SELECT * FROM comments WHERE id IN (".implode(','$com_id).")");