pb de syntaxe avec include

hervé_D
Invité n'ayant pas de compte PHPfrance

08 févr. 2007, 17:16

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.

Invité
Invité n'ayant pas de compte PHPfrance

08 févr. 2007, 17:27

$sql = "SELECT * FROM new WHERE id=$id ";

Eléphant du PHP | 136 Messages

08 févr. 2007, 17:29

elle dit quoi l'erreur ?
L'informatique apporte des solutions à des problèmes qui ne se posaient pas avant qu'elle existe.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

08 févr. 2007, 17:31

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 :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Invité
Invité n'ayant pas de compte PHPfrance

10 févr. 2007, 09:50

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:

Invité
Invité n'ayant pas de compte PHPfrance

10 févr. 2007, 09:58

:oops:

Code : Tout sélectionner

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

ViPHP
ViPHP | 1961 Messages

10 févr. 2007, 11:31

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.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

10 févr. 2007, 17:13

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.
:(

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

10 févr. 2007, 18:36

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.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Invité
Invité n'ayant pas de compte PHPfrance

10 févr. 2007, 19:52

: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 ?