我试图从'具体'中选择不同的名称,但仅限于col Type =特定值。
例如我有
rowID Type Specifically
1 cat Ocicat
2 cat Bombay
3 cat Bombay
4 cat Bengal
5 cat Savannah
6 dog Collie
7 dog Keeshond
8 dog Pug
9 dog Keeshond
10 dog Pug
11 dog Doberman
12 Horse n/a
我想读出类似
的内容type=cat and specific=Bengal
type=cat and specific=Bombay
type=cat and specific=Ocicat
type=cat and specific=Savannah
我目前有这个,但它给了我'未定义的索引:输入'
$Result = mysql_query("select distinct Specifically from pet_table WHERE Type='cat' ORDER BY Specifically asc ");
while($row = mysql_fetch_array($Result))
{
PRINT("type=".$row['Type']." and specific=".$row['Specifically']."<BR>");
}
我还想做类似的事情,那就是Type不是猫或狗或马......等等。
由于
答案 0 :(得分:2)
索引不存在,因为您没有选择它。在Type
语句中加入SELECT
进行修复。
答案 1 :(得分:2)
您收到Undefined Index错误,因为您没有提取Type
列,但正在尝试使用它。
将您的查询更改为。
select type, distinct Specifically from pet_table
WHERE Type='cat' ORDER BY Specifically asc
其次,如果你想要Type而不是cat或dog或horse,你可以使用NOT IN
子句。
最后,请不要使用MySQL,因为它没有维护并且已弃用。考虑使用,MySQLi或PDO。
答案 2 :(得分:1)
你想要GROUP BY
SELECT Type, Specifically FROM pet_table
WHERE Type='cat'
GROUP BY Specifically
ORDER BY Specifically asc
答案 3 :(得分:0)
您收到此错误的原因是您没有选择Type
。
$res = mysql_query("SELECT DISTINCT `Specifically`,`Type` from `pet_table` WHERE `Type`='cat' ORDER BY `Specifically` ASC");
while($row = mysql_fetch_assoc($res))
{
echo "The type is {$row['Type']} and it is specifically a {$row['Specifically']}
}