[RESOLU] Je n'arrive pas à voir où est l'erreur

Eléphanteau du PHP | 29 Messages

15 nov. 2022, 20:54

Bonjour/bondoir à tous.

Je développe en PHP/MySQL une application de comptabilité personnelle. Je me suis lancé récemment dans le projet de tracer la courbe d'évolution des comptes.

Vous aurez compris qu'il y a du PHP, du MySQL, du HTML, du javascript etc...

Je suis dans le module qui vient d'exécuter la requête d'où j'ai tiré le tableau PHP "$courbe", indexé par les années, qui donne les valeurs à représenter. Pour le représenter dans mon canvas HTML, il faut que je transfère ce tableau au javascript, d'où les lignes suivantes :
    echo "<script>";
    echo "var courbe=new Array(), années=new Array(), i=0;";
    foreach ($courbe as $y->$v) {echo "années[i]=$y; courbe[i]=$v;i++;";}
    echo"</script>";
Par lesquelles j'espère créer la liste des années et la liste des valeurs...
Voici ce que je trouve dans le code de la page qui est générée (la balise "Code" donne une couleur peu lisible : sélectionnez le texte pour mieux voir) :

Code : Tout sélectionner

<script>var courbe=new Array(), années=new Array(), i=0;<br /> <b>Notice</b>: Undefined variable: courbe in <b>/var/www/courant/evolution/evolution-0.php</b> on line <b>97</b><br /> <br /> <b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/courant/evolution/evolution-0.php</b> on line <b>97</b><br /> </script>
(la ligne 97 est la troisième de mon extrait, qui commence par "foreach").

Merci à qui pourra me donner des idées, j'y ai déjà passé la journée...

AMIcalement.

Mammouth du PHP | 2703 Messages

15 nov. 2022, 21:00

$courbe est sensée être une variable php existante. à cet endroit du code, elle n'existe pas sous ce nom, d'où l'erreur. comme on a pas le reste du code, impossible d'en dire plus.

Eléphanteau du PHP | 29 Messages

15 nov. 2022, 23:22

Eh bien tu as raison ! MERCI !

Et pourtant, ta réponse a commencé par me faire grimper aux rideaux, car je dis juste avant mon extrait de code que ceci se passe juste après que j'aie créé le tableau "$courbe" qui contient...

Mais je viens de m'apercevoir que cette création n'a lieu qu'à partir du moment où un compte a été sélectionné... et le bout de code que je voulais rajouter a été placé juste après le "}" qui clos le test correspondant (j'espère que c'est clair). En déplaçant cette accolade, ça marche.

J'ai été égaré dans mon analyse de ce message par le fait que je pensais qu'il provenait du javascript, donc qu'il parlait de la variable "courbe" de javascript, et non de la variable que, moi, j'aurais appelée "$courbe" pour PHP.

Encore merci, et merci à ces merveilleux outils que sont les forums.

AMIcalement.

Mammouth du PHP | 1967 Messages

16 nov. 2022, 09:10

Les erreurs javascript se trouverons dans ta console, pas afficher sur ta page.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 29 Messages

16 nov. 2022, 09:51

On n'a jamais fini d'affiner sa science...

Je ne me souviens pas d'avoir marqué mon sujet comme "résolu". Merci à celui qui l'a fait.