0

あるテーブルの特定の説明を持つユーザーを、別のテーブルの一般的な検索の説明と一致させようとしています。一般的な説明を含む foreach があり、その一般的な説明に最適なユーザーを抽出することを期待して、foreach 内にクエリを作成しました。

問題は、をエコーアウトしても結果が得られないことですusername。result['title'] をエコーアウトすると結果が得られます。

if (empty($errors)){
  $results = search_results($keywords);
  $results_num = count($results);

  echo '<p><strong style ="font-size:145%;font-family:georgia;"> Titles: </strong></p> ';

  foreach ($results as $result){
    $query = mysql_query("SELECT username, title from clothing 
    WHERE description LIKE '%$results%'");
    while($row=mysql_fetch_array($query)){
    $username=$row['username'];                     
    $title=$row['title'];
    echo $username;
    }
    echo '<p> <strong>',$result['title'],'</strong> </p>';
  }

}

ユーザーがエコーアウトされない理由を知っていただければ幸いです。また、私は常に学習しており、常に改善する方法を見つけたいと考えているため、プログラミングのヒントをいただければ幸いです。

4

3 に答える 3

1

クエリで$resultsを$resultに置き換える必要があります。

$query = mysql_query("SELECT username, title from clothing WHERE description LIKE '%$result%'");
于 2012-10-25T13:25:19.800 に答える
0

カウントが 0 の場合は、1 つのチェック (エラー メッセージ付き) を設定してみてください。また、LIKE 句の値は、結果ではなく結果でなければなりません

if (empty($errors)){
                $results = search_results($keywords);
                $results_num = count($results);

                if($results_num==0) {
                    echo "NO RESULTS MESSAGE !!!"; 
                }
                else{

                    echo '<p><strong style ="font-size:145%;font-family:georgia;"> Titles: </strong></p> ';

                    foreach ($results as $result){
                      $query = mysql_query("SELECT username, title from clothing WHERE description LIKE '%$result%'");
                      while($row=mysql_fetch_array($query)){
                        $username=$row['username'];                     
                        $title=$row['title'];
                        echo $username;
                      }
                      echo '<p> <strong>',$result['title'],'</strong> </p>';
                    }
               }

           }
于 2012-10-25T13:26:41.683 に答える
0
SELECT username, title from clothing WHERE description LIKE '%$results%'

$results、配列のようです。ここで使用する必要があると思います$result

于 2012-10-25T13:28:42.190 に答える