IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de donn�es Discussion :

Choix d�index requ�te


Sujet :

PHP & Base de donn�es

  1. #1
    Candidat au Club
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Mars 2024
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Cyberdocumentaliste
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2024
    Messages : 2
    Par d�faut Choix d�index requ�te
    Bonjour,
    Il s�agit de PHP-MySQL. En page initiale, l�utilisateur choisit un index, et saisit une recherche. En page r�ponse, je voudrais que la recherche se fasse dans l�index choisi, et seulement lui. J�imagine que cela pourrait se traduire ainsi : si le choix est 1, cherche variable en colonne 1 ; si le choix est 2 [elseif], cherche variable en colonne 2 ;... si il n'y a pas de r�ponse [else] �cris "D�sol�". Enfin, publie la ou les lignes r�ponse si il y en a.
    Ma tentative d�bute par (no �tant la value de l�option 1) :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    if($index= "no")     
    	{"SELECT cod, nom, lieu, cree FROM depa
    	WHERE cod = '$recherche';"}
    � qui obtient pour r�ponse :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Parse error: syntax error, unexpected token "}"
    Pourrais-je avoir de l�aide pour reformuler cela (et ce qui suit) ?

  2. #2
    Mod�rateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 599
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activit� : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 599
    Billets dans le blog
    10
    Par d�faut
    Bonjour,

    Si je comprends bien en fonction d'un param�tre, on veut rechercher une valeur dans telle ou telle colonne de la table.
    Parler d'index pour ce besoin porte � confusion, un index c'est un objet SQL facilitant les recherches, rien � voir avec le pr�sent sujet.

    Donc voici une possibilit� bas�e sur un case.

    Code SQL : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    create table T1
          (  T1ident     integer      not null  primary key
           , T1matricule char(08)     not null  unique
           , T1nom       varchar(40)  not null
           , T1prenom    varchar(40)  not null
           , T1date      date         not null
          )
    ;
    insert into T1 (T1ident, T1matricule, T1nom, T1prenom, T1date)
    values (0001, '10140008', 'Dupont', 'Martine', '2016-04-20')
         , (0002, '15508077', 'Martin', 'Jean', '2022-11-05')
         , (0003, '20016663', 'Ledu', 'Solène', '2024-01-06')
    ;
    set @col = 'nom'     ;
    set @val = 'Martin'  ;
     
    select T1ident
         , T1matricule
         , T1nom
         , T1prenom
         , T1date
    from T1
    where case when @col = 'matricule' and T1matricule=@val then 1
               when @col = 'nom'       and T1nom=@val       then 1
               when @col = 'prenom'    and T1prenom=@val    then 1
          end = 1

    Bien �videmment, ce type de solutions ne garantit pas une ligne unique en retour.

  3. #3
    Expert confirm�
    Avatar de S�b.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par d�faut
    Il faut commencer par apprendre PHP et pr�senter le script correctement

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    $pdo = new PDO($dsn); // Voir doc
     
    $result = [];
    if ($index === 'no') {
        $sql = <<<SQL
            SELECT ALL cod, nom, lieu, cree
            FROM depa
    	WHERE cod = {$pdo->quote($recherche)};
            SQL;
        $result = $pdo->query($sql)->fetchAll();
    } elseif ($index === '...') {
        ...
    } else {
        echo 'Index incorrect';
    }
     
    // Traiter $result
    if (count($result) === 0) {
        echo 'Pas de résultat';
    } else {
        ...
    }

  4. #4
    Candidat au Club
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Mars 2024
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Cyberdocumentaliste
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2024
    Messages : 2
    Par d�faut Question r�solue
    J'aurais tout � apprendre.
    J'ai commenc� par un besoin pratique, un outil de recherche dans une petite base de donn�es. R�ussi, avec une recherche globale, mais je voulais proposer � l'utilisateur la possibilit� de limiter sa recherche � la cat�gorie de son choix, donc ne portant dans la base de donn�es que sur la colonne correspondante. Comment �crire cela ?
    Une aide bienvenue m'a propos� ceci, qui fonctionne :

    Code PHP : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(...){
    $sql="SELECT cod, nom, lieu, cree FROM depa
    WHERE cod = '$recherche'";
    }
    else if(...){
    $sql="SELECT cod, nom, lieu, cree FROM depa
    WHERE nom = '$recherche'";
    }
    ...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Choix d'un EDI pour la 3D (Open GL, Portable)
    Par Riko dans le forum OpenGL
    R�ponses: 6
    Dernier message: 01/08/2002, 12h25
  2. [Choix] Quelles attentes par rapport aux SGBD ?
    Par thierry34 dans le forum D�cisions SGBD
    R�ponses: 6
    Dernier message: 13/07/2002, 20h08
  3. [Choix] SGDB pour Entreprise : co�t, efficacit�, etc.
    Par grassat dans le forum D�cisions SGBD
    R�ponses: 4
    Dernier message: 15/06/2002, 08h52
  4. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    R�ponses: 12
    Dernier message: 17/05/2002, 15h23
  5. Choix d'un ORB
    Par Anonymous dans le forum CORBA
    R�ponses: 4
    Dernier message: 06/05/2002, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo