Javascript + SQL

Xmemy Messages postés 5 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 14 mars 2008 - 13 févr. 2008 à 15:52
Xmemy Messages postés 5 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 14 mars 2008 - 14 févr. 2008 à 15:45
Bien le bonjour à tous

Je dois développer un petit site internet pour l'entreprise où je fais stage, et je rencontre un petit problème avec un code javascript et plus particulièrement avec la requête SQL que j'inclus dedans.

J'ai donc un javascript qui me permet de faire un défilement automatique du texte de bas en haut. Dans ce javascript qui sert à faire défiler des nouvelles, il y a une chaine de caractères (120) qui provient d'une base de données qui provient d'un textarea.

J'ai remarqué quand quand ma chaine de caractères comptait des
l'affichage de mon javascript plantait complètement.J'imagine qu'il doit y avoir d'autre problème dans le genre.
Avant de mettre la chaine de caractères dans ma base données, je lui applique la fonction "nl2br"
Donc comment dois je faire pour réussir à faire fonctionner ce JS ?

//Le script
<script language="Javascript1.2">
var marqueecontents='<?php include('affnew.php'); ?>';
if (document.all){
document.write('<marquee direction="up" scrollAmount=3 style="width:267px;height:460px;border:1px black solid">'+marqueecontents+'</marquee>');
}
function regenerate(){
window.location.reload();
}
function regenerate2(){
if (document.layers){
setTimeout("window.onresize=regenerate",450);
intializemarquee();
}
}

function intializemarquee(){
document.cmarquee01.document.cmarquee02.document.write(marqueecontents);
document.cmarquee01.document.cmarquee02.document.close();
thelength=document.cmarquee01.document.cmarquee02.document.height;
scrollit();
}

function scrollit(){
if (document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){
document.cmarquee01.document.cmarquee02.top-=speed;
setTimeout("scrollit()",100);
}
else{
document.cmarquee01.document.cmarquee02.top=marqueeheight;
scrollit();
}
}

window.onload=regenerate2;
</script>

-------------------------------------------

//page qui fait afficher
<?php
$query1="SELECT * FROM news WHERE idnews=22";
$reponse1=mysql_query($query1) or die ("La requête "$query1"n'a pas pu s'exécutée");
echo('');
while($donnees1=mysql_fetch_assoc($reponse1)){
echo('----
');
echo(''.$donnees1['titre'].'
'.$donnees1['previsu'].', ');
echo('');
}
echo('
');
?>

D'avance un grand merci à tous pour votre aide

4 réponses

nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
14 févr. 2008 à 11:36
Bonjour,

le problème se situe dans le résultat de ta query !
Pour mieux t'aider, montre nous le code html résultat de la page et non celui coté serveur !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
0
Xmemy Messages postés 5 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 14 mars 2008
14 févr. 2008 à 11:47
à force de faire des recherches, j'ai réussi à cerner le problème. le problème ne vient pas du tout du code en lui même mais bien du résultat de la $query.

Il faut donc que j'arrive à formater la chaine de caractères pour quelle réponde à la syntaxe du javascript.

Pour le moment j'essaye ceci mais sans grand résultat je dois dire.

$cutted=substr($_POST['contenunew'], 0, 115);
$addpoint=$cutted."..";
$addbr=nl2br($addpoint);
$format=ereg_replace('
', '\n', $addbr);
$previsu=addslashes($format);
tout ce qui est au dessus du ereg_replace fonctionnent correctement, j'ai l'impression que c'est le addslashes qui ne fait pas correctement son travail, en effet quand je regarde dans ma base de données je peux voir que les ' et " ne sont pas échappé.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 févr. 2008 à 14:44
Bonjour,
    >>j'ai l'impression que c'est le addslashes qui ne fait pas correctement son travail
       tu dois n'avoir aucun doute la dessus : addslashes fonctionne sans aucun bug.
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
Xmemy Messages postés 5 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 14 mars 2008
14 févr. 2008 à 15:45
Bonjour,

Elle marche correctement jusqu'au moment ou je veux insérer la chaine de caractère dans ma base données. A ce moment là, quand je regarde dans ma base de données il n'y a plus aucun slash...

$titre=htmlentities($_POST['titrenew'], ENT_QUOTES);
//LA PREVISUALISATION
$cutted=substr($_POST['contenunew'], 0, 115);
$addpoint=$cutted."..";
$addbr=nl2br($addpoint);
$format=ereg_replace('
', '\n', $addbr);
$previsu=addslashes($format);
//LE CONTENU
$contenu=nl2br($_POST['contenunew']);
$contenu2=addslashes($contenu);
$query8="INSERT INTO news(titre, contenu, previsu) VALUE('".$titre."', '".$contenu2."', '".$previsu."')";
$reponse8=mysql_query($query8) or die ("La requête "$query8" n'a pas pu s'exécutée");

Je ne vois pas du tout pourquoi je n'ai plus de slash dans ma chaine :S
0
Rejoignez-nous