1

「具体的に」から個別の名前を選択しようとしていますが、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>");
}

また、タイプが猫でも犬でも馬でもないようなことをしたいと思います... ect

ありがとう

4

4 に答える 4

2

選択していないため、インデックスは存在しません。ステートメントに含めて修正してTypeください。SELECT

于 2013-03-12T17:54:41.703 に答える
2

列をフェッチしていないがType、それを使用しようとしているため、未定義のインデックス エラーが発生します。

クエリを次のように変更します。

select type, distinct Specifically from pet_table 
WHERE Type='cat' ORDER BY Specifically asc

第 2 に、Cat、Dog、Horse 以外の Type が必要な場合は、NOT IN句を使用できます。

最後に、MySQL はメンテナンスされておらず、非推奨であるため、使用しないでください。MySQLi または PDO の使用を検討してください。

于 2013-03-12T17:54:46.663 に答える
1

あなたはGROUP BYが欲しい

SELECT Type, Specifically FROM pet_table
  WHERE Type='cat'
  GROUP BY Specifically
  ORDER BY Specifically asc
于 2013-03-12T17:53:50.793 に答える
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']}
}
于 2013-03-12T17:57:02.720 に答える