Recuperation valeur de champs

Résolu
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 - 21 déc. 2007 à 15:02
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 - 4 janv. 2008 à 18:26
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

jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
4 janv. 2008 à 18:26
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
3
cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 1
21 déc. 2007 à 15:28
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>
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
21 déc. 2007 à 15:35
oui oui je me suis trompé dans mon ctr c
mais ma requete s'appelle bien $reqmusique

www.creativs.fr
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
21 déc. 2007 à 16:25
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!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
21 déc. 2007 à 16:29
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!
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
21 déc. 2007 à 17:10
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
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
21 déc. 2007 à 17:13
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!
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
21 déc. 2007 à 17:15
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
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
21 déc. 2007 à 17:19
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!
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
21 déc. 2007 à 17:39
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
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
21 déc. 2007 à 17:43
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!
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
21 déc. 2007 à 17:53
merci

mais la ca me renvoi array () ???

www.creativs.fr
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
21 déc. 2007 à 17:56
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!
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
21 déc. 2007 à 18:02
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
0
bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 1
23 déc. 2007 à 12:59
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.
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
27 déc. 2007 à 14:42
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
0
cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 1
27 déc. 2007 à 14:51
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>
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
27 déc. 2007 à 18:11
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
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
27 déc. 2007 à 18:51
et bonne fete a toi aussi

www.creativs.fr
0
Rejoignez-nous