Titre: [Résolu] Problème Undefined index
Posté par: aldo72 le le 22-06-2014 a 02:12:33
Bonjour,
Je me tourne vers vous avec un petit soucis qui me fais m'arracher les cheveux;
J'ai réaliser une carte cliquable avec des onmouseover pour un site d'annonces, chaque zones cliquable, change de couleur au passage de souris, et une infobulle apparais, en indiquant le nom de la zone, ainsi que le nombre d'annonces publier dans cette zone.
Jusque la aucuns soucis, le début de la carte marchais impécable, seulement une fois la carte terminer, quelque zone ne fonctionne pas, elle ne laisse rien apparaitre.
Voici le code d'une zone fonctionnant :
Code:
| <area alt="" onmouseover="MapReg(18); MapRegBulle('Ecommoy', '0', '<?php echo $language['texte_ann_bulle'] ?>', event)" onmouseout="MapRegSup();" shape="poly" coords="290,303,286,290,283,287,281,283,277,277,272,274,268,270,262,272,254,273,250,270,244,265,240,267,240,272,233,279,225,282,223,284,225,293,228,300,228,308,227,319,233,322,242,324,246,329,258,329,276,336,282,328,290,325,287,313,290,309" href="Petites-annonces-18-Ecommoy.htm"> |
|
et le code d'une zone qui ne fonctionne pas :
Code:
| <area alt="" onmouseover="MapReg(32); MapRegBulle('St-Calais', '<?php echo $cache_nombre_annonce['reg_32']; ?>', '<?php echo $language['texte_ann_bulle'] ?>', event)" onmouseout="MapRegSup();" shape="poly" coords="384,332,377,322,366,323,359,316,354,308,351,298,353,285,348,280,359,260,368,262,369,250,380,239,391,248,408,256,417,253,426,267,417,272,416,288,410,282,400,288,400,301,404,312,397,319" href="Petites-annonces-32-St-Calais.htm"> |
|
Lorsque que je fais une analyse du code sources une fois en ligne, j'obtiens le code suivant pour la zone qui ne fonctionne pas :
Code:
<area alt="" onmouseover="MapReg(32); MapRegBulle('St-Calais', '<br /> <b>Notice</b>: Undefined index: reg_32 in <b>/public_html/legreniersarthois_v3/includes/functions_html.php</b> on line <b>618</b><br /> ', 'annonces', event)" onmouseout="MapRegSup();" shape="poly" coords="384,332,377,322,366,323,359,316,354,308,351,298,353,285,348,280,359,260,368,262,369,250,380,239,391,248,408,256,417,253,426,267,417,272,416,288,410,282,400,288,400,301,404,312,397,319" href="Petites-annonces-32-St-Calais.htm"> |
|
la je bloque completement, si quelqu'un aurais un semblant de piste, je suis tous ouie.
Merci d'avance de vos idées
Alod72 |
Titre: Re:Problème Undefined index
Posté par: jean-f le le 22-06-2014 a 17:27:04
salut,
dur dur de t'aider avec si peu de code mais d'après l"erreur c'est ta variable : $cache_nombre_annonce['reg_32'] dans :
<?php echo $cache_nombre_annonce['reg_32']; ?> qui n'est pas reconnu .
ca correspond a quoi $cache_nombre_annonce['reg_32'] ? car apparement c'est ca le prob
|
Titre: Re:Problème Undefined index
Posté par: pppplus le le 22-06-2014 a 17:36:08
Une correction pourrait être :
<?php if(isset($cache_nombre_annonce['reg_32']))echo $cache_nombre_annonce['reg_32']; ?>
Mais ça dépendra si c'est ne variable nécessaire ou pas. Si elle n'est pas nécessaire, ça peut marcher.
Si elle est nécessaire, c'est qu'elle n'est pas créée pour ne raison ou une autre. Et c'est ça qu'il faut trouver |
Titre: Re:Problème Undefined index
Posté par: aldo72 le le 23-06-2014 a 09:49:26
Bonjour,
La variable $cache_nombre_annonce['reg_32']
correspond a un fichier cache dont le contenu pour cette variable est la suivante :
Code:
31=> array( 'id_reg' => '32', 'nom_reg' => 'St-Calais', 'pos_reg' => '32', ), |
|
Pour la variable qui fonctionne en comparaison c'est la suivante :
Code:
17=> array( 'id_reg' => '18', 'nom_reg' => 'Ecommoy', 'pos_reg' => '18', ), |
|
Donc même la, tout a l'air propre, dans la base de données, idem, toutes les entrés sont bien présente et identiques a toutes.
Je n'y comprend plus rien, c'est a s'arracher les cheveux |
Titre: Re:Problème Undefined index
Posté par: pppplus le le 23-06-2014 a 09:56:06
Pas la peine de s'arracher les cheveux...
<b>Notice</b>: Undefined index: reg_32 in <b>/public_html/legreniersarthois_v3/includes/functions_html.php</b> on line <b>618</b>
C'est quoi cette ligne 618 ?
Clairement, la valeur $xxx['reg_32'] n'existe pas. Il faut justement trouver la raison pour ça.
Si ça marche pour les autres zones, c'est qu'il doit y avoir une petite erreur (genre requête mysql) qui ne prend pas en compte cette zone-là.
|
Titre: Re:Problème Undefined index
Posté par: aldo72 le le 23-06-2014 a 10:27:07
La ligne 618 correspond au 2 eme code de mon premier post, c'est a dire :
Code:
| <area alt="" onmouseover="MapReg(32); MapRegBulle('St-Calais', '<?php echo $cache_nombre_annonce['reg_32']; ?>', 'annonces', event)" onmouseout="MapRegSup();" shape="poly" coords="384,332,377,322,366,323,359,316,354,308,351,298,353,285,348,280,359,260,368,262,369,250,380,239,391,248,408,256,417,253,426,267,417,272,416,288,410,282,400,288,400,301,404,312,397,319" href="Petites-annonces-32-St-Calais.htm"> |
|
et je vois aucunes erreur dans celui si, j'ai vérifier chaque caractères et espace, rien a faire. |
Titre: Re:Problème Undefined index
Posté par: pppplus le le 23-06-2014 a 11:06:03
Ok mince, j'avais vu en plus !
Faites un petit test
juste au dessus de <area ...>
Mettez :
Code:
<?php print_r($cache_nombre_annonce); ?> |
|
Vous verrez que l'index 'reg_32' n'y est pas.
Donc, il faut regarder la procédure qui stocke dans le tableau $cache_nombre_annonce Certains index n'y sont pas mis visiblement. |
Titre: Re:Problème Undefined index
Posté par: aldo72 le le 23-06-2014 a 13:05:58
Donc j'ai essayer le code précedent, cela me met sur le site :
Code:
| Array ( [total] => 1 [reg_1] => 0 [reg_2] => 0 [reg_3] => 0 [reg_4] => 0 [reg_5] => 0 [reg_6] => 0 [reg_7] => 0 [reg_8] => 0 [reg_9] => 0 [reg_10] => 0 [reg_11] => 0 [reg_12] => 0 [reg_13] => 0 [reg_14] => 0 [reg_15] => 0 [reg_16] => 1 [reg_17] => 0 [reg_18] => 0 [reg_19] => 0 [reg_20] => 0 [reg_21] => 0 [reg_22] => 0 [reg_23] => 0 [reg_24] => 0 [reg_25] => 0 [reg_26] => 0 ) |
|
Ce qui veu dire qu'au dela de Reg_26, les autres ni sont pas, pourtant il sont tous présent dans le fichier cache, et ainsi que dans la bdd, et entre les deux, les ID ne change pas, elle sont identique.
|
Titre: Re:Problème Undefined index
Posté par: pppplus le le 23-06-2014 a 13:19:49
Ils y sont, mais ils n'y sont pas...
=> clairement, on voit avec print_r qu'ils n'y sont pas.
Donc, vous devez trouver pourquoi ils n'y sont pas.
Testez votre tableau $cache_nombre_annonce à plusieurs endroits du script, pour voir à quel moment ces données disparaissent
Donc 1 => un premier print_r(), dès que ce tableau est créé. Et après, vous le testez à plusieurs endroits
Il va falloir un peu tâtonner pour trouver où se crée votre problème. |
Titre: Re:Problème Undefined index
Posté par: aldo72 le le 23-06-2014 a 13:28:47
ok, je vais faire sa a chaque <area ... pour voir ce que cela donne.
Je viens de m'apercevoir que les <area... ne sont pas ordonnées, je m'explique, le 1er <area ... commence a REG_8, ensuite REG_15, ect ...
Sa me parait pas être une grande importance, mais cela pourrais t-il venir de la ?
En tous cas, un grand merci pour l'aide apporter. |
Titre: Re:Problème Undefined index
Posté par: aldo72 le le 23-06-2014 a 14:07:14
Alors, je viens de mettre au cas ou tous les <area... dans l'ordre, de REG_1 à REG_40, j'ai ensuite éffectuer le test du code print_r() a une dizaine d'endroit sur cette map, et le résultat à chaque fois reste le même soit :
Code:
| Array ( [total] => 1 [reg_1] => 0 [reg_2] => 0 [reg_3] => 0 [reg_4] => 0 [reg_5] => 0 [reg_6] => 0 [reg_7] => 0 [reg_8] => 0 [reg_9] => 0 [reg_10] => 0 [reg_11] => 0 [reg_12] => 0 [reg_13] => 0 [reg_14] => 0 [reg_15] => 0 [reg_16] => 1 [reg_17] => 0 [reg_18] => 0 [reg_19] => 0 [reg_20] => 0 [reg_21] => 0 [reg_22] => 0 [reg_23] => 0 [reg_24] => 0 [reg_25] => 0 [reg_26] => 0 ) |
|
|
Titre: Re:Problème Undefined index
Posté par: jean-f le le 23-06-2014 a 15:52:48
la question c'est ou tu récupère $cache_nombre_annonce['reg_32'] ??
faudrait voir le code qui correspond a la variable $cache_nombre_annonce
surtout que dans le 1er area qui fonctionne il n'y a pas la variable $cache_nombre ...
donne l'exemple d'un area ou ca fonctionne avec
Code:
| MapRegBulle('St-Calais', '<?php echo $cache_nombre_annonce['reg_32']; ?>' |
|
|
Titre: Re:Problème Undefined index
Posté par: aldo72 le le 23-06-2014 a 16:13:14
sa doit être ceci, si je me trompe pas :
Code:
sa doit être ceci :
[/code
function get_nb_ann() { $sql = "SELECT count(*) AS total FROM ". PREFIX ."annonces WHERE etat = '2'"; $query = mysql_query($sql); $total = mysql_result($query, 0, 'total');
]$cache_nombre_annonce = '<?php /////////////////////////////////////////////////////////////////////////////////////////// ///Script PHP/MYSQL de gestion de petites annonces développé par XXX ///XXX tout droits réservé. Utilisation sous licence. http://www.XXX.fr /////////////////////////////////////////////////////////////////////////////////////////// '. "\n" .' ############################################################ '. "\n" .' /////////////////////////////////// //Nombre d\'annonce ////////////////////////////////// '. "\n" .' $cache_nombre_annonce = array( '. "\n" .' \'total\' => \''. $total .'\','. "\n" .'';
for($i = 1; $i <= 26; $i++) { $sql = "SELECT count(*) AS total FROM ". PREFIX ."annonces WHERE etat = '2' AND id_reg = '$i'"; $query = mysql_query($sql); $total = mysql_result($query, 0, 'total'); $cache_nombre_annonce .= '\'reg_'. $i .'\' => \''. $total .'\','. "\n" .''; } $cache_nombre_annonce .= ''. "\n" .');'; file_put_contents('../includes/cache/cache_nombre_annonce.php', $cache_nombre_annonce); return true; } |
|
Code:
Toutes les area sont faite de la même façon soit :
|
| <area alt="" onmouseover="MapReg(18); MapRegBulle('Ecommoy', '<?php echo $cache_nombre_annonce['reg_18']; ?>', '<?php echo $language['texte_ann_bulle'] ?>', event)" onmouseout="MapRegSup();" shape="poly" coords="290,303,286,290,283,287,281,283,277,277,272,274,268,270,262,272,254,273,250,270,244,265,240,267,240,272,233,279,225,282,223,284,225,293,228,300,228,308,227,319,233,322,242,324,246,329,258,329,276,336,282,328,290,325,287,313,290,309" href="Petites-annonces-18-Ecommoy.htm"> Code:
Dans mon 1er post, il est vrai que j'avais poster une modification de test, désolé.
Et celle que je viens de mettre ci dessus, fonctionne parfaitement comme les 17 autres première |
|
|
Titre: Re:Problème Undefined index
Posté par: jean-f le le 24-06-2014 a 09:21:11
apparement sur ta boucle for
Code:
| for($i = 1; $i <= 26; $i++) |
|
a reg26 ca stop donc reg32 n'existera pas . essaye de voir pour augmenter.
Puis je comprend pas trop pourquoi tu passe par un array alors que tu as tout en base de donnée ca complique un peu non ? |
Titre: Re:Problème Undefined index
Posté par: aldo72 le le 27-06-2014 a 13:24:26
Bonjour,
Tout d'abord, merci pour l'aide apporter, j'ai enfin réussi a trouver d'ou provenais le soucis,
j'avais un fichier cache qui gère le nombre d'annonces comme ceci :
Code:
'total' => '1', 'reg_1' => '0', 'reg_2' => '0', 'reg_3' => '0', 'reg_4' => '0', 'reg_5' => '0', 'reg_6' => '0', |
|
Et ce fichier s'arreter a 26, une fois mis les ligne manquante, plus de soucis.
Merci encore
aldo72 |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|