如果多个表中存在记录,则禁用删除按钮


Disable delete button if record exist in multiple table

我在这里有mysql记录显示在带有删除按钮的html表中。我需要做的是禁用删除按钮,如果两个数据库表中都存在记录。

如果两个表中都已存在记录,如何禁用每行的删除按钮? 任何帮助将不胜感激。

$search = $mysqli1->real_escape_string($_POST['bid']);
$search = preg_replace("/[^A-Za-z0-9 ]/", '', $search);
$search = $_POST['bid'];
$res = $mysqli1->query("select * from code WHERE item LIKE '%$search%' OR item_code LIKE '%$search%' OR cat_code LIKE '%$search%' order by item_code ASC");
while($r = $res->fetch_assoc()){
echo "<tr>
<td><a href='#' id='".$r['id']."' class='del'><img src='../images/del.png'></a></td>
</tr>";
}

抛出一个简单的 if() 语句与两个查询连接在 pdo 中,您可以使用 ->rowCount()不确定在 mysqli 中

所以你需要这个逻辑

查询 1 = 表 1 中的计数行

query2 = 表 2 中的计数行

就好像你说如果它存在于两个表中,它应该隐藏它,所以你将使用一个if-or statement

if(query1 == 0 || query2 == 0){
 //show your button
}

这里的立场很简单:

if(query1 equals 0 rows OR query2 equals 0 rows){
 //show your button
}
//While you don't put up the else with something else it won't show anything
//so if there are the value of 1+ rows in both query1 and query2 this won't show anything

如果您希望我提供PDO示例,请回复

编辑:

PDO类,使其更容易连接

class Database extends PDO
{
    private $db;
    public function Database($host, $user, $pass, $db) {
        try {
            $this->db = new PDO("mysql:dbname=".$db.";host=".$host.";",    $user, $pass);       
        } catch(PDOEXCEPTION $e) {
            die('An error has occurred! [Code: '.$e->getCode().']!  <br/>More info: ['.$e->getMessage().']!');
        }
    }
    public function runQuery($query) {
        try{
            return $this->db->query($query);
        } catch(PDOEXCEPTION $e) {
            die('An error has occurred! [Code: '.$e->getCode().']!<br/>More info: ['.$e->getMessage().']!');
        }       
    }
}

现在行计数:更新了 &&和 2x query1 检查的小错误

 $consite = new Database('DBHost','DBUsername','DBPassword','DBName');
 $query1 = $consite->runQuery("SELECT * FROM TABLE1");
 $query2 = $consite->runQuery("SELECT * FROM TABLE2");
 if($query1->rowCount() == 0 || $query2->rowCount() == 0) {
  //do your while statement to loop through it
  //if you done your while statement it only shows the delete button
  //for items that are NOT in both tables
 }

抱歉,我懒得添加while语句;)如果我是对的,您可以从 sql 查询中的多个表中进行检查,因此如果您进行以下 1 个查询的多重检查,您可以使用 1 个查询来完成!

编辑:这个问题的逻辑步骤:

1) Connect database

2)为table1做一个query

3) 从table1 Count entriesrecords

4)为table2做一个query

5) 从table2 Count entriesrecords

6)Check如果其中one等于0

7)如果其中one等于0 entriesrecordsrows)),则显示按钮