Pb avec Mysql - PHP - Programmation
Marsh Posté le 10-10-2005 à 20:03:31
Il n'y a pas de raison a priori.
Fait voir comment tu insères/récupères tes données.
Marsh Posté le 10-10-2005 à 20:36:53
sielfried a écrit : Il n'y a pas de raison a priori. |
Bonsoir et merci de ton aide.
Je les insère de cette façon avec une simple requête SQL :
Code :
|
Pour les récupérer :
Code :
|
Bizarre, non?
Marsh Posté le 10-10-2005 à 20:43:42
Il y a combien de colones dans ta table et dans quel ordre?
Marsh Posté le 10-10-2005 à 20:44:59
fait un addslashes($a_row[7]) déjà pour evité si y'a des " ' que ca bug lors du document...value= et verifie dans les sources de la page générée ce que ca donne.
Marsh Posté le 10-10-2005 à 20:45:39
Ma question peut paraître stupide et hors de propos, mais...
Pourquoi du javascript ?
Marsh Posté le 10-10-2005 à 20:49:20
ben il veut mettre a jour le champ d'un formulaire
c sur qu'il pourrait directement faire un echo du formulaire entier en affectant les valeurs directement
Marsh Posté le 10-10-2005 à 21:20:51
Merci pour vos réponses. Le javascript, c'est pour mettre à jour les données de mon formulaire. Maitenant, je peux éventuellement mettre seulement du php...
Sinon, ma table a 9 colonnes, et celle qui pose pb est avant dernière : pourquoi cette question, je ne comprends pas trop?
Marsh Posté le 10-10-2005 à 21:22:17
joquetino a écrit : Merci pour vos réponses. Le javascript, c'est pour mettre à jour les données de mon formulaire. Maitenant, je peux éventuellement mettre seulement du php... |
si tu peux c'est mieux
joquetino a écrit : Sinon, ma table a 9 colonnes, et celle qui pose pb est avant dernière : pourquoi cette question, je ne comprends pas trop? |
je vois pas trop pourquoi non plus
Marsh Posté le 10-10-2005 à 21:26:03
Y'aurait pas des quotes simples dans ta string ?
echo $a_row[7]; hors du JS ca affiche quoi ?
Sinon va faire un tour du côté de :
http://php.net/mysql_real_escape_string
http://php.net/mysql_fetch_assoc
Pas forcément à voir avec le problème, mais ça ferait pas de mal.
Marsh Posté le 10-10-2005 à 21:27:37
betsamee a écrit : franchement javascript c'est le mal |
Si c'est pour dire ça, autant ne rien écrire :|
Marsh Posté le 10-10-2005 à 21:32:31
joquetino a écrit : Merci pour vos réponses. Le javascript, c'est pour mettre à jour les données de mon formulaire. Maitenant, je peux éventuellement mettre seulement du php... |
Ton problème vient de javascript.
En effet, lorsque tu as une seule ligne, aucun problème.
Par contre, quand tu as plusieurs lignes dans ton texte, le PHP va donc envoyer plusieurs lignes dans l'HTML.
Et javascript n'aime pas
En fait, les retours chariots sont stockés de la manière suivante dans ta base sql : \n, et non <br /> comme le voudrait l'HTML.
le symbole \n indique un retour à la ligne, et dans le document que tu genères, ça ne sera pas un retour à la ligne HTML, mais de fichier, d'où le dysfonctionnement avec Javascript.
Exemple :
1 ligne donne :
document.value = 'blabla';
dans ton cas, avec 2 lignes, cela donne :
document.value = 'salut
toto';
=> Erreur javascript.
Il est préférable que tu mettes ton champ à jour de la façon suivante :
<textarea>'.$a_row[7].'</textarea>
car :
<textarea>salut
toto</textarea>
=> Pas d'erreurs , ça fonctionne.
A+
Marsh Posté le 10-10-2005 à 21:33:41
joquetino a écrit : Sinon, ma table a 9 colonnes, et celle qui pose pb est avant dernière : pourquoi cette question, je ne comprends pas trop? |
pour vérifer que l'index 7 était cohérant je suppose...
Marsh Posté le 10-10-2005 à 21:38:22
skylight a écrit : Si c'est pour dire ça, autant ne rien écrire :| |
excuses moi de conseiller d'eviter d'utiliser le javascript quand il n'a aucun interet
je ne suis pas un specialiste du web de ton calibre j'en suis sur mais j'ai le droit de dire ce que je pense
Marsh Posté le 10-10-2005 à 21:39:13
betsamee a écrit : excuses moi de conseiller d'eviter d'utiliser le javascript quand il n'a aucun interet |
Dans ce cas, précise, mais ne dit pas tout betement que c'est le mal.
Marsh Posté le 10-10-2005 à 21:43:54
skylight a écrit : Dans ce cas, précise, mais ne dit pas tout betement que c'est le mal. |
je suis bete c'est pas ma faute
[chuchotement fourbe]
je peux plus me les voir ces webeux avec leur w3c et leur arrogance
[/chuchotement fourbe]
Marsh Posté le 10-10-2005 à 22:06:46
En tout cas, mon pb venait bien du Javascript. En oubliant le Javascript et en passant au PHP, tout est réglé. Merci.
Marsh Posté le 10-10-2005 à 22:48:54
joquetino a écrit : Sinon, ma table a 9 colonnes, et celle qui pose pb est avant dernière : pourquoi cette question, je ne comprends pas trop? |
je posais la question, par ce que t'en remplis que 4 d'aprés la requette (les autres ayant peut être une valeur par défaut) et que tu lis la valeur contenu dans la 7éme colone. (dans l'ordre réel des colones d'aprés la base de donnée) Comme tu nous avais pas donné le nombre de colone ni leur ordre, il était possible que tu récupéres une colone vide (ou une valeur en dehors de la table) au lieu de la bonne colone. Du coup, on pouvait pas savoir si la récupération était bonne.
Marsh Posté le 10-10-2005 à 23:07:18
Je viens vous embêter une nouvelle fois, mais j'ai un autre problème avec ma base de données MySql.
Je rentre, via un textarea, un texte, qui contient des retours à la ligne, voir plusieurs saut de lignes. J'ai vérifié dans ma base de données MySql, ces saut de lignes sont bien pris en compte.
Cependant, quant je réaffiche ce texte, les sauts de ligne ont disparu. C'est assez gênant.
Voici comment je récupère mon texte :
Code :
|
N'auriez vous pas une ch'tite idée du pb, sinon... tant pis, je laisserai le texte tel quel même si c'est pas superbe.
Merci encore.
Marsh Posté le 10-10-2005 à 23:11:31
nl2br($commentaire)
Marsh Posté le 10-10-2005 à 19:56:46
Bonsoir à tous,
J'ai un petit souci avec Mysql, je m'explique. J'ai un formulaire, avec notamment un textarea : lorsque l'internaute passe à la ligne dans son texte (en appuyant sur entrée), les données sont bien enregistrées dans la base de données. Par contre, lorsque j'essaye de les afficher sur une page, rien ne s'affiche. Si l'utilisateur ne passe pas à la ligne, tout se passe comme il faut. Est-ce un problème de caractères spécial?
Merci pour vos suggestions.