Petit problème de fonction d'affichage

Résolu/Fermé
Ninja_En_Short Messages postés 133 Date d'inscription mercredi 19 septembre 2007 Statut Membre Dernière intervention 27 juin 2014 - 21 juil. 2008 à 11:30
Ninja_En_Short Messages postés 133 Date d'inscription mercredi 19 septembre 2007 Statut Membre Dernière intervention 27 juin 2014 - 21 juil. 2008 à 11:55
Bonjour,

Pour mon CMS j'ai créer une fonction qui permet d'afficher dans le menu une image pour tous lesmodules enregistrés dans la BDD (qui stocke le nom du module et le chemin vers la page PHP qui contient ses fonctions et son interface). Petit problème, le code me sort bien l'entête mais ne m'affiche que des liens image brisés.

J'ai retourné le problème dans bien des sens mais je ne trouve pas pourquoi ça bug. Voilà le code de la fonction :

function affichage_menu()
{ // BEGIN function affichage menu
$connect = mysql_connect("localhost", "X", "Y");
mysql_select_db("Z");

$query_listing = "SELECT * FROM modules";
$res_listing = mysql_query($query_listing);
$res_array = mysql_fetch_array($res_listing);

mysql_close($connect);
?>
<table>
<?php

foreach ($res_array as $menuoption) { // Affichage de tous les liens vers les admin_X.php des modules

$moduleName = $menuoption['module_name'];
$moduleImage = $moduleName.".jpg";
$image_path = "<img src='images/'".$moduleImage." />"; // Va chercher l'image du bouton avec nom au format admin_X.jpg dans le dossier image.
?>
<tr>
<a href="admin.php?page=<?php echo $menuoption['module_name']; ?>"><?php echo $image_path;?></a>
</tr>
<?php
};?>
</table>
<?php

} // END function affichage menu

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
21 juil. 2008 à 11:47
Salut

qqs erreurs de principe:

mysql_fetch_array() te sort un array ligne par ligne des enr et pas un array de tous les enregistrements trouvés
pour les exploiter il faut faire une boucle while comme je t'ai fait

ensuite dans une table il faut impérativement au moins <tr><td>....</td></tr>

<?php
function affichage_menu()
{ // BEGIN function affichage menu
$connect = mysql_connect("localhost", "X", "Y");
mysql_select_db("Z");

$query_listing = "SELECT * FROM modules";
$res_listing = mysql_query($query_listing);

mysql_close($connect);
?>
<table>
<?php

while($res_array = mysql_fetch_array($res_listing)) { // Affichage de tous les liens vers les admin_X.php des modules

$moduleName = $res_array['module_name'];
$moduleImage = $moduleName.".jpg";
$image_path = "<img src='images/'".$moduleImage." />"; // Va chercher l'image du bouton avec nom au format admin_X.jpg dans le dossier image.
?>
<tr><td>
<a href="admin.php?page=<?php echo $res_array['module_name']; ?>"><?php echo $image_path;?></a>
<td></tr>
<?php
}
?>
</table>
<?php

} // END function affichage menu
1
Ninja_En_Short Messages postés 133 Date d'inscription mercredi 19 septembre 2007 Statut Membre Dernière intervention 27 juin 2014 9
21 juil. 2008 à 11:55
Merci, ça a marché ;)
1