Maison > développement back-end > tutoriel php > Comment puis-je modifier un formulaire de recherche pour accepter plusieurs paramètres de recherche ?

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

DDD
Libérer: 2025-01-03 18:24:40
original
957 Les gens l'ont consulté

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

Formulaire de recherche avec un ou plusieurs (plusieurs) paramètres

Problème :

Dans un Lors de l'implémentation précédente d'un formulaire de recherche, un seul paramètre pouvait être utilisé à la fois. Le but est de modifier ce formulaire pour permettre aux utilisateurs de saisir un ou plusieurs paramètres et de recevoir les résultats de recherche correspondants.

Solution :

Pour y parvenir, nous allons modifiez le code PHP pour construire dynamiquement la clause WHERE en fonction des paramètres d'entrée.

Modifié search.php :

<?php

$wheres = [];
$params = [];

if (!empty($_POST['id']) && isset($_POST['id'])) {
    $wheres[] = 'a.uid = :uid';
    $params[':uid'] = $_POST['id'];
}
if (!empty($_POST['major']) && isset($_POST['major'])) {
    $wheres[] = 'a.major = :major';
    $params[':major'] = $_POST['major'];
}
if (!empty($_POST['college']) && isset($_POST['college'])) {
    $wheres[] = 'a.college = :college';
    $params[':college'] = $_POST['college'];
}
if (!empty($_POST['name']) && isset($_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);
}

$stmt = $db->prepare($sql);
$stmt->execute($params);

// Display the results as in the original code
Copier après la connexion

Explication :

  1. Initialisez les tableaux vides pour les conditions et paramètres de la clause WHERE.
  2. Vérifiez chaque paramètre d'entrée et ajoutez la condition et le paramètre correspondants aux tableaux.
  3. Créez la requête SQL en incluant dynamiquement les conditions combinées de la clause WHERE.
  4. Préparez et exécutez l'instruction SQL à l'aide de PDO avec des paramètres nommés.
  5. Affichez les résultats de la recherche comme dans l'implémentation d'origine.

Par en utilisant cette approche, les utilisateurs peuvent désormais saisir plusieurs paramètres et obtenir des résultats basés sur 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