我有一个表显示来自数据库的记录。我的一个列是删除,我需要的是如果值在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 |
答案 0 :(得分:0)
如果你需要知道的是代码是否存在于table2中那么可能就是这样的(我猜一些列名等等,所以你必须让它适应你的数据库):
$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>";
}
即使table2中没有对应的值,左连接也将返回table1中的值,但对于从table2中选择的任何列,它将返回NULL。