我有一个表显示数据库中的记录。我的专栏之一是用于删除的,我需要的是如果该值同时存在于 table1 和 table2 中,则使链接无效。或者,如果值仅在 table1 上,则删除按钮不应为空。请帮助?
$query1 = $mysqli1->query("select * from code WHERE item LIKE '%$search%' OR item_code LIKE '%$search%' OR cat_code LIKE '%$search%' order by item_code ASC");
$query2 = $mysqli1->query("SELECT count(*) FROM code");
$query3 = $mysqli->query("SELECT count(*) FROM app");
while($r = $query1->fetch_assoc()){
echo"<tr>
<td>".$r['item']."</td>
<td>".$r['cat_code']."</td>
<td>".$r['item_code']."</td>";
if(mysqli_num_rows($query3) == 0 && mysqli_num_rows($query2) == 0) {
echo "<td><a href='#' id='".$r['id']."' class='del'><img src='../images/del.png'></a></td>";
} else {
echo "<td><a href='javascript:void(0)'><img src='../images/stop.png'></a></td>";
echo"</tr>";
}
如果 ACR-100 存在于数据库的两个表中,则链接应无效
表1 -------------- 表2
Code | Code
------ | ------
ACR-100 | ACR-100
否则,如果 ACR-100 仅在 table1 上,则链接不应无效。
表1 -------------- 表2
Code | Code
------ | ------
ACR-100 |
最佳答案
如果您需要知道的只是表2中是否存在代码,那么可能是类似的内容(我猜测一些列名称等,因此您必须使其适应您的数据库):
$query1 = $mysqli1->query("select code.*, app.item_code as app_code from code LEFT JOIN app ON code.item_code = app.item_code WHERE code.item LIKE '%$search%' OR code.item_code LIKE '%$search%' OR code.cat_code LIKE '%$search%' order by code.item_code ASC");
while($r = $query1->fetch_assoc()){
echo"<tr>
<td>".$r['item']."</td>
<td>".$r['cat_code']."</td>
<td>".$r['item_code']."</td>";
if($r['app_code'] == '') {
echo "<td><a href='#' id='".$r['id']."' class='del'><img src='../images/del.png'></a></td>";
} else {
echo "<td><a href='javascript:void(0)'><img src='../images/stop.png'></a></td>";
echo"</tr>";
}
即使表2中没有对应的值,左连接也会返回表1中的值,但对于从表2中选择的任何列,左连接都会返回NULL。
关于php - 比较两个表中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22925347/