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 :

Requête de sélection par rapport à la première lettre d'un champ [Débutant(e)] [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Par défaut Requête de sélection par rapport à la première lettre d'un champ
    bonjours à tous,

    je suis noob en php et j'essaie de comprendre un peu la syntaxe de se langage (il était temps)

    voila l'affaire : j'ai écrit une requête simple
    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
    23
    24
    25
    26
    27
    28
    <?
    //se connecter à la base de données
    include("Include\_connexion.php");
    $sql = "select code_produit, libelle, prix from PRODUIT";
    $sql = $sql ." where strncmp("libelle",1)= $GET["p_lettre"]";
     
    //exécuter la requête
    $rs=mysql_query($sql,$cnn) or die ("requête invalide");
    echo '<table>';
    echo '<tr>';
    for($i=0;$i<mysql_num_fields($rs);$i++)
    echo '<th>'.mysql_field_name($rs,$i).'</th>';
    echo '</tr>';
    while($ligne = mysql_fetch_array($rs,MYSQL_ASSOC))
    {
    echo '<tr>';
    foreach($ligne as $valeur)
    echo '<td>'.$valeur.'</td>';
    echo '</tr>';
    }
     
    ?>
     
    <?
     
    //restauration
    include("Include\_deconnexion.php");
    ?>
    en fait j'essaie de comparer la 1ere lettre du champs "libelle" avec une lettre qui a été tapée et que j'ai récupérée dans le paramètre "p_lettre".
    Si la 1ere lettre des enregistrements du champs "libelle" et du paramètre sont identiques alors j'affiche l'enregistrement.

    mais il me semble que je n'utilise pas la bonne fonction

    merci d'avance de votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "select code_produit, libelle, prix from PRODUIT
    where left(libelle,1) = '".$_GET["p_lettre"]."'";
    Ca devrait fonctionner.
    Remarques :
    Il faut toujours mettre des quotes autour d'une chaine de caractère
    On ne peut pas appeler un tableau directement dans un chaine de caractère comme on le fait souvent avec les variables. Ex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "ma variable : $variable" //OK
    "mon tableau : $tableau['cle1']" //Pas bon
    "mon tableau : ".$tableau['cle1'] //OK
    Lorsque tu appelles un champ dans une fonction, il ne faut pas mettre les quotes autour du nom du champs sinon ce sera considéré comme un chaine de caractère et non un champ
    la fonction left(champ,n) te retourne les "n" premiers caractères du champ "champ". (Il existe right qui fait la meme chose mais en partant de la droite.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Par défaut
    merci pour tout tes conseils :

    en effet ça marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/05/2012, 13h19
  2. test addition par rapport à la première valeur
    Par marie33000 dans le forum Macros et VBA Excel
    Réponses: 62
    Dernier message: 18/05/2009, 21h06
  3. [AJAX] Modifier 2 listes simultanément par rapport à une première
    Par Equinoxe5 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 28/01/2009, 14h44
  4. Sélection par rapport à la présence d'un mot
    Par jackbauer33 dans le forum Requêtes
    Réponses: 3
    Dernier message: 16/05/2008, 23h02
  5. requête de validation par rapport à des dates
    Par zougna dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/04/2007, 13h45

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