2017-10-28 44 views
1

我有2个表,一个名为Global_list,另一个名为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

更换

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

随着

$just= mysqli_fetch_array($peres); 

然后再试试下面的查询:

$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($连接, “SELECT * FROM Global_list WHERE PE_number NOT IN(“.implode(',',$ just)。”) “); –

相关问题