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 ?

Comment puis-je modifier un formulaire de recherche à paramètre unique pour accepter plusieurs paramètres de recherche ?

DDD
DDDoriginal
2024-12-15 07:55:08302parcourir

How Can I Modify a Single-Parameter Search Form to Accept Multiple Search Parameters?

Formulaire de recherche avec plusieurs paramètres

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.

Formulaire de recherche (search.php)

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
}

Page de résultats (résultats .php)

// 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn