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 :

Requete special dans bdd [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Par défaut Requete special dans bdd
    Bonjour,

    Je cherche à faire une requete qui me permettrais de récupérer mes variable en dehors de ma boucle while et une à une.

    Pour le moment je sait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while($donnees..etc..))
    {
    affiche les $donnees
    }
    Mais je suis obligé d'intégrer ma bouclee while la ou je veut mes $donnees.

    Comment je pourrais faire par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    while($donnees..etc..))
    {
    variable1= $donnee1
    variable2= $donnee2
    variable3= $donnee3
    }
    //ici je sort du code php
     
    affiche variable1
     
    // plus loin encore
     
    affiche variable1 et variable 3 etc..
    Je subbodorre qu'il faut passer par un tableau ? Mais comment ?

    D'avance merci pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Les tableaux sont des éléments essentielles de PHP.
    Il est donc essentiel que tu apprennes à les manipuler.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while($donnees = ....))
    {
        $tableau[]= $donnees['tacolonne'];
    }
     
    echo $tableau[2]; // affiche la valeur de la troisième ligne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Mieux, il existe des fonctions qui te retourne directement l'ensemble des résultats sans passer par un une boucle pour traiter tes résultat un à un :

    mysql_fetch_array si tu utilises l'api mysql originale ou PDOStatement::fetchAll si tu ulises PDO (c'est mieux d'utiliser PDO au passage, l'extension mysql est devenue obsolète )

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce n'est pas mieux, cela dépend de ce que l'on veut faire.
    Et en général un tableau indexé avec le numéro de la ligne ne va pas servir à grand chose.

    Pour reprendre mon exemple, on a plutôt d'indexer par un id :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while($donnees = ....))
    {
        $tableau[$donnees['tacolonne_id']]= $donnees['tacolonne_valeur'];
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Ca dépend, si l'on fait des order by judicieux ça suffit parfois aussi.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Par défaut
    Bonsoir,

    Tout d'abord merci pour vos réponses.

    Donc j'ai modifié et adapté les parties que vos m'avez mises en exemple.
    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
     
    $date_1 = $_POST['date1'];
    $date_2 = $_POST['date2'];
     
    $sqlpdo=$connexion->query("SELECT * FROM ma_bdd WHERE date_deb_emp BETWEEN '$date_1'
    AND '$date_2' AND etat != ''");
    while ($data_bg = $sqlpdo->fetch(PDO::FETCH_OBJ))
     
    {
        $tableau[] = $data_bg->etat;
    } 
     
    echo $tableau[0]."<br>";
    echo $tableau[1]."<br>";
    echo $tableau[2]."<br>";
    echo $tableau[3]."<br>";
    echo $tableau[4]."<br>";
     
    echo $tableau[5]."<br>";
    echo $tableau[6]."<br>";
    echo $tableau[7]."<br>";
    Ce qui m'amène à poser une autre question...
    Comment dimensionner le tableau automatiquement ?
    Parce dans l'exemple ci-dessus après echo $tableau[4]."<br>"; j'ai un message d'erreur : Notice: Undefined offset: 5 in C:\WWW\datacamp\reservation.php on line 30
    bon en fait c'est normal puisque après $tableau[4] il n'y a plus rien.

    Quelle est la fonction pour dimensionner le tableau automatiquement en fonction du contenu de la BdD ?

    D'avance merci.

  7. #7
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach ($ableau as $value) {
        echo $value;
    }
    Foreach permet de parcourir un tableau. Les fonctions de manipulation sur les tableaux sont les plus classiques, il ne serait pas une mauvaise idée de les apprendre

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/12/2014, 17h36
  2. Requete en boucle si variable déjà présente dans BDD
    Par Augustule dans le forum Langage
    Réponses: 8
    Dernier message: 30/07/2010, 22h48
  3. Requete parametrée dans BdD
    Par kabil.cpp dans le forum Windows Forms
    Réponses: 9
    Dernier message: 26/08/2009, 12h45
  4. Réponses: 7
    Dernier message: 02/04/2004, 10h47
  5. Probleme de filtre dans bdd
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2002, 10h43

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