Page 1 sur 1

pb de syntaxe avec include

Posté : 08 févr. 2007, 17:16
par hervé_D
Bonjour à tous.
débutant en php je bloque sur un petit pb de syntaxe ou alors j'essaye de faire un truc pas possible ? en tout cas j'ai une erreur quant je test mon code

Code : Tout sélectionner

.... $sql = "SELECT * FROM new WHERE id=".$id.""; $new = mysql_query($sql); while($nouv = mysql_fetch_assoc($new)) { include ($nouv['texte']); ....
ou $nouv['texte']=monfichier.html
pouvez vous m'aider, merci.

Posté : 08 févr. 2007, 17:27
par Invité
$sql = "SELECT * FROM new WHERE id=$id ";

Posté : 08 févr. 2007, 17:29
par Dominic
elle dit quoi l'erreur ?

Posté : 08 févr. 2007, 17:31
par Ryle
C'est effectivement inutile d'ajouter une chaine vide à la fin de la requête, mais en revanche il est préférable de garder la valeur dehors comme il l'a fait :)
$sql = "SELECT * FROM new WHERE id=".$id;
Encore que ceci n'a rien a voir avec le problème rencontré.. as-tu affiché la valeur de $nouv['texte'] ? est ce que ce fichier se trouve bien dans le même dossier que ton script (sinon il faut préciser le chemin)

D'ailleurs, as-tu un message d'erreur ? concrêtement qu'est ce qui ne fonctionne pas ?

Avant l'inclusion, tu devrais tester que le fichier existe bien (file_exists()) ... ca ne fait pas de mal :)

Posté : 10 févr. 2007, 09:50
par Invité
merci pour vos aides, aprés test et en enlevant le where tout s'affiche bien.

Code : Tout sélectionner

$sql = "SELECT * FROM nouvelles WHERE id="$nouv['id']"";
mon url est du type:

Code : Tout sélectionner

http://monsite/index.php?pag=fiche&id=1
:?: :shock:

Posté : 10 févr. 2007, 09:58
par Invité
:oops:

Code : Tout sélectionner

$sql = "SELECT * FROM nouvelles WHERE id=$id";
c'est mieux je pense mais c'est pas ça.

Posté : 10 févr. 2007, 11:31
par Ajoloca
Bonjour,

As-tu suivi les conseils de Ryle ?

Si oui, quel est le résultat ?

Sinon, je te conseille fortement de le faire si tu veux avancer.

Posté : 10 févr. 2007, 17:13
par Invité
je viens de faire deux test l'un en rejoutant (file_exists()) et la il me dit fichier inexistant
et le deuxieme j'ai remplacé

Code : Tout sélectionner

$sql = "SELECT * FROM nouvelles WHERE id=" .$id ;

Code : Tout sélectionner

$sql = "SELECT * FROM nouvelles WHERE id=1" ;
et la ça marche filename -> fichier trouvé et le texte s'affiche.
j'en déduit donc que j'ai un probléme de recuperation de la variable.
:(

Posté : 10 févr. 2007, 18:36
par Ryle
Indubitablement :)

Si tu affiches la requête que tu génère, quelle est la valeur affichée de $id ?

Il vient d'où d'ailleurs ce $id ? s'il est passé en get ou en post, est ce que tu utilises bien les variables $_GET ou $_POST pour le lire ? as-tu une valeur par défaut lorsque celui-ci n'est pas renseigné ? etc.

Posté : 10 févr. 2007, 19:52
par Invité
:oops: :oops:
comme ça c'est mieux:

Code : Tout sélectionner

... $id = $_GET['id']; ... $sql = "SELECT * FROM nouvelles WHERE id=".$id;
j'ai quant une dernière question, y faut pas tester ce qui arrive par get ?