Maison >développement back-end >tutoriel php >Comment puis-je modifier un formulaire de recherche à paramètre unique pour accepter plusieurs paramètres de recherche ?
Dans la mise en œuvre de votre formulaire de recherche, vous autorisez les utilisateurs à saisir un seul paramètre pour la recherche. Pour permettre aux utilisateurs de spécifier plusieurs paramètres, envisagez de modifier votre code pour créer dynamiquement la requête de recherche en fonction des paramètres fournis.
if ( (isset($_POST['id']) && !empty($_POST['id'])) || (isset($_POST['major']) && !empty($_POST['major'])) || (isset($_POST['college']) && !empty($_POST['college'])) || (isset($_POST['name']) && !empty($_POST['name'])) ) { $params = array(); $wheres = array(); if (isset($_POST['id']) && !empty($_POST['id'])) { $wheres[] = 'a.uid = :uid'; $params[':uid'] = $_POST['id']; } if (isset($_POST['major']) && !empty($_POST['major'])) { $wheres[] = 'a.major = :major'; $params[':major'] = $_POST['major']; } if (isset($_POST['college']) && !empty($_POST['college'])) { $wheres[] = 'a.college = :college'; $params[':college'] = $_POST['college']; } if (isset($_POST['name']) && !empty($_POST['name'])) { $wheres[] = 'b.name LIKE :name'; $params[':name'] = '%'.$_POST['name'].'%'; } $sql = "SELECT * FROM user_details AS a JOIN user AS b ON a.uid = b.id"; if (!empty($wheres)) { $sql .= " WHERE " . implode(' AND ', $wheres); } // ... prepare and execute the query ... } else { // Handle the case when no parameters are set }
// Display the results as before, using a loop and echoing HTML for each result.
En créant dynamiquement la requête en fonction des paramètres d'entrée, les utilisateurs peuvent désormais spécifier plusieurs paramètres dans votre formulaire de recherche, et la page de résultats afficher les étudiants qui correspondent à tous les critères spécifiés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!