2017-10-28 5 views
1

を使用して、配列を私は2つのテーブル、Global_listという名前の1とPayment_historyという名前の他のを持っています。は、ループの別の配列

Global_listは、企業のリストであるとPayment_historyは支払わ会社です。

私は、グローバルリストを抽出し、特定の月のために払っていない人を確認するために、支払い履歴にそれを比較したいです。私の試行はこれまでのところ成功しておらず、どこが間違ってループしているのかわかりません。

$just = array(); 
$peres = mysqli_query($link, "SELECT DISTINCT(PE_number) 
     FROM Payment_history 
     WHERE Payment_month = '$_REQUEST[period]' "); 

while ($perow = mysqli_fetch_array($peres)) { 
    array_push($just, $perow); 
}; 
$globalres = mysqli_query($link, "SELECT PE_number 
     FROM Global_list 
     WHERE PE_number <> '$just' 
     "); 

while ($globalrow = mysqli_fetch_array($globalres)) { 
    $number = $globalrow['PE_number']; 
    $name = $globalrow['PE_name']; 
    print (" 
      <tbody><tr> 
        <td>$number</td> 
        <td>$name</td> 
        <td></td> 
       </tr> 
      "); 
}; 
+0

はTiaan、子供のようなもの、として危険な入力を入れないでくださいあなたのSQLクエリ。常に準備文を使用してください。 – DanMan

+0

注目、私はPHPに新しいと私の方法を見つける。これについてのアドバイスはありますか? –

答えて

0

$just= mysqli_fetch_array($peres); 

while ($perow = mysqli_fetch_array($peres)) { 
    array_push($just, $perow); 
}; 

を交換し、次のクエリを試してみてください。

$query = "SELECT PE_number 
     FROM Global_list 
     WHERE PE_number not in (" .array_map('intval',$just).")"; 

$globalres = mysqli_query($link,$query); 
+0

おかげで、それには、以下のエラー「お知らせ:文字列への変換アレイの中で」与え –

+0

私は私のクエリを改正し、編集答え –

+0

てみてください: $ globalres = mysqli_query($リンク、 「を選択Global_list PE_number * FROM ( ".implode( '、'、$ just)。") "); –

関連する問題