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 :

[Tableaux] Tableau d'un tableau


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Points : 87
    Points
    87
    Par défaut [Tableaux] Tableau d'un tableau
    Bonjour à tous !


    J'ai un petit problème au niveau de mon code php, le voici :

    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
    
    $var = split(',',$champs);
    
    	
    	if($idConnection = mysql_connect($server,$user,$pwd)) 
    	{	
    		if ($id_db = mysql_select_db($base) or die ("erreur".mysql_error())) 
    		{
    			$request = "select $champs from $table $condition ";
    			echo "requete = ".$request;
    			$result = mysql_query($request);
    			while ($ligne = mysql_fetch_array($result))
    			{	 
                                    $i = 0;
    				if($var[$i] != "")
    				{
    					echo $ligne[$var[$i]];
    					echo ",";
    					$i++;
    				}
    				echo "\n";
    			}
    		}
    Ce qui est en rouge ne fonctionne pas. En fait, je souhaite pouvoir afficher les champs de ma table mais en temps normal, $ligne["champs"] et là, je n'ai que $ligne[champs]. Comment pourrais-je faire ?


    Merci de votre aide

  2. #2
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    As tu un message d'erreur?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Points : 87
    Points
    87
    Par défaut
    Non, mais je n'ai rien qui apparait


    Je pense qu'il manque juste à ajouter : $ligne["champs1"] mais moi vu que je fais : $ligne[$var[$i]], je me retrouve avec $ligne[champs1], du coup cela ne fonctionne.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Points : 87
    Points
    87
    Par défaut
    J'ai trouvé l'erreur à mon problème enfin presque, j'avance doucement mais surement.

    En fait, champs1, champs2 etc... comprenais le champs mais aussi la table du style :


    table = utilisateur u
    champs1 = u.id
    champs2 = u.age

    etc...


    Maintenant je n'ai plus qu'à trouver une boucle pour supprimer les 2 premiers caractères de champs1, champs2...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Points : 87
    Points
    87
    Par défaut
    Pour en revenir ou j'étais :

    J'ai : u.date
    Je souhaiterai avoir : date




    voici mon script pour que j'ai ce que je veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    $var = split(',',$champs);
    	$i = 0;
    	while($var[$i] != "")
    	{
    		$tmp = $var[$i];
    		$chaine[$i] = substr($tmp,2);
    		echo "chaine de $i = " .$chaine[$i];
    		$i++;
    	}
    Voilà ce que j'obtient :
    chaine de 0 = date
    chaine de 1 = .age
    chaine de 2 = .pseudo

    Pourquoi j'ai un "." qui apparait à partir du deuxième passage dans ma boucle ???

    Merci encore pour votre aide précieuse !

  6. #6
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Ce n'est pas la concatenation qui pose probleme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'chaine de '.$i.' = '.$chaine[$i].'';

  7. #7
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Quand tu as un problème comme ca, affiche les étapes intermédiaires, par exemple, que contient tmp ?

    Ta concatenation est bonne et ce n'est pas elle qui rajoute le point.

    L'hypothese la plus vraisemblable c'est que le . est dans tmp.
    Une autre est que $chaine[$i] = substr($tmp,2); est mal interprété par php si tu n'as pas pris la peine de préciser plus haut un truc du genre


  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Points : 87
    Points
    87
    Par défaut
    Merci à tous pour votre aide, j'ai compris mon erreur :

    $champs = "u.date, u.age, u.pseudo...";

    en clair, j'avais un " " du coup, à partir du deuxième champs, un espace apparaissait et donc, le substr($tmp,2) partait de l'espace et non de "u"


    Merci encore pour votre aide !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/03/2008, 18h21
  2. Réponses: 2
    Dernier message: 18/12/2007, 21h22
  3. Réponses: 2
    Dernier message: 27/11/2005, 23h36
  4. [Tableaux] Count dans un tableau
    Par krfa1 dans le forum Langage
    Réponses: 2
    Dernier message: 27/11/2005, 20h15
  5. [Tableaux] recuperation valeurs dun tableau ou d'un array
    Par pascale86 dans le forum Langage
    Réponses: 5
    Dernier message: 11/10/2005, 16h14

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