Recuperation valeur de champs [Résolu]

Signaler
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
-
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
-
bonjour,

je recupere ma colonne rubrique dans ma table

$reqmusique = mysql_query('SELECT rubrique FROM log WHERE rubrique=\'Musique\' AND confirm=\'n\'');

puis je veux créer un tableau avec mes données ainsi récupéré

function recup_table($log)
{
 // requête mysql
 $reqmusique;

 // création d'un tableau destiné à contenir les infos de la table et nommé en conséquence
 $tbl_array = array();
 
 // remplissage du tableau avec le contenu de la requête
 while($data = mysql_fetch_array($reqm)) {
  foreach($data as $key => $value) {
   $tbl_array[$key][] = $value;
  }
 }
 return $tbl_array;
}
echo "$tbl_array 
";

mais ca me dit variable pas déclaré ($tbl_array)

si quelqu'un peut m'aider merci
www.creativs.fr

19 réponses

Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
pour ceux que ca interesse...

 // requête mysql
 $reqnouvmusique=mysql_query('SELECT login FROM log WHERE rubrique=\'Musique\' AND confirm=\'n\''); // selection de la colonne nom dans musique;
 // création d'un tableau destiné à contenir les infos de la table et nommé en conséquence
 $tbl_array = array();
 // remplissage du tableau avec le contenu de la requête
 while($data = mysql_fetch_array($reqnouvmusique)) {
 // ecriture de la nouvelle adresse de modification
   echo '    [?page=admin_profile&profil='.$data['login'].' '.$data['login'].']
';
  }

merci malik et lowkey et bizibiz
Messages postés
260
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
5 novembre 2010
1
Salut !

Attention : while($data = mysql_fetch_array($reqm))
Ta requète s'appelle $reqmusique

<hr />
lowke<sub>y

Quand on se fait chier, on clique ici</sub>
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
oui oui je me suis trompé dans mon ctr c
mais ma requete s'appelle bien $reqmusique

www.creativs.fr
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
14
Tu peux pas utiliser un echo pour un tableau mais un print_r. Pour avoir les éléments un à un, il faut utiliser une boucle

*****
noisy communication - wherever, be everywhere!
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
14
en plus, tu ne fais pas appel à ta fonction! Le tbl_array dont l'erreur te parle n'est effectivement pas déclaré puisque c'est celui hors de la fonction.

Fais
$tbl_array = array();
$tbl_array = recup_table($log);
print_r($tbl_array);

*****
noisy communication - wherever, be everywhere!
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
bon j'ai essayé mais ca fonctionne pas trop

function recup_table($log) {
 // requête mysql
 $reqmusique;
 // création d'un tableau destiné à contenir les infos de la table et nommé en conséquence
 $tbl_array = array();
 // remplissage du tableau avec le contenu de la requête
 while($data = mysql_fetch_array($reqmusique)) {
  foreach($data as $key => $value) {
   $tbl_array[$key][] = $value;
  }
 }
 return $tbl_array;
}
$tbl_array = recup_table($log);
print_r($tbl_array);

www.creativs.fr
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
14
Attends, c'est clair que tel quel ça peut pas marcher! $reqmusique n'a pas d'affectation alors que ça devrait être un truc genre $reqmusique = mysql_query('SELECT ...');

Sans quoi, ça peut pas fonctionner!

*****
noisy communication - wherever, be everywhere!
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
si si c defini plus haut
$reqmusique = mysql_query('SELECT rubrique FROM log WHERE rubrique=\'Musique\' AND confirm=\'n\''); // selection de la colonne musique

www.creativs.fr
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
14
As-tu des notions concernant la portée des variables? La variable $reqmusique définit dans la fonction et celle du même nom définie hors de la fonction sont différentes pour PHP.

Tu peux t'en convaincre en faisant ça:
unction recup_table($log) {
 // requête mysql
 echo '## '.$reqmusique.' ##';
 // création d'un tableau destiné à contenir les infos de la table et nommé en conséquence
 $tbl_array = array();
 // remplissage du tableau avec le contenu de la requête
 while($data = mysql_fetch_array($reqmusique)) {
  foreach($data as $key => $value) {
   $tbl_array[$key][] = $value;
  }
 }
 return $tbl_array;
}

Ca risque bien d'afficher "##  ##".

Il faut que tu passes $reqmusique en paramètre. Genre

$tbl_array = recup_table($log,$reqmusique);

et ta fonction ainsi:

function recup_table($log,$reqmusique) {

 // création d'un tableau destiné à contenir les infos de la table et nommé en conséquence
 $tbl_array = array();
 // remplissage du tableau avec le contenu de la requête
 while($data = mysql_fetch_array($reqmusique)) {
  foreach($data as $key => $value) {
   $tbl_array[$key][] = $value;
  }
 }
 return $tbl_array;
}

*****
noisy communication - wherever, be everywhere!
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
oui c vrai mes notions sont bien courtes

la ca me renvoi :
Array ( [0] => Array ( [0] => musique ) [rubrique] => Array ( [0] => musique ) )
moi je voudrais que cela me renvoi les valeur contenu dans mes rubriques

www.creativs.fr
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
14
Bon, ben on est sur la bonne voie là :-)

Pour lire les données d'un tableau, en général on fait:

$cpt = count($nomdutableau);
for ($i=0;$i<$cpt;$i++)
   echo $nomdutableau[$i].'
';

C'est juste un exemple hein, mais à partir de là tu devrais t'en sortir!

*****
noisy communication - wherever, be everywhere!
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
merci

mais la ca me renvoi array () ???

www.creativs.fr
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
14
Je sais pas où tu veux aller avec ton code, mais à la punk, je dirais qu'il faut faire ça:

$cpt = count($nomdutableau);
for ($i=0;$i<$cpt;$i++){
    $cpt2 = count($nomdutableau[$i]);
    for ($j=0;$i<$cpt2;$j++)
   echo $nomdutableau[$i][$j].'
';
}

*****
noisy communication - wherever, be everywhere!
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
en fait moi je veux afficher la liste des nom contenu dans ma table log

$reqmusique = mysql_query('SELECT rubrique FROM log WHERE rubrique=\'Musique\' AND confirm=\'n\''); // selection de la colonne musique

function recup_table($reqmusique) {


 // création d'un tableau destiné à contenir les infos de la table et nommé en conséquence
 $tbl_array = array();
 // remplissage du tableau avec le contenu de la requête
 $cpt = count($tbl_array);
for ($i=0;$i<$cpt;$i++){
    $cpt2 = count($tbl_array[$i]);
    for ($j=0;$i<$cpt2;$j++)
   echo $tbl_array[$i][$j].'
';
}


 return $tbl_array;
}


$tbl_array = recup_table($reqmusique);
print_r($tbl_array);

voila jai fait comme tu ma dit et ca me renvoi tjs array ()

www.creativs.fr
Messages postés
142
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
29 août 2009
1
Salut,

C'est ton "print" qu'il faut que tu remplaces par ce que malik7934 t'as dit, là tu fais un echo d'un tableau vide ça na marchera pas et du coup le tableau que tu retourne est vide.
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
bon

function recup_table($log) {
 // requête mysql
 $reqnouvmusique=mysql_query('SELECT nom FROM log WHERE rubrique=\'Musique\' AND confirm=\'n\''); // selection de la colonne nom dans musique;
 // création d'un tableau destiné à contenir les infos de la table et nommé en conséquence
 $tbl_array = array();
 // remplissage du tableau avec le contenu de la requête
 while($data = mysql_fetch_array($reqnouvmusique)) {
  foreach($data as $key => $value) {
   $tbl_array[$key][] = $value;
  }
 }
 return $tbl_array;
}
$tbl_array = recup_table($log);
$cpt = count($tbl_array);
for ($i=0;$i<$cpt;$i++){
    $cpt2 = count($tbl_array[$i]);
    for ($j=0;$i<$cpt2;$j++)
   echo $tbl_array[$i][$j].'
';
}

ca doit donner ca?
parce que la ca plante tout???

www.creativs.fr
Messages postés
260
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
5 novembre 2010
1
Salut !!

Au risque de dire une connerie :

for ($i= 0;$i<$cpt;$i++){
    $cpt2 = count($tbl_array[$i]);
    for ($j=0; $j <$cpt2;$j++)
   echo $tbl_array[$i][$j].'
';
}

Bonne journée et bonnes fêtes !!

<hr />
lowke<sub>y

Quand on se fait chier, =45971 on clique ici</sub>
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
merci lowkey

juste un dernier truc ca me donne bien le nom mais

Notice: Undefined offset: 1 in C:\Program Files\EasyPHP 2.0b1\www\essai php\script_espace_membres\adminiroo2.php on line 62

$cpt2 = count($tbl_array[$i]);

???

www.creativs.fr
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
et bonne fete a toi aussi

www.creativs.fr