Récupérer les données d'une table MySQL dans un tableau en PHP
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 38

Récupérer les données d'une table MySQL dans un tableau en PHP



  1. #1
    walk_porto

    Récupérer les données d'une table MySQL dans un tableau en PHP


    ------

    Salut à tous,

    Je souhaiterais stocker les données d'une table MySQL dans un tableau en PHP. Actuellement, je ne peux récupérer qu'une donnée car la donnée est écrasée en permanence. Donc, je voulais savoir si je dois modifier la base MySQL afin de ne plus écraser la donnée ou bien s'il est possible de stocker les données qui sont écrasées.
    Voici comment j'écris les données :

    Code PHP:
    insert into table (namevaluedate)
                    
    values (:name, :valuesysdate())
                  
    on duplicate key update
                    value
    =:valuedate=sysdate(); 
    Ensuite, sur ma page PHP, je me connecte à la BDD, puis j'affiche le dernière valeur écrite avec :

    Code PHP:
    $reponse $bdd->query('SELECT value FROM table WHERE name = \'Temperature\'');
              
    $value 0;
         while (
    $data $reponse->fetch())

            {
              echo 
    $data['value'].'<br />';
                      
    $value $data['value']; 
                                
            } 
    Est-ce que je peux créer un tableau dans ma page PHP me permettant de stocker les données écrites ? Car là, je n'en affiche qu'une qui est actualisée à chaque fois.

    -----

  2. #2
    imoca

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Code PHP:
    $reponse $bdd->query('SELECT value FROM table WHERE name = \'Temperature\''); 
    $tableau = array();
     while (
    $data $reponse->fetch()) 

              
    $tableau[] = $data['value'];  
                                 

    Dernière modification par JPL ; 17/02/2017 à 18h49. Motif: remplacement de balise

  3. #3
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    erreur d'aiguillage
    Dernière modification par cherbe ; 17/02/2017 à 20h35.
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  4. #4
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Merci pour ton aide mais ça ne fonctionne pas, j'essaie d'afficher le contenu du tableau mais je n'ai que la dernière valeur stockée qui est affichée. Voici mon code avec le echo join pour afficher le contenu du tableau.
    Code PHP:
      $value 0;
                            
    $tableau=array();
                            while (
    $data $reponse->fetch())

                            {
                                
                                                       
    $tableau[]=$data['value']; 
                                                       echo 
    join ($tableau,',').'<br/>';
                                
                            } 

  5. A voir en vidéo sur Futura
  6. #5
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Bonjour
    Je ne connais pas cette syntaxe : echo join....
    essaie d'abord :
    Code:
    echo $data['value'].'<br>';
    Pour être sûr que la requête renvoie plus d'une ligne
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  7. #6
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Cette ligne de code fonctionne déjà mais n'affiche que la dernière valeur stockée.

  8. #7
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    La quelle ?
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  9. #8
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    La ligne
    Code PHP:
    echo $data['value'].'<br>'
    fonctionne correctement.
    Pour echo join, ça permet d'afficher les valeurs stockées dans un tableau : http://php.net/manual/fr/function.join.php

  10. #9
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Et si tu places echo join.... en dehors de la boucle while ?
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  11. #10
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    J'obtiens la même chose..

  12. #11
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Citation Envoyé par walk_porto Voir le message
    J'obtiens la même chose..
    Tu as inversé les paramètres de JOIN
    La syntaxe c'est : JOIN('séparateur',$tableau)

    Ceci étant, je ne vois pas trop l'intérêt de créer $tableau puisque $reponse est déjà un tableau ?
    Dernière modification par cherbe ; 19/02/2017 à 23h34.
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  13. #12
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Ce n'est pas un problème de syntaxe, j'ai essayé votre manière et ça ne marche toujours pas..
    $reponse n'est pas un tableau, il n'est pas déclaré en tant que tel en tout cas.

  14. #13
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Une variable qui contient plus d'une valeur est forcément un array (tableau) ce qui est le cas de ta requête SQL.
    Pour faciliter la recherche d'erreurs, mets cette instruction en début de script :
    Code:
    error_reporting(E_ALL);
    et analyse les messages d'erreur.
    Tu peux aussi mettre un test sur ta requête :
    Code:
    if(!$reponse->fetch()) {echo '<br>ERREUR : la requete est vide !<BR>;}
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  15. #14
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Tu peux corriger le code de la boucle if stp ? ça n'a pas l'air correct

  16. #15
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Code:
    if(!$reponse->fetch()) {echo '<BR>ERREUR : la requete est vide !<BR>';}
    Il manquait l'apostrophe fermante
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  17. #16
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    J'ai mis cette ligne avant la boucle while et ma page web php ne s'ouvre plus du tout.

  18. #17
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    A part le point d'interrogation qui fait office de négation et que je n'ai jamais utilisé dans cette circonstance, je ne vois pas d'erreur.
    essaie l'inverse :
    Code:
    if($reponse->fetch()) {echo '<br>La requete contient au moins une ligne !<BR>';}
    ou ça :
    Code:
    $nb_lignes=$reponse->num_rows;
    echo '<br>la requete contient '.$nb_lignes.' lignes<br>';
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  19. #18
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Citation Envoyé par cherbe Voir le message
    A part le point d'interrogation qui fait office de négation et que je n'ai jamais utilisé dans cette circonstance, je ne vois pas d'erreur.
    essaie l'inverse :
    Code:
    if($reponse->fetch()) {echo '<br>La requete contient au moins une ligne !<BR>';}
    ou ça :
    Code:
    $nb_lignes=$reponse->num_rows;
    echo '<br>la requete contient '.$nb_lignes.' lignes<br>';
    Le premier code affiche : La requete contient au moins une ligne !
    Le deuxième ne m'affiche rien du tout.

  20. #19
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    le 2e n'affiche rien du tout ou affiche :
    la requete contient lignes
    ?
    Ce n'est pas la même chose !
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  21. #20
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Dans la boucle while, pur le 2ème code, ça n'affiche rien du tout mais en en dehors, ça affiche : la requete contient lignes

  22. #21
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Citation Envoyé par walk_porto Voir le message
    Dans la boucle while, pur le 2ème code, ça n'affiche rien du tout mais en en dehors, ça affiche : la requete contient lignes
    Le fait que ça n'affiche rien dans while me fait dire que c'est while qui ne s'exécute parce que la requête est vide !
    Essaie ces 3 lignes, avant while :
    Code:
    $reponse = $bdd->query("SELECT value FROM table WHERE name = 'Temperature'");
    $nb_lignes =   mysql_numrows($reponse);
    echo '<br>la requete contient '.$nb_lignes.' lignes<br>';
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  23. #22
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    ça m'affiche également : la requete contient lignes.
    Je pense que le problème vient de la création de ma base de données MySQL, quand je la visualise sous PHPMyAdmin, les données sont écrasées systématiquement avec la commande :
    Code:
    ON DUPLICATE KEY UPDATE
    . (http://sql.sh/cours/insert-into/on-duplicate-key). Ca évite d'avoir des milliers de valeurs dans la table.
    Donc, dans ma BDD, je n'ai que la dernière valeur enregistrée, ce qui expliquerait pourquoi je ne puisse pas enregistrer les données dans un tableau.
    Dernière modification par walk_porto ; 22/02/2017 à 15h14. Motif: lien

  24. #23
    Bluedeep

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Citation Envoyé par walk_porto Voir le message
    Code:
    ON DUPLICATE KEY UPDATE
    . (http://sql.sh/cours/insert-into/on-duplicate-key). Ca évite d'avoir des milliers de valeurs dans la table.


    Vous avez du sécher le cours sur les SGBD

  25. #24
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Citation Envoyé par Bluedeep Voir le message


    Vous avez du sécher le cours sur les SGBD
    Les données sont mises à jour en fonction de la date dans mon cas si vous préférez, merci de proposer une solution à mon problème

  26. #25
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Citation Envoyé par walk_porto Voir le message
    merci de proposer une solution à mon problème
    Ton problème est extrêmement simple : la table est vide !
    Va dans PHPMyAdmin et insère quelques lignes de données ou importe un fichier de données.
    Ensuite, exécute ces lignes de code qui posent problème dans la fenêtre SQL de PHPMyAdmin, analyse les messages générés et observe bien ce qui change dans la table :
    Code:
    insert into table (name, value, date)
                    values (:name, :value, sysdate())
                  on duplicate key update
                    value=:value, date=sysdate();
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  27. #26
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Ma table n'est pas vide sous phpMyAdmin, elle contient toutes les données de mes capteurs actualisées par rapport à la date.
    Si ma table était vide, comment pourrais-je récupérer les données que je lis et que j'affiche ?
    Dernière modification par walk_porto ; 23/02/2017 à 09h55.

  28. #27
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Etrange que les dernières lignes de code ne fonctionnent pas.
    Exécute ceci dans PHPMyAdmin :
    Code:
    SELECT value FROM table WHERE name = 'Temperature'
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  29. #28
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    La valeur s'affiche bien, je l'ai déjà vérifié sous MySQL en ligne de commande aussi..

  30. #29
    cherbe

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Tu obtiens une seule ligne ?
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  31. #30
    walk_porto

    Re : Récupérer les données d'une table MySQL dans un tableau en PHP

    Oui exactement, j'obtiens une seule valeur, ce qui est normal je pense car chaque valeur est actualisée toutes les deux secondes d'après mon code.

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. [SQL] Utiliser données d'une autre table dans un select
    Par Lechero dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 16/12/2015, 17h33
  2. Elimination de valeurs excentriques dans un tableau de données
    Par Dostoiev dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 04/03/2013, 13h54
  3. Écrire dans un fichier à partir de données d'un tableau
    Par dalfred dans le forum Programmation et langages, Algorithmique
    Réponses: 15
    Dernier message: 17/11/2012, 14h36
  4. CCS recherche de valeur dans tableau de données
    Par HAYAC dans le forum Électronique
    Réponses: 4
    Dernier message: 10/09/2012, 08h34
  5. Access2007 : sélectionner des données dans une table
    Par invite69e68fba dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 08/01/2011, 16h59