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 :

Attribuer valeur à une variable [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut Attribuer valeur à une variable
    Bonjour, je débute en PHP et je rencontre des difficultés pour établir un boucle :

    J'ai une table TUNNEL [id_tunnel, id_connection,nom,port_source,destination]

    J'aimerais récupérer les ports_sources et destination en fonction de l'id d'une connexion.

    Voici ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    $req2 = mysql_query( "SELECT port_source, destination
    					FROM tunnel
    					WHERE id_connexion ='$id'");

    Il n'y a pas de souci, ça fonctionne.
    Maintenant, j'aimerais affecter à une variable chaque valeur retourné ...

    Exemple :

    $port_source1 = 1er_resultat_port_source
    $destination1 = 1er_resultat_destination

    $port_source2 = 2eme_resultat_port_source
    $destination2 = 2eme_resultat_destination

    $port_source3 = 3eme_resultat_port_source
    $destination3 = 3eme_resultat_destination

    J'ai penséutilisé mysql_fetch_assoc() mais je ne sais pas trop comment l'utiliser...

    Quelqu'un peut il m'aider ??

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 73
    Par défaut
    Tu peux faire une concaténation 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
    15
     
    $req2 = mysql_query( "SELECT port_source, destination
    					FROM tunnel
    					WHERE id_connexion ='$id'");
     
    $i = 1; // initialisation
     
    while ($reponse = mysql_fetch_assoc($req2)) //
    	{
     
    		$port_source. $i = $reponse["port_source"];
                    $destination . $i = $reponse["destination"];
     
    $i++
    	}

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut
    Ok ça me semble pas mal . Par contre, pour les affciher, je fais bien un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo $port_source1;
    echo $destination1;
    ??

    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
     
     
    $req2 = mysql_query( "SELECT port_source, destination
    					FROM tunnel
    					WHERE id_connexion ='$id'");
     $i = 1; // initialisation
     
    while ($reponse = mysql_fetch_assoc($req2)) //
    	{
     
    				$port_source.$i = $reponse["port_source"];
                    $destination.$i = $reponse["destination"];
     
    $i++;
    	}
     
     
    echo $port_source1;
    echo $port_source2;
    echo $destination1;
    echo $destination2;

    J'ai testé, ça mais rien ne s'affiche ....

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    Pourquoi ne pas utiliser un array?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $req2 = mysql_query( "SELECT port_source, destination
    					FROM tunnel
    					WHERE id_connexion ='$id'");
    $port_source=array();
    $destination=array(); 
    while ($reponse = mysql_fetch_assoc($req2)) //
    	{
     
    				$port_source[] = $reponse["port_source"];
                    $destination[] = $reponse["destination"];
     
    $i++;
    	}
    et pour l'affichage des contenues
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach($port_source as $key=>$value)
    {
      echo $value;
    }
    ou depuis l'indice

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut
    C'est mieux, par contre maintenant, une fois qu'il a parcouru une fois la boucle, il m'affiche n'importe quoi pour "destination" à partir du 2nd passage ...
    Quelqu'un à une idé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
    21
    22
    23
    24
    25
     
    $req2 = mysql_query( "SELECT port_source, destination
    					FROM tunnel
    					WHERE id_connexion ='$id'");
     
    $port_source=array();
    $destination=array(); 
    while ($reponse = mysql_fetch_assoc($req2)) //
    	{
     
    				$port_source[] = $reponse["port_source"];
                    $destination[] = $reponse["destination"];
     
    $i++;
    	}
     
     
    $source = $port_source[0];
    $destination = $destination[0];
    $source1 = $port_source[1];
    $destination1 = $destination[1];
    echo $destination1;
    $source2 = $port_source[2];
    $destination2 = $destination[2];
    echo $destination2;


    Resultat de la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
          3128 | 192.168.0.20:3128 
          5000 | 192.168.0.20:5000 
          3689 | 192.168.0.20:3689

    Resultat du echo $destination1 ;


    Resultat du echo $destination2 ;


    Quelqu'un a une idee ?

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut
    Bizzare, car maintenant,
    quand j'essaye avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    foreach($destination as $key=>$value)
    {
      echo $value;
    }

    ça marche tres bien ....

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

Discussions similaires

  1. [XL-2010] Attribuer une valeur à une variable en fonction d'une autre
    Par jkiii dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/11/2013, 19h17
  2. [Batch] Attribuer une plage de valeurs à une variable ?
    Par Arthryn dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 24/03/2010, 13h04
  3. Réponses: 5
    Dernier message: 20/11/2008, 10h12
  4. attribuer une valeur à une variable
    Par johnvox dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/01/2007, 09h58
  5. Réponses: 4
    Dernier message: 19/06/2006, 17h02

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