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 :

Construction d'un tableau à partir des données de la base


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Construction d'un tableau à partir des données de la base
    Bonjour à tout le monde,
    J'ai un peu honte de vous demandé ca mais bon...
    J'ai le bout de code suivant (création d'un tableau). J'aimerai qu'au lieu de le codé en dure, l'array soit créé a partir de donnée présente dans un champ de ma table.
    Connaissez vous le code exact pour le réaliser.

    Encore merci pour votre aide.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $liste = array("abeille","abricot","acheter","acheteur","adjectif","adroit","adroitement","agent","aigle","aile");

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Ca c'est du regex ou je ne m'y connais pas.

    un exemple classique avec mysql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql = '......';
    $result = mysql_query($sql) or die (mysql_error());
    while ($row= mysql_fetch_array($result)) {
       $liste[] = $row[0];
    }

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    tout d'abord merci pour ta réponse si rapide.

    J'ai appliqué ta réponse mais apriori ca ne marche pas.
    Voici le code :


    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
    //nouveau code
    		$pc_serveur 	= "localhost";
    		$identifiant 	= "root";
    		$mot_de_passe 	= "";
    		$base 			= "ping";
     
    		//Vide la table url_fftt avant de faire la mise à jour : 
    	mysql_connect($pc_serveur,$identifiant,$mot_de_passe);
    	mysql_select_db($base);
    	$reponse = mysql_query("SELECT * FROM essai1");
     
    $result = mysql_query($reponse) or die (mysql_error());
    while ($row= mysql_fetch_array($result)) {
       $liste[] = $row[0];
    }

  4. #4
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 199
    Points : 148
    Points
    148
    Par défaut
    essaye ca pour te connecter a ta base.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $connection=mysql_connect($pc_serveur,$identifiant,$mot_de_passe);
    mysql_select_db($base,$connection);

  5. #5
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    "ca ne marche pas" n'est pas une bonne indication pour t'aider.

    Si tu ne veux récuperer qu'un seule champ, ne fait pas un SELECT *.
    Imaginons que ta base contienne 200 lignes un champ BLOB de 1Mo, tu ferrais transiter 200Mo pour rien entre mysql et php.

  6. #6
    Candidat au Club
    Inscrit en
    Octobre 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    En faite, je cherche a modifier le script d'autocomplétion que j'ai trouvé sur ce cite( www.developpez.net).

    Dans son script il part d'un array qu'il cré manuellement dans un des fichiers. j'aimerai modifier cette liste pour qu'elle récupère les données dans une base de donnée.
    Voici le code pour créer un array a partir de la base de donnée :

    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
     //nouveau code
    	$pc_serveur 	= "localhost";
    	$identifiant 	= "root";
    	$mot_de_passe 	= "";
    	$base 			= "ping";
     
    	mysql_connect($pc_serveur,$identifiant,$mot_de_passe);
    	mysql_select_db($base);
     
    $reponse = mysql_query("SELECT * FROM essai1"); // Requête SQL
     
    $i=0;
     
    while ($donnees = mysql_fetch_array($reponse) )
    {
      $liste[$i] = $donnees['nom']);
       $i=$i+1;
    }
     
    mysql_close();

    Lorsque j'édite mon tableau voici ce qu'il m'écrit :
    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
    29
    30
    31
    32
    array(15) {
      [0]=>
      string(8) "leloutre"
      [1]=>
      string(8) "leloutre"
      [2]=>
      string(9) "fdlkfdjsf"
      [3]=>
      string(3) "dfd"
      [4]=>
      string(6) "Lenain"
      [5]=>
      string(6) "renard"
      [6]=>
      string(11) "Renard deux"
      [7]=>
      string(4) "dfsd"
      [8]=>
      string(6) "dfsfsd"
      [9]=>
      string(11) "Taillandier"
      [10]=>
      string(5) "Guene"
      [11]=>
      string(11) "5eme joueur"
      [12]=>
      string(7) "Fornari"
      [13]=>
      string(7) "Esnault"
      [14]=>
      string(4) "test"
    }
    Cela correspond bien au valeur que je désire mais je ne comprend pas pourquoi cela ne marche pas. Y a t'il une différence avec l'array qu'il y avait avant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $liste = array("abeille","abricot","acheter","acheteur","adjectif","adroit","adroitement","agent","aigle","aile","air","amour","âne","approcher","ardoise","arête","arracher","asperge","astre","aujourd'hui");

  7. #7
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    "ca ne marche pas" n'est pas une bonne indication pour qu'on puisse t'aider.

  8. #8
    Candidat au Club
    Inscrit en
    Octobre 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par sabotage Voir le message
    "ca ne marche pas" n'est pas une bonne indication pour qu'on puisse t'aider.
    Le reste du code, que je maitrise pas, réalise l'autocomplétion. A priori, l'array que j'ai fait fonctionne vu que lorsque j'édite le tableu, il m'affiche les valeurs. Seulement quand j'assemble l'ensemble du code, lorsque je teste l'autocomplétion, cela ne donne pas le résultat attendu (c'est mieux que l'expression "ca ne marche pas"??). Je n'ai pas d'autre élement de diagnostique...

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Bonjour the--first,

    Ce que Sabotage veut dire, c'est qu'il faut des informations sur ce qui "ne marche pas" ou "ne donne pas le résultat attendu" (ce n'est pas l'expression qui importe )

    Donc, tu donnes, autant que faire se peut :
    • le ou les message(s) d'erreur
    • la description du résultat attendu et du résultat obtenu
    • ou de la diffférence entre le résultat attendu et le résultat obtenu


    Sans cela, il est difficile de t'aider valablement

  10. #10
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Il ne faut pas oublier que dans la plupart des cas on ne peut pas tester le code qu'on lit et propose, faute d'avoir la base de donnée qui va avec.
    Donc ce n'est pas facile de bien se representer le fonctionnement global.

Discussions similaires

  1. [MySQL] Liste déroulante à partir des données de la base
    Par worldhugo dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 11/01/2009, 19h23
  2. [MySQL] Conception d'un tableau affichant des données d'une base
    Par fey dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 14/09/2008, 13h52
  3. Liste combobox à partir des donnée d'une base
    Par blue_bird dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/03/2008, 16h30
  4. [TP] Remplir un tableau à partir des données d'un autre tableau
    Par The future scientist dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 27/05/2007, 17h31
  5. comment concevoir un etat à partir des données d'une base de données
    Par lylyagloire dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 26/03/2007, 19h23

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