Bonjour
je cherche à comprendre ce qui ne va pas sous xoops.
J'ai ce code hors xoops et il fonctionne très bien.
<?php
$conn = mysql_connect("localhost", "root", "");
if (!$conn) {
echo "Impossible de se connecter à la base de données : " . mysql_error();
exit;
}
if (!mysql_select_db("test")) {
echo "Impossible de sélectionner la base mydbname : " . mysql_error();
exit;
}
$sql = "SELECT b3.cid as cid, concat(b1.title,' ',b2.title, ' ', b3.title) as titre
FROM da_cartes_de_visites_cat b1
/* Recherche des catégories */
join da_cartes_de_visites_cat b2 on b1.cid = b2.pid
/* Recherche des cantons */
join da_cartes_de_visites_cat b3 on b2.cid = b3.pid
order by titre";
$res = mysql_query($sql);
if (!$res) {
echo "Impossible d'exécuter la requête ($sql) dans la base : " . mysql_error();
exit;
}
if (mysql_num_rows($res) == 0) {
echo "Aucune ligne trouvée, rien à afficher.";
exit;
}
// Tant qu'une ligne existe, place cette ligne dans la variable $row
// sous la forme d'un tableau associatif.
// Note : Si vous n'attendez qu'une seule ligne, oubliez la boucle
// Note : Si vous utilisez extract($row); dans la boucle suivante
// vous créerez $userid, $fullname et $userstatus
$arbo = array();
while ($row = mysql_fetch_assoc($res)) {
//echo "cid = ".$row['cid']." et titre = ".$row['titre']."<br>";
$arbo[$row['cid']]= $row['titre'];
}
mysql_free_result($res);
print_r( $arbo);
?>
Comment expliquer que sous xoops il n'y a pas moyen de mettre les valeurs dans l'array arbo?
[code]
while ($row = $xoopsDB->fetchArray($res)) {
echo "cid = ".$row['cid']." et titre = ".$row['titre']."<br>";
//$arbo[$row['cid']]= $row['titre'];
}
print_r( $arbo);
/code]
liste bien les valeurs contenue dans cid et title et sans erreur dans le débug de xoops, mais dès que je décote $arbo[$row['cid']]= $row['titre']; je me retrouve avec une page blanche?????
Merci de votre aide