2017-03-10 4 views
0

私は2つのsqlテーブルを持っています>>リクエストとサービスプロバイダ 私がやろうとしているのは、サービスプロバイダがリクエストテーブルに存在するかどうかをチェックすることです。他のサービスプロバイダphpのSQLクエリでnotを使用

$query_req="SELECt * FROM requests WHERE ongoing='0'"; 
      $result_req=mysqli_query($dbc,$query_req) or die(mysqli_error($dbc)); 
      while($row_req=mysqli_fetch_array($result_req)){ 
      $query_sp="SELECT * FROM service_provider WHERE id NOT IN $row_req[service_provider_id]"; 
      $result_sp=mysqli_query($dbc,$query_sp)or die(mysqli_error($dbc)); 
      while($row_sp=mysqli_fetch_array($result_sp)){ 
      ?> 
      <tr> 
       <td><img src="<?php echo $row_sp['picture']; ?>" alt="" /></td> 
       <td class="cart-title"><a href="#"><?php echo $row_sp['name']; ?></a></td> 
       <td><?php echo $row_sp['wage_hour']; ?></td> 
       <td><?php echo $row_sp['rating']; ?></td> 
       <td><a href="confirm_request.php?id=<?php echo $row_sp['id']; ?>" class="button color ">Request Skillfull</a></td> 
       </tr> 
       <?php 
       } 

        } 
         ?> 

私は得続けるerrosが

+0

あなたはどのようなエラーが出るのですか? –

+0

SQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックし、正しい構文が1行目付近で使用されるようにしてください。 –

+0

それは説明しています。構文エラーがあります。 :-)実際には、私はそれを参照してください - NOT INの後の値リストのまわりに括弧があるはずですので、必要です: '... NOT IN(....)' –

答えて

0

はこれを試してみてください助けpealse:次のように行うにはどのようにサービスプロバイダのテーブルからの要求テーブルのものをexceptsでIDS ..ので
私のコードです。それはつもりidが要求継続中=「0」 にないすべてのservices_providersを選択

SELECT * FROM service_provider WHERE id NOT IN (SELECT id FROM requests WHERE ongoing='0') 
+0

uにもかかわらず重複を取得しています.. >>私はservice_provider_id(1)と(2)リクエストテーブルにあります。>>私が得たい結果は、service_providerテーブルからのサービスプロバイダID番号3のみです。 please –

+0

問題はSQLですか? service_providerテーブルに1,2,3があり、リクエストテーブルに1,2がある場合。私はあなたに3を返すつもりを与える。 – Roy

+0

私は修正し、魔法のように働いた。多くの感謝 –

関連する問題