Pemprosesan borang PHP: pertanyaan dan penapisan data borang
Berikut ialah contoh borang pertanyaan dan penapis mudah:
<form action="process.php" method="POST"> <label for="name">姓名:</label> <input type="text" id="name" name="name"> <label for="gender">性别:</label> <select id="gender" name="gender"> <option value="Male">男</option> <option value="Female">女</option> </select> <label for="age">年龄:</label> <input type="number" id="age" name="age"> <input type="submit" value="查询"> </form>
$name = $_POST['name']; $gender = $_POST['gender']; $age = $_POST['age'];
Seterusnya, kita boleh menggunakan data ini untuk menanyakan maklumat yang berkaitan dalam pangkalan data. Katakan kita mempunyai jadual pelajar yang mengandungi medan seperti nama, jantina, umur, dsb. Berikut ialah contoh pertanyaan pangkalan data yang mudah:
// 连接数据库 $conn = mysqli_connect('localhost', 'username', 'password', 'database'); // 查询语句 $sql = "SELECT * FROM students WHERE 1=1"; // 添加查询条件 if (!empty($name)) { $sql .= " AND name LIKE '%$name%'"; } if (!empty($gender)) { $sql .= " AND gender='$gender'"; } if (!empty($age)) { $sql .= " AND age=$age"; } // 执行查询 $result = mysqli_query($conn, $sql); // 处理查询结果 if (mysqli_num_rows($result) > 0) { while ($row = mysqli_fetch_assoc($result)) { // 处理每一行数据 } } else { echo "没有找到相关记录"; } // 关闭数据库连接 mysqli_close($conn);
Dalam contoh di atas, kami melaksanakan pertanyaan dinamik dengan menyambung penyataan SQL. Mula-mula, kami mentakrifkan pernyataan SELECT awal, dan kemudian secara dinamik menambah klausa WHERE berdasarkan syarat pertanyaan yang diserahkan oleh borang.
Akhir sekali, kami menggunakan fungsi mysqli_query untuk melaksanakan pertanyaan dan fungsi mysqli_num_rows untuk mendapatkan bilangan baris dalam hasil pertanyaan. Jika terdapat hasil pertanyaan, anda boleh menggunakan fungsi mysqli_fetch_assoc untuk memproses baris data demi baris.
if (mysqli_num_rows($result) > 0) { echo "<table>"; echo "<tr><th>姓名</th><th>性别</th><th>年龄</th></tr>"; while ($row = mysqli_fetch_assoc($result)) { echo "<tr>"; echo "<td>".$row['name']."</td>"; echo "<td>".$row['gender']."</td>"; echo "<td>".$row['age']."</td>"; echo "</tr>"; } echo "</table>"; } else { echo "没有找到相关记录"; }
Dalam kod di atas, kami melingkari setiap rekod hasil pertanyaan dan mengeluarkannya dalam bentuk jadual.
Sebenarnya, pemprosesan borang dan pertanyaan data adalah fungsi biasa dalam pembangunan web, dan artikel ini hanya memberikan contoh mudah. Dalam pembangunan sebenar, lebih banyak kod dan teknologi mungkin diperlukan bergantung pada kerumitan keperluan khusus. Walau bagaimanapun, dengan menguasai prosedur pemprosesan asas dan teknologi yang berkaitan, asas yang baik boleh disediakan untuk pembangunan seterusnya.
Atas ialah kandungan terperinci Pemprosesan borang PHP: pertanyaan dan penapisan data borang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!