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

Langage PHP Discussion :

probleme appel variable dans une variable


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 22
    Par défaut probleme appel variable dans une variable
    Bonjour j'ai un problème avec cette appel de variable
    php pas ne semble pas pouvoir traiter cette syntaxe y a t-il un autre moyen d'y parvenir ?


    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
    33
    34
    35
    36
    37
    38
    <?php
    include("log.php");
    ?>
    <table>
    <tr>
    <?php	
    $table = 'produits';
    $nom_champs = "";
    $champs = mysql_query("SELECT COLUMN_NAME AS name FROM information_schema.COLUMNS WHERE TABLE_NAME = '$table'
    AND TABLE_SCHEMA = 'va'");
    while($l = mysql_fetch_object($champs))
    	{
    	echo"<td>$l->name</td>";
    	$nom_champs = $nom_champs.",".$l->name;
    	}
    	?>
        </tr>
    <?php
    $nom_champs = substr($nom_champs,1);
    $nom_champs = explode(",",$nom_champs);
    print_r($nom_champs);
    $req = mysql_query("SELECT * FROM $table");
    while($li = mysql_fetch_object($req))
    	{
    	echo"<tr>";
    	for ($i=0;$i <= sizeof($nom_champs);$i++)
    		{
    		$nom = $nom_champs[$i];
    		$nom = "$li->$nom";
     
    		echo"<td>$nom</td>";
    		}
     
    	echo"</tr>";	
    	}	
    ?>
     
    </table>

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    A quoi servent les " ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 22
    Par défaut
    en fait j'ai mis des guillemets en me disant que sa passerait en considérant comme du texte (raisonnement de débutant surement)
    mais sa ne marche pas mieux sans les guillemets
    j'ai les deux messages d'erreurs ci dessous
    et un seul enregistrement est affiché au lieu de beaucoup plus

    Notice: Undefined offset: 12 in C:\wamp\www\adminva\gestion_pdt.php on line 28

    Fatal error: Cannot access empty property in C:\wamp\www\adminva\gestion_pdt.php on line 29
    Merci de votre aide

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Bon, une chose est sûre : les guillemets ici ne servent à rien, la syntaxe suivante est bonne :

    Ensuite :

    Notice: Undefined offset: 12 in C:\wamp\www\adminva\gestion_pdt.php on line 28
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $nom = $nom_champs[$i];
    L'élément $i du tableau $nom_champs n'existe pas. Et effectivement, plus haut, lignes 14, 19, 20, tu traites $nom_champs comme une chaîne de caractères et pas comme un tableau.
    Revois le traitement de tes variables et leurs rôles.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 22
    Par défaut
    Merci Seb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nom_champs = explode(",",$nom_champs);
    je pensai que ma variable était devenu un tableau en utilisant la fonction explode

    alors je ne sais toujours pas comment faire

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par xstier Voir le message
    Merci Seb

    $nom_champs = explode(",",$nom_champs);

    je pensai que ma variable était devenu un tableau en utilisant la fonction explode

    alors je ne sais toujours pas comment faire
    Oui tu as raison !! Désolé, je n'avais pas fais gaffe à explode( )

    Bon si je comprends bien la finalité de ton script tu veux boucler sur tous les champs d'une table produits.
    Tu peux le faire bcp plus simplement de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $sql = 'SELECT ALL * FROM produits' ;
    $rs = mysql_query($sql) ;
    while ( $tuple = mysql_fetch_assoc($rs) ) {
        echo '<tr>' ;
        foreach ( $tuple as $field => $value ) {
            echo "<td>$field => $value</td>" ;
        }
        echo '</tr>' ;
    }
    Pour récupérer uniquement les noms des champs d'une table : mysql_list_fields( )
    http://fr.php.net/manual/fr/function...ist-fields.php

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

Discussions similaires

  1. Introduire une variable dans une variable
    Par benramin31 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/02/2012, 11h30
  2. Recuperer le nom d'une variable dans une variable String
    Par aliwassem dans le forum Langage
    Réponses: 11
    Dernier message: 23/10/2009, 12h38
  3. Réponses: 2
    Dernier message: 24/03/2009, 09h09
  4. Réponses: 3
    Dernier message: 26/09/2008, 10h41
  5. Réponses: 13
    Dernier message: 14/06/2003, 22h15

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