前端展示搜索框并支持新增数据的PHP实现方案

ChatGPT4o 使用 ChatGPT 4o 回答

问题:

请修改以下文件内容,让前端只展示搜索框,用户可以通过搜索任意字段,对SQL进行查询操作,出现查询不到的内容,提示用户是否新增,并按照sql对应的字段进行新增操作,将数据写入数据库中,<?php // 引入数据库连接文件 include 'db.php';

// SQL 查询语句 $sql = "SELECT id, time, IP, info, WXDJ, GSD, PIC, AQSB, up_time, beizhu FROM black_list"; $result = $conn->query($sql);

// 检查查询结果 if ($result->num_rows > 0) { // 输出表格头部 echo '<table class="table table-bordered">'; echo '<thead>'; echo '<tr>'; echo '<th>ID</th>'; echo '<th>Time</th>'; echo '<th>IP</th>'; echo '<th>Info</th>'; echo '<th>WXDJ</th>'; echo '<th>GSD</th>'; echo '<th>PIC</th>'; echo '<th>AQSB</th>'; echo '<th>Up Time</th>'; echo '<th>Beizhu</th>'; echo '</tr>'; echo '</thead>'; echo '<tbody>';

// 输出每一行数据
while($row = $result->fetch_assoc()) {
    echo '<tr>';
    echo '<td>' . $row['id'] . '</td>';
    echo '<td>' . $row['time'] . '</td>';
    echo '<td>' . $row['IP'] . '</td>';
    echo '<td>' . $row['info'] . '</td>';
    echo '<td>' 
回答:
<?php
// 引入数据库连接文件
include 'db.php';

// 处理搜索请求
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $search = $_POST['search'];
    $sql = "SELECT id, time, IP, info, WXDJ, GSD, PIC, AQSB, up_time, beizhu FROM black_list WHERE 
            id LIKE '%$search%' OR 
            time LIKE '%$search%' OR 
            IP LIKE '%$search%' OR 
            info LIKE '%$search%' OR 
            WXDJ LIKE '%$search%' OR 
            GSD LIKE '%$search%' OR 
            PIC LIKE '%$search%' OR 
            AQSB LIKE '%$search%' OR 
            up_time LIKE '%$search%' OR 
            beizhu LIKE '%$search%'";
    $result = $conn->query($sql);

    // 检查查询结果
    if ($result->num_rows > 0) {
        // 输出表格头部
        echo '<table class="table table-bordered">';
        echo '<thead>';
        echo '<tr>';
        echo '<th>ID</th>';
        echo '<th>Time</th>';
        echo '<th>IP</th>';
        echo '<th>Info</th>';
        echo '<th>WXDJ</th>';
        echo '<th>GSD</th>';
        echo '<th>PIC</th>';
        echo '<th>AQSB</th>';
        echo '<th>Up Time</th>';
        echo '<th>Beizhu</th>';
        echo '</tr>';
        echo '</thead>';
        echo '<tbody>';

        // 输出每一行数据
        while($row = $result->fetch_assoc()) {
            echo '<tr>';
            echo '<td>' . $row['id'] . '</td>';
            echo '<td>' . $row['time'] . '</td>';
            echo '<td>' . $row['IP'] . '</td>';
            echo '<td>' . $row['info'] . '</td>';
            echo '<td>' . $row['WXDJ'] . '</td>';
            echo '<td>' . $row['GSD'] . '</td>';
            echo '<td>' . $row['PIC'] . '</td>';
            echo '<td>' . $row['AQSB'] . '</td>';
            echo '<td>' . $row['up_time'] . '</td>';
            echo '<td>' . $row['beizhu'] . '</td>';
            echo '</tr>';
        }
        echo '</tbody>';
        echo '</table>';
    } else {
        echo "查询不到内容,是否新增?";
        echo '<form method="post" action="add.php">';
        echo '<input type="hidden" name="search" value="' . $search . '">';
        echo '<input type="submit" value="新增">';
        echo '</form>';
    }
} else {
    // 显示搜索框
    echo '<form method="post" action="">';
    echo '<input type="text" name="search" placeholder="搜索...">';
    echo '<input type="submit" value="搜索">';
    echo '</form>';
}
?>

add.php 文件中,处理新增操作:

<?php
// 引入数据库连接文件
include 'db.php';

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $search = $_POST['search'];
    // 显示新增表单
    echo '<form method="post" action="insert.php">';
    echo '<input type="hidden" name="search" value="' . $search . '">';
    echo 'ID: <input type="text" name="id"><br>';
    echo 'Time: <input type="text" name="time"><br>';
    echo 'IP: <input type="text" name="IP"><br>';
    echo 'Info: <input type="text" name="info"><br>';
    echo 'WXDJ: <input type="text" name="WXDJ"><br>';
    echo 'GSD: <input type="text" name="GSD"><br>';
    echo 'PIC: <input type="text" name="PIC"><br>';
    echo 'AQSB: <input type="text" name="AQSB"><br>';
    echo 'Up Time: <input type="text" name="up_time"><br>';
    echo 'Beizhu: <input type="text" name="beizhu"><br>';
    echo '<input type="submit" value="提交">';
    echo '</form>';
}
?>

insert.php 文件中,处理数据插入操作:

<?php
// 引入数据库连接文件
include 'db.php';

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $id = $_POST['id'];
    $time = $_POST['time'];
    $IP = $_POST['IP'];
    $info = $_POST['info'];
    $WXDJ = $_POST['WXDJ'];
    $GSD = $_POST['GSD'];
    $PIC = $_POST['PIC'];
    $AQSB = $_POST['AQSB'];
    $up_time = $_POST['up_time'];
    $beizhu = $_POST['beizhu'];

    $sql = "INSERT INTO black_list (id, time, IP, info, WXDJ, GSD, PIC, AQSB, up_time, beizhu) VALUES ('$id', '$time', '$IP', '$info', '$WXDJ', '$GSD', '$PIC', '$AQSB', '$up_time', '$beizhu')";

    if ($conn->query($sql) === TRUE) {
        echo "新增记录成功";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}
?>

这样,前端只展示搜索框,用户可以通过搜索任意字段进行查询操作。如果查询不到内容,会提示用户是否新增,并按照 SQL 对应的字段进行新增操作,将数据���入数据库中。