|
|
|
| Уважаемые профессионалы!
Подскажите пожалуйста, как сделать запрос к таблице Б.Д. что бы выбрать из таблицы только те данные которые имеют записи в определенном текстовом поле? | |
|
|
|
|
|
|
|
для: xpom
(07.10.2006 в 12:19)
| | Для этого прибегают к запросу вида
SELECT * FROM tbl WHERE field = 'записи в определенном текстовом поле'
|
| |
|
|
|
|
|
|
|
для: cheops
(07.10.2006 в 12:43)
| | Я так понял, что это когда знаешь уже записи в этом поле? Мне нужно выбрать только те данные, которые имеют запись в текстовом поле (я эти данные не знаю), и вывести их на страницу? | |
|
|
|
|
|
|
|
для: xpom
(07.10.2006 в 12:48)
| | Т.е. те, у которых поле field не пустое? Тогда можно поступить следующим образом
SELECT * FROM tbl WHERE field <> ''
|
| |
|
|
|
|
|
|
|
для: cheops
(07.10.2006 в 12:55)
| | Да, те у которых поле field не пустое! После field равно не нужно? Вот эти <> '' символы обазначают: выбор с не пустыми полями? | |
|
|
|
|
|
|
|
для: xpom
(07.10.2006 в 13:13)
| | Да, последовательность <> '' означает "не равно пустой строке". | |
|
|
|
|
|
|
|
для: cheops
(07.10.2006 в 13:16)
| | Спасибо большое за помощь! | |
|
|
|
|
|
|
|
для: xpom
(07.10.2006 в 13:28)
| | Еще возник вопрос!
Вот я делаю запрос к таблице с этим текстовым полем
$res = mysql_query("SELECT PID, Name FROM Post",$db);
|
как сделать что бы выбрались данные, у которых текстовое поле field пустое и вывести их в выпадающий список? | |
|
|
|
|
|
|
|
для: xpom
(07.10.2006 в 19:16)
| |
SELECT PID, Name FROM Post WHERE Name='';
|
| |
|
|
|
|
|
|
|
для: Slafka
(07.10.2006 в 20:51)
| | Это здесь выбираются с пустым полем Name? | |
|
|
|
|
|
|
|
для: xpom
(07.10.2006 в 20:55)
| | Да, причем лучше сделать запрос
SELECT PID FROM Post WHERE Name = '';
|
т.к поле Name будет заведомо пустое =) | |
|
|
|
|
|
|
|
для: Slafka
(07.10.2006 в 21:12)
| | Так оно будет везде пустое, а мне нужно по какому-то полю выбирать данные? | |
|
|
|
|
|
|
|
для: xpom
(07.10.2006 в 19:16)
| | Для этого следует воспользоваться скриптом вида
<?php
$res = mysql_query("SELECT PID, Name FROM Post WHERE field = ''",$db);
if(!$res) exit(mysql_error());
if(mysql_num_rows($res))
{
echo "<select name=PID>";
while($post = mysql_fetch_array($res))
{
echo "<option value=".$post['PID'].">".$post['Name']."</option>";
}
echo "</select>";
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(08.10.2006 в 13:52)
| | А как выбрать те данные, которые имеют значения в поле field? | |
|
|
|
|
|
|
|
для: xpom
(13.10.2006 в 20:41)
| | Для этого поле нужно добавить через запятую в списке полей после ключевого слова SELECT
<?php
$res = mysql_query("SELECT PID, Name, field FROM Post WHERE field = ''",$db);
?>
|
Правда в данном случае это не имеет смысла, так как поле принимает пустое значение. | |
|
|
|
|
|
|
|
для: cheops
(13.10.2006 в 21:09)
| | А как добавить в имеющуюся таблицу текстовое поле field? | |
|
|
|
|
|
|
|
для: xpom
(13.10.2006 в 21:23)
| | Для этого необходимо воспользоваться оператором ALTER TABLE. Вы в какую позицию хотите поставить поле field? | |
|
|
|
|
|
|
|
для: cheops
(13.10.2006 в 22:36)
| | После 9-го по счету поля, это значит 10-я позиция? | |
|
|
|
|
|
|
|
для: xpom
(14.10.2006 в 12:57)
| | 9-е поле как называется? | |
|
|
|
|
|
|
|
для: cheops
(14.10.2006 в 13:18)
| | Называется:
| |
|
|
|
|
|
|
|
для: xpom
(14.10.2006 в 14:36)
| | Тогда можно воспользоваться следующим запросом
ALTER TABLE `Post` ADD `field` TEXT NOT NULL AFTER `Dost`
|
| |
|
|
|
|
|
|
|
для: cheops
(14.10.2006 в 15:17)
| | Что-то не получается с помощью этого скрипта:
<?php
$res = mysql_query("SELECT PID, Name, FROM Post WHERE field = ''",$db);
?>
|
выбрат данные не имеющие значений в поле field? С кодом данные не выводятся, а без этого кода выводятся все данные?
Мне нужно разделить выбор данных из таблицы, один запрос выбирает данные не имеющие значения в поле field, а другой запрос имеющий значения в поле field. Помогите пожалуйста это проявить в скрипте? | |
|
|
|
|
|
|
|
для: xpom
(14.10.2006 в 18:16)
| | Скрипт
<?php
$res = mysql_query("SELECT PID, Name, FROM Post WHERE field = ''",$db);
?>
|
ошибочен, необходимо писать либо так
<?php
$res = mysql_query("SELECT PID, Name FROM Post WHERE field = ''",$db);
?>
|
либо так
<?php
$res = mysql_query("SELECT PID, Name, field FROM Post WHERE field = ''",$db);
?>
|
т.е. запятой после field быть не должно. | |
|
|
|
|
|
|
|
для: cheops
(14.10.2006 в 22:14)
| | Что-то все равно не получается? Там где ставлю
данные не выводятся, а там где не ставлю code]
WHERE field = ''"
[/code]
выводятся все данные имеющие и не имеющие значений в поле field??? | |
|
|
|
|
|
|
|
для: xpom
(15.10.2006 в 11:30)
| | А поле field в искомых строках точно принимает пустую строку, а не NULL? | |
|
|
|
|
|
|
|
для: cheops
(15.10.2006 в 13:26)
| | Я не знаю? А как это можно проверить? | |
|
|
|
|
|
|
|
для: xpom
(15.10.2006 в 13:49)
| | Создайте дамп таблицы и посмотрите какие значения принимают поля. | |
|
|
|
|
|
|
|
для: cheops
(15.10.2006 в 19:37)
| | Наверное поле field в искомых строках точно принимает NULL? Потому что поля имеют вот такие значения: NULL - YES ; Default - NULL?
А как сделать чтобы поле field в искомых строках принимало пустую строку? | |
|
|
|