// 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'].']
';
}
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.
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);
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 ...');
si si c defini plus haut
$reqmusique = mysql_query('SELECT rubrique FROM log WHERE rubrique=\'Musique\' AND confirm=\'n\''); // selection de la colonne musique
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;
}
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
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].'
';
}
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.
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].'
';
}