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
Libérer: 2024-12-15 07:55:08
original
302 Les gens l'ont consulté

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
}
Copier après la connexion

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

// Display the results as before, using a loop and echoing HTML for each result.
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal