|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() ![]() Nicolas ChausséÉtudiant Réseaux et Télécoms Inscription : octobre 2009 Messages : 103 ![]() |
Bonjour,
J'ai un problème que j'arrive point à résoudre. J'ai mis le fichier .php en pièce-jointe. Revenons à nos moutons, voici mon message d'erreur: Notice: Undefined offset: 2 in /opt/lampp/htdocs/www3/corres3.php on line 295 Voici la ligne 295: Code :
$tab5[2] Code :
Array ( [0] => SimpleXMLElement Object ( [0] => Horbetoux -> Coteau ) [1] => SimpleXMLElement Object ( [0] => Z -> A ) [2] => Joffre [3] => Napoléon ) Donc, je ne comprends pas pourquoi j'ai cette erreur de offset. Cordialement |
||
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Très franchement ton code est illisible avec ces variables $i, $j, $c, $tab1, $tab2 etc des suites de code redondant et les tableaux indexés numériquement.
Il y a quand même très peu de chance que PHP se trompe donc tu dois mal interpreter tes erreurs et tes tests. Ca serait peut etre plus simple d'y voir quelque chose si tu pouvais nous fournir un petit dump de ta base pour reproduire le fonctionnement de ton code. |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() ![]() Nicolas ChausséÉtudiant Réseaux et Télécoms Inscription : octobre 2009 Messages : 103 ![]() |
Bonsoir,
Tout d'abord merci de votre réponse. C'est vrai que mon code n'est pas très lisible. Je viens de changer le nom des tabs afin de mieux se repérer. Je vais vous mettre un dump de ma base de donnée, ainsi que le fichier sens.xml et le nouveau fichier.php Merci de votre aide! ![]() EDIT: J'ai plus les problèmes d'offset, cependant c'est ma requête à la ligne 271 qui ne marche pas, or lorsque j'essaye cette requete directement sut phpmyadmin celà marche. J'ai essayé de mettre en brut les variables sur le .php mais celà ne change rien |
|
|
00
|
|
|
#4 | ||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
avec quels valeurs en URL peut-on reproduire l'erreur ?
Au passage les boucles for/count ce n'est pas terrible. Si tu as vraiment besoin d'une boucle for, fait le count en dehors de la boucle. Mais dans la majorité des cas, utilise un boucle foreach. Par exemple rapidement pour ta boucle au début, il y a fortement matière a économiser en écriture : Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() ![]() Nicolas ChausséÉtudiant Réseaux et Télécoms Inscription : octobre 2009 Messages : 103 ![]() |
En effet, au niveau de l'optimisatio c'est vraiment très très limite.
J'en prends note, je vais essayer de tout réécrir. Concernant mon problème, en faite ma requete de la ligne 271 ne renvoie aucun résultat Or si je mets directement cette requete sur phpmyadmin: Code :
SELECT p.horairesPasser, l.numLignes, p.idBus FROM Passer AS p INNER JOIN Arrets AS a ON a.idArrets = p.idArrets INNER JOIN Bus AS b ON b.idBus = p.idBus INNER JOIN Lignes AS l ON l.idLignes = b.idLignes WHERE l.nomLignes = "Z -> A" AND a.nomArrets = "Napoléon" AND p.horairesPasser > "06:48:00" AND p.idBus IN (SELECT idBus FROM Passer AS p INNER JOIN Arrets AS a ON a.idArrets = p.idArrets WHERE p.idbus IN (SELECT idBus FROM Passer AS p INNER JOIN Arrets AS a ON a.idArrets = p.idArrets WHERE a.nomArrets = "Napoléon") AND a.nomArrets = "Renoir" ) ORDER BY p.horairesPasser LIMIT 1 Et si je change ma requete de la ligne 271 par cette requête: Code :
$requete='SELECT p.horairesPasser, l.numLignes, p.idBus FROM Passer AS p INNER JOIN Arrets AS a ON a.idArrets = p.idArrets INNER JOIN Bus AS b ON b.idBus = p.idBus INNER JOIN Lignes AS l ON l.idLignes = b.idLignes WHERE l.nomLignes = "Z -> A" AND a.nomArrets = "Napoléon" AND p.horairesPasser > "06:48:00" AND p.idBus IN (SELECT idBus FROM Passer AS p INNER JOIN Arrets AS a ON a.idArrets = p.idArrets WHERE p.idbus IN (SELECT idBus FROM Passer AS p INNER JOIN Arrets AS a ON a.idArrets = p.idArrets WHERE a.nomArrets = "Napoléon") AND a.nomArrets = "Renoir" ) ORDER BY p.horairesPasser LIMIT 1'; Valeur URL : http://ip/dossier/corres4.php?nomArr...tArrive=Renoir Je ne comprends donc pas. |
|
|
00
|
|
|
#6 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Horbetoux ou Napoléon ?
Napoléon me donne "AUCUNE CORRESPONDANCE DISPONIBLE " et Horbetoux : 2 Tu n'aurais pas simplement un problème avec les gares accentuées ? |
|
|
10
|
|
|
#7 |
|
Membre du Club
![]() ![]() Nicolas ChausséÉtudiant Réseaux et Télécoms Inscription : octobre 2009 Messages : 103 ![]() |
En faite, c'est un calcul pour les correspondances.
Arret de départ: Horbetoux Arret d'arrivée de la ligne: Joffre Changement de ligne, départ: Napoléon Arrivée: Renoir Je vais regarder pour le problème des accents EDIT: Merci infiniment, ca venait bien des accents ![]() ![]() Par contre, je ne sais pourquoi ^^ 4heures de prise de tête à cause des accents Cordialement |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com