所以我现在有一个数据库表,我试图选择所有记录,除了包含在我所做的数组中的所有记录。正如一些背景方面:MySQL,PHP:从表中选择*,其中id不在数组中
在有问题的数据库表的结构是:
server_status:
id int(11)
server_id int(11)
time_checked datetime
status char(1)
我的PHP脚本来获取数据到哈希看起来是这样的:
$sql2 = "SELECT server_id, time_checked,id from server_status where time_checked
$result2=$conn->query($sql2);
while($row2 = $result2->fetch_assoc()){
$server_id = $row2['server_id'];
$id = $row2['id'];
$dt = $row2['time_checked'];
$year = substr($dt,0,4);
$month = substr($dt,5,2);
$day = substr($dt,8,2);
$day = "$year-$month-$day";
$all[$server_id][$day] = $id; // ARRAY
}
所以我试图做的是创建一个MySQL查询,从数组中读入ID($ id),并从中选择* APART。从查看它,似乎我将不得不使用'where not'子句,但我不知道如何在此引用散列。
进一步澄清:我现在有,提取数据,看起来像这样的数组:
1{
2016-05-05 : 252
2016-05-10 : 406
2016-04-27 : 141
2016-05-04 : 164
2016-05-09 : 263
2016-05-03 : 153
2016-04-26 : 131
2016-04-14 : 1
2016-04-18 : 31
2016-04-21 : 111
2016-04-20 : 61
2016-04-19 : 51
2016-04-15 : 21
2016-04-25 : 121
}
2{
2016-05-10 : 452
2016-05-05 : 198
2016-05-09 : 264
2016-05-04 : 165
2016-04-26 : 132
2016-04-27 : 143
2016-04-25 : 122
2016-04-21 : 112
2016-05-03 : 154
}
我想从这个数组取的ID(如154),并在不表中选择的一切有任何上述ID。我希望这有助于澄清?!
任何帮助将不胜感激!
2016-05-13
dplatt
+0
你叫什么*散列*? –
+0
'$ all [$ server_id] [$ day] = $ id;'抱歉,我想我可能会使用我老板使用的术语! :P在PHP中可能被称为多维数组?但我认为它被方括号认为是散列。 –
+0
??没有散列。并用这个解释你的目标变得更加不明确 –