0

自分で答えを見つけることができないトリッキーな質問があります。MySQL v5.0.92-50-log および PHP v5.2.17 で Web ホストを使用しています。

私はテーブルを持っています。各行には、別々の列に6つの数字があり、さらにいくつかの列があります-名前など.

私が行う方法を知っている2つのことがあります:

1.すべての行をループして、特定の数値セットとの一致を確認する方法は次のとおりです。

$query = "SELECT * FROM tablename";
$result = mysql_query($query) or die();
$matchValues = array(1,2,3);
while($row = mysql_fetch_array($result)){
$counter = 0;
foreach($matchValues as $value)
{
    if(in_array($value, $row))
    {
        $counter++;
    }
}

次に、「名前」フィールドとその「カウンター」結果 (1 一致、2 一致、または 3) を出力できます。

2.次のように行数を見つける方法を知っています:

$result = mysql_query("SELECT * FROM $tablename WHERE status='Approved'"); $num_rows = mysql_num_rows($result);

それらをどう組み合わせていくかがコツです。1 に従って検索を実行し、名前フィールドと一致数を出力する必要があります。1 一致する行数、2 一致する行数、3 一致する行数を知る必要があります。

どんな助けでも大歓迎です。

4

1 に答える 1

1

これらのタスクの両方を組み合わせるには、単純に を使用SELECT * FROM $tablenameして、カウンターを呼び出すだけ$approved_cntrで、結果を調べて$row['status'] == 'Approved'. これにより、承認済みステータス行の数に相当する値が得られます。

また、使用しているように見える関数は非推奨であるため、mysqliまたはmysql_PDOライブラリを調べることが最善の利益になります。mysql_*

MySQL (PDO) リファレンス: http://php.net/manual/en/ref.pdo-mysql.php

mysqli リファレンス: http://php.net/manual/en/book.mysqli.php

于 2012-08-09T17:13:51.567 に答える