[php / Javascript] [RESOLU] - Problème de cohabitation

Bonjour à tous

Je suis en train de developper un site pour un groupe d’amis. le site sera en php.
Jusque là je maitrise à peu près le sujet.

Mon problème est que je veut intégrer un code javascript que j’ai récupérer sur un autre site.

Mais voila, j’ai un problème quand je veut rendre interactif mon script php et le code java.

Je me connecte à ma base de données Mysql, j’extrait les données que j’ai besoin et je veux intégrer mes données dans la partie <script> éxécutée dans l’entete de mon fichier <HEAD>

Apparement ca fonctionne pas terrible.

Est ce que quelqu’un pourrait me dire où je bloque ?

Extrait du code d’origine

<HTML>
<HEAD>
<TITLE>[L.S.G] - Le site des Sales Gosses - Team FR - CS 1.6 </TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

<script>
// 31-10-2003 - francktfr@systeme-d.net
// écrit pour http://www.systeme-d.net
 
var Blocs = new Array()
var Sentence = new Array()
  
Sentence.push("Bonjour à tous")
Sentence.push("Que pensez vous de cette")
Sentence.push("afficheur type Panneau de gare ?")
Blocs.push(Sentence)
Sentence = new Array()
Sentence.push("Si vous l'aimez bien")
Sentence.push("Laissez un message sur le forum")
Sentence.push("http://www.lapprentiweb.com/cir/")
Blocs.push(Sentence)
 
var iDones = new Array()    //    Tableau des caracteres placés
var TotalDone = 0            //    Total des caracteres placés
var RowSpeed = 700        //    Interval entre rangée (ms)
var ColSpeed = 10        //    Interval entre colonne (ms)

Extrait du code revu et modifié par moi :

<html>
<head>

<script>
// 31-10-2003 - francktfr@systeme-d.net
// écrit pour http://www.systeme-d.net
 
var Blocs = new Array()
var Sentence = new Array()


<? include "include/connect.php"; ?>
<?
$tbmatch1 = "SELECT * FROM tbmatch where status = 0 order by datea , datem , datej limit 0, 1";
$tbmatch2 = mysql_query($tbmatch1);
?>

<? while ($tbmatch3 = mysql_fetch_array($tbmatch2)) {
    $advm = $tbmatch3[2];
    $datem = $tbmatch3[3]."/".$tbmatch3[4]."/".$tbmatch3[5]." - ".$tbmatch3[6];
    $cartesm = $tbmatch3[7]." - ".$tbmatch3[8]; ?>

Sentence.push("<? echo $advm;?>")
Sentence.push("<? echo $datem; ?>")
Sentence.push("<? echo $cartesm; ?>")
Blocs.push(Sentence)
    
<? } ?>

var iDones = new Array()    //    Tableau des caracteres placés
var TotalDone = 0            //    Total des caracteres placés
var RowSpeed = 700        //    Interval entre rangée (ms)

Merci d’avance :slight_smile:

Tu ne dis pas quelle est véritablement ton erreur…

C’est exact :ange:

Le problème est que mon javascript ne s’affiche pas du tout car quand j’edite la source de ma page dans IE, la partie SENTENCE ne s’affiche pas

Donne la source IE…

Voila le code que j’utilise

Téléchargement du fichier ZIP

Ca m’aide pas trop, quelle est le code source de ta page quand tu l’affiche via IE, quand tu lance ta page et que tu fais affichage / source

Code qui fonctionne :

<HTML>
<HEAD>
<TITLE>[L.S.G] - Le site des Sales Gosses - Team FR - CS 1.6 </TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

<script>
// 31-10-2003 - francktfr@systeme-d.net
// écrit pour http://www.systeme-d.net
 
var Blocs = new Array()
var Sentence = new Array()
  
Sentence.push("Bonjour à tous")
Sentence.push("Que pensez vous de cette")
Sentence.push("afficheur type Panneau de gare ?")
Blocs.push(Sentence)
Sentence = new Array()
Sentence.push("Si vous l'aimez bien")
Sentence.push("Laissez un message sur le forum")
Sentence.push("http://www.lapprentiweb.com/cir/")
Blocs.push(Sentence)
 
var iDones = new Array()    //    Tableau des caracteres placés
var TotalDone = 0            //    Total des caracteres placés
var RowSpeed = 700        //    Interval entre rangée (ms)
var ColSpeed = 10        //    Interval entre colonne (ms)
var BlockSpeed = 1000    //    Temps d'affichage de bloc de texte (ms)
var LenX = 0    //    Nombre de colonnes
var LenY = 0    //    Nombre de rangées
var CodeLetter = new Array()    //    Tableau des symboles HTML
for (i=32; i<255; i++){ if (i<127 || i>160) CodeLetter.push(String.fromCharCode(i))}    //    Remplissage du tableau
//    Cree un chaine avec que des " "
function Str(Len){
    var Result = ""
    for (s=1; s<=Len; s++){Result += " "}
    return(Result)
}
//    verification des phrases + mise a la bonne dimension et dimensions du tableau
function CheckLetters(){    
    var msg = ""
    for (i=0; i<Blocs.length; i++){
        if (LenY < Blocs[i].length){LenY = Blocs[i].length}
        for (j=0; j<Blocs[i].length; j++){
            for (a=0; a<Blocs[i][j].length; a++){
                var isin = 0
                for (c=0; c<CodeLetter.length; c++){
                    if(CodeLetter[c] == Blocs[i][j].charAt(a)){isin = 1; break}
                }
                if(!isin){msg += Blocs[i][j][a] + " inconnu \n"}
            }
            if (LenX < Blocs[i][j].length){LenX = Blocs[i][j].length}
        }
    }
    if(msg != ""){alert(msg); return(0)}
    for (i=0; i<(LenX*LenY); i++){iDones.push(0)}
    //    Remplissage des lignes et caracteres manquants
    var diff = 0
    for (i=0; i<Blocs.length; i++){
        for (j=0; j<Blocs[i].length; j++){
            diff = LenX-Blocs[i][j].length
            if (diff){Blocs[i][j] += Str(diff)}    //    Complete le reste de la chaine
        }
        diff = LenY-Blocs[i].length
        if (diff){ for (j=0; j<diff; j++) {Blocs[i].push(Str(LenX))} }    //    creation d'une nouvelle chaine
    }
    return(1)
}
function InitPanel(Container){
    if (!CheckLetters()){return(0)}
    //    Création du tableau HTML
    var table = "<TABLE CELLPADDING=0 CELLSPACING=1 CLASS=Panel>\n"
    for (j=0; j<LenX; j++){table += "<COL WIDTH=13>"}
    for (i=0; i<LenY; i++){
        table += "<TR>"
        for (j=0; j<LenX; j++){table += "<TD HEIGHT=18 ID=AF_"+i+"_"+j+" CLASS=PanelCell> </TD>"}    
        table += "</TR>"
    }
    table += "</TABLE>"
    Container.innerHTML = table
    WriteBlock(0)
}
//    Retourne L'index du caractere
function CodeIndex(car){
    var res = CodeLetter.length
    for (i=0; i<CodeLetter.length; i++){if (car == CodeLetter[i]){return(i)}}
    return(0)
}
//    Passage au prochain bloc de phrases ou au premier
function NextBlock(BlockIndex){
    BlockIndex < (Blocs.length-1) ? BlockIndex++ : BlockIndex=0
    WriteBlock(BlockIndex)
}
//    Lance l'ecriture des phrases
function WriteBlock(i){
    for (a=0; a<(LenX*LenY); a++){iDones[a]=0}
    TotalDone = 0
    for (r=0; r<Blocs[i].length; r++){setTimeout("WriteRow("+i+", "+r+")",r*RowSpeed)}
}
//    Lance l'ecriture des lettres
function WriteRow(BlockIndex, RowIndex){
    for (l=0; l<Blocs[BlockIndex][RowIndex].length; l++){
        eval("var start = CodeIndex(AF_"+RowIndex+"_"+l+".innerText)")
        setTimeout("WriteLetter("+BlockIndex+", "+RowIndex+","+l+","+start+")",l*ColSpeed)
    }
}
function WriteLetter(BlockIndex, RowIndex, LetterIndex, CodeIndex){
    if (!iDones[(LenX*RowIndex)+(LetterIndex)])
        {
            eval("var Cel = AF_"+RowIndex+"_"+LetterIndex)
            if (Blocs[BlockIndex][RowIndex].charAt(LetterIndex) == CodeLetter[CodeIndex]){
                iDones[(LenX*RowIndex)+(LetterIndex)]++
                TotalDone++
                if (TotalDone >= (LenX*LenY)){setTimeout("NextBlock("+BlockIndex+")",BlockSpeed)}
            }
            Cel.innerText = CodeLetter[CodeIndex]
            CodeIndex < CodeLetter.length-1 ? CodeIndex++ : CodeIndex = 0
            setTimeout("WriteLetter("+BlockIndex+", "+RowIndex+", "+LetterIndex+","+CodeIndex+")",10)
        }
}
</SCRIPT>
<STYLE>
.Panel {FONT: 14 Courier; COLOR: #FFFFCC; TABLE-LAYOUT: fixed; TEXT-ALIGN: center; BACKGROUND: #000000}
.PanelCell {BORDER: 1 solid none; VERTICAL-ALIGN: middle; BACKGROUND: #006666}
</STYLE>
</HEAD>

<BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 ONLOAD="InitPanel(dtable)">
     <DIV id=dtable align="center"></DIV>	

</BODY>
</HTML>

Code qui ne fonctionne pas :

<html>
<head>

<script>
// 31-10-2003 - francktfr@systeme-d.net
// écrit pour http://www.systeme-d.net
 
var Blocs = new Array()
var Sentence = new Array()




var iDones = new Array()    //    Tableau des caracteres placés
var TotalDone = 0            //    Total des caracteres placés
var RowSpeed = 700        //    Interval entre rangée (ms)
var ColSpeed = 10        //    Interval entre colonne (ms)
var BlockSpeed = 1000    //    Temps d'affichage de bloc de texte (ms)
var LenX = 0    //    Nombre de colonnes
var LenY = 0    //    Nombre de rangées
var CodeLetter = new Array()    //    Tableau des symboles HTML
for (i=32; i<255; i++){ if (i<127 || i>160) CodeLetter.push(String.fromCharCode(i))}    //    Remplissage du tableau
//    Cree un chaine avec que des " "
function Str(Len){
    var Result = ""
    for (s=1; s<=Len; s++){Result += " "}
    return(Result)
}
//    verification des phrases + mise a la bonne dimension et dimensions du tableau
function CheckLetters(){    
    var msg = ""
    for (i=0; i<Blocs.length; i++){
        if (LenY < Blocs[i].length){LenY = Blocs[i].length}
        for (j=0; j<Blocs[i].length; j++){
            for (a=0; a<Blocs[i][j].length; a++){
                var isin = 0
                for (c=0; c<CodeLetter.length; c++){
                    if(CodeLetter[c] == Blocs[i][j].charAt(a)){isin = 1; break}
                }
                if(!isin){msg += Blocs[i][j][a] + " inconnu \n"}
            }
            if (LenX < Blocs[i][j].length){LenX = Blocs[i][j].length}
        }
    }
    if(msg != ""){alert(msg); return(0)}
    for (i=0; i<(LenX*LenY); i++){iDones.push(0)}
    //    Remplissage des lignes et caracteres manquants
    var diff = 0
    for (i=0; i<Blocs.length; i++){
        for (j=0; j<Blocs[i].length; j++){
            diff = LenX-Blocs[i][j].length
            if (diff){Blocs[i][j] += Str(diff)}    //    Complete le reste de la chaine
        }
        diff = LenY-Blocs[i].length
        if (diff){ for (j=0; j<diff; j++) {Blocs[i].push(Str(LenX))} }    //    creation d'une nouvelle chaine
    }
    return(1)
}
function InitPanel(Container){
    if (!CheckLetters()){return(0)}
    //    Création du tableau HTML
    var table = "<TABLE CELLPADDING=0 CELLSPACING=1 CLASS=Panel>\n"
    for (j=0; j<LenX; j++){table += "<COL WIDTH=13>"}
    for (i=0; i<LenY; i++){
        table += "<TR>"
        for (j=0; j<LenX; j++){table += "<TD HEIGHT=18 ID=AF_"+i+"_"+j+" CLASS=PanelCell> </TD>"}    
        table += "</TR>"
    }
    table += "</TABLE>"
    Container.innerHTML = table
    WriteBlock(0)
}
//    Retourne L'index du caractere
function CodeIndex(car){
    var res = CodeLetter.length
    for (i=0; i<CodeLetter.length; i++){if (car == CodeLetter[i]){return(i)}}
    return(0)
}
//    Passage au prochain bloc de phrases ou au premier
function NextBlock(BlockIndex){
    BlockIndex < (Blocs.length-1) ? BlockIndex++ : BlockIndex=0
    WriteBlock(BlockIndex)
}
//    Lance l'ecriture des phrases
function WriteBlock(i){
    for (a=0; a<(LenX*LenY); a++){iDones[a]=0}
    TotalDone = 0
    for (r=0; r<Blocs[i].length; r++){setTimeout("WriteRow("+i+", "+r+")",r*RowSpeed)}
}
//    Lance l'ecriture des lettres
function WriteRow(BlockIndex, RowIndex){
    for (l=0; l<Blocs[BlockIndex][RowIndex].length; l++){
        eval("var start = CodeIndex(AF_"+RowIndex+"_"+l+".innerText)")
        setTimeout("WriteLetter("+BlockIndex+", "+RowIndex+","+l+","+start+")",l*ColSpeed)
    }
}
function WriteLetter(BlockIndex, RowIndex, LetterIndex, CodeIndex){
    if (!iDones[(LenX*RowIndex)+(LetterIndex)])
        {
            eval("var Cel = AF_"+RowIndex+"_"+LetterIndex)
            if (Blocs[BlockIndex][RowIndex].charAt(LetterIndex) == CodeLetter[CodeIndex]){
                iDones[(LenX*RowIndex)+(LetterIndex)]++
                TotalDone++
                if (TotalDone >= (LenX*LenY)){setTimeout("NextBlock("+BlockIndex+")",BlockSpeed)}
            }
            Cel.innerText = CodeLetter[CodeIndex]
            CodeIndex < CodeLetter.length-1 ? CodeIndex++ : CodeIndex = 0
            setTimeout("WriteLetter("+BlockIndex+", "+RowIndex+", "+LetterIndex+","+CodeIndex+")",10)
        }
}
</SCRIPT>
<STYLE>
.Panel {FONT: 14 Courier; COLOR: #FFFFCC; TABLE-LAYOUT: fixed; TEXT-ALIGN: center; BACKGROUND: #000000}
.PanelCell {BORDER: 1 solid none; VERTICAL-ALIGN: middle; BACKGROUND: #006666}
</STYLE>
</HEAD>

<BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 ONLOAD="InitPanel(dtable)">
     <DIV id=dtable align="center"></DIV>	

</BODY>
</HTML>

En bas de ma page, dans la barre d’état j’ai un Triangle jaune d’annonce d’erreur dont voici le code:

Ligne : 88
car : 15
Erreur : 'Blocs[...].length' à la valeur Null ou n'est pas un objet
Code : 0
URL : http://127.0.0.1/lsg/annmatch2.php

Tu mélanges mal le script serveur et le script client :

<? include "include/connect.php"; ?>
<?
$tbmatch1 = "SELECT * FROM tbmatch where status = 0 order by datea , datem , datej limit 0, 1";
$tbmatch2 = mysql_query($tbmatch1);
?>

<? while ($tbmatch3 = mysql_fetch_array($tbmatch2)) {
    $advm = $tbmatch3[2];
    $datem = $tbmatch3[3]."/".$tbmatch3[4]."/".$tbmatch3[5]." - ".$tbmatch3[6];
    $cartesm = $tbmatch3[7]." - ".$tbmatch3[8]; ?>

Sentence.push("<? echo $advm;?>")
Sentence.push("<? echo $datem; ?>")
Sentence.push("<? echo $cartesm; ?>")
Blocs.push(Sentence)
    
<? } ?>

C’est sur qu’il ne peut pas comprendre ça

tu fais un <? while(){…?>
puis un <? } ?>
le bloc while ne peut être séparé:



<?  include "include/connect.php"; ?>

<?//Début du php
$tbmatch1 = "SELECT * FROM tbmatch where status = 0 order by datea , datem , datej limit 0, 1";
$tbmatch2 = mysql_query($tbmatch1);


while ($tbmatch3 = mysql_fetch_array($tbmatch2)) 
{
    $advm = $tbmatch3[2];
    $datem = $tbmatch3[3]."/".$tbmatch3[4]."/".$tbmatch3[5]." - ".$tbmatch3[6];
    $cartesm = $tbmatch3[7]." - ".$tbmatch3[8]; 
echo("Sentence.push('$advm')");
echo("Sentence.push('$datem')");
echo("Sentence.push('$cartesm')");
echo("Blocs.push(Sentence)");
}
?>//fin de php

Je pense qu’avec ce que je t’ai filé ça sera plus clair

Merci à toi

Je teste tout de suite et je te dit

Ca marche pas non plus

Par contre j’ai avancé un peu, sais tu comment faire un saut de ligne dans la source affichée ?

Voila où j’en suis

<HTML>
<HEAD>

<script>
// 31-10-2003 - francktfr@systeme-d.net
// écrit pour http://www.systeme-d.net
 
var Blocs = new Array()
var Sentence = new Array()



Sentence.push("]|[ T.O.D.C ]|[") Sentence.push("28/7/2005 - 21:00:00") Sentence.push("de_dust2 - de_inferno") Blocs.push(sentence) Sentence = new Array() Sentence.push("EXE") Sentence.push("8/8/2005 - 17:00:00") Sentence.push("de_dust2 - de_inferno") Blocs.push(sentence) Sentence = new Array()

Mais je pense que le fait que toute les valeurs sentence soit à la suite sur la même ligne ça doit poser un problème

il manque juste les ;

sinon un saut de ligne doit se faire par un \n je pense

<? echo("\n"); ?>

J’ai fini par trouvé et voici le code maintenant

<HTML>
<HEAD>

<script>
// 31-10-2003 - francktfr@systeme-d.net
// écrit pour http://www.systeme-d.net
 
var Blocs = new Array()
var Sentence = new Array()

<? include "include/connect.php"; ?>

<?
$tbmatch1 = "SELECT * FROM tbmatch where status = 0 order by datea , datem , datej";
$tbmatch2 = mysql_query($tbmatch1);
?>

<? while ($tbmatch3=mysql_fetch_array($tbmatch2)) {

   $advm = $tbmatch3[2];
   $datem = $tbmatch3[3]."/".$tbmatch3[4]."/".$tbmatch3[5]." - ".$tbmatch3[6];
   $cartesm = $tbmatch3[7]." - ".$tbmatch3[8]; ?>
  
   Sentence.push("<? echo $advm; ?>")
   Sentence.push("<? echo $datem; ?>")
   Sentence.push("<? echo $cartesm; ?>")
   Blocs.push(Sentence)
   Sentence = new Array()
<?
}
?>

var iDones = new Array()    //    Tableau des caracteres placés
var TotalDone = 0            //    Total des caracteres placés
var RowSpeed = 1500        //    Interval entre rangée (ms)
var ColSpeed = 50        //    Interval entre colonne (ms)
var BlockSpeed = 3000    //    Temps d'affichage de bloc de texte (ms)
var LenX = 0    //    Nombre de colonnes
var LenY = 0    //    Nombre de rangées
var CodeLetter = new Array()    //    Tableau des symboles HTML
for (i=32; i<255; i++){ if (i<127 || i>160) CodeLetter.push(String.fromCharCode(i))}    //    Remplissage du tableau
//    Cree un chaine avec que des " "
function Str(Len){
    var Result = ""
    for (s=1; s<=Len; s++){Result += " "}
    return(Result)
}
//    verification des phrases + mise a la bonne dimension et dimensions du tableau
function CheckLetters(){    
    var msg = ""
    for (i=0; i<Blocs.length; i++){
        if (LenY < Blocs[i].length){LenY = Blocs[i].length}
        for (j=0; j<Blocs[i].length; j++){
            for (a=0; a<Blocs[i][j].length; a++){
                var isin = 0
                for (c=0; c<CodeLetter.length; c++){
                    if(CodeLetter[c] == Blocs[i][j].charAt(a)){isin = 1; break}
                }
                if(!isin){msg += Blocs[i][j][a] + " inconnu \n"}
            }
            if (LenX < Blocs[i][j].length){LenX = Blocs[i][j].length}
        }
    }
    if(msg != ""){alert(msg); return(0)}
    for (i=0; i<(LenX*LenY); i++){iDones.push(0)}
    //    Remplissage des lignes et caracteres manquants
    var diff = 0
    for (i=0; i<Blocs.length; i++){
        for (j=0; j<Blocs[i].length; j++){
            diff = LenX-Blocs[i][j].length
            if (diff){Blocs[i][j] += Str(diff)}    //    Complete le reste de la chaine
        }
        diff = LenY-Blocs[i].length
        if (diff){ for (j=0; j<diff; j++) {Blocs[i].push(Str(LenX))} }    //    creation d'une nouvelle chaine
    }
    return(1)
}
function InitPanel(Container){
    if (!CheckLetters()){return(0)}
    //    Création du tableau HTML
    var table = "<TABLE CELLPADDING=0 CELLSPACING=1 CLASS=Panel>\n"
    for (j=0; j<LenX; j++){table += "<COL WIDTH=13>"}
    for (i=0; i<LenY; i++){
        table += "<TR>"
        for (j=0; j<LenX; j++){table += "<TD HEIGHT=18 ID=AF_"+i+"_"+j+" CLASS=PanelCell> </TD>"}    
        table += "</TR>"
    }
    table += "</TABLE>"
    Container.innerHTML = table
    WriteBlock(0)
}
//    Retourne L'index du caractere
function CodeIndex(car){
    var res = CodeLetter.length
    for (i=0; i<CodeLetter.length; i++){if (car == CodeLetter[i]){return(i)}}
    return(0)
}
//    Passage au prochain bloc de phrases ou au premier
function NextBlock(BlockIndex){
    BlockIndex < (Blocs.length-1) ? BlockIndex++ : BlockIndex=0
    WriteBlock(BlockIndex)
}
//    Lance l'ecriture des phrases
function WriteBlock(i){
    for (a=0; a<(LenX*LenY); a++){iDones[a]=0}
    TotalDone = 0
    for (r=0; r<Blocs[i].length; r++){setTimeout("WriteRow("+i+", "+r+")",r*RowSpeed)}
}
//    Lance l'ecriture des lettres
function WriteRow(BlockIndex, RowIndex){
    for (l=0; l<Blocs[BlockIndex][RowIndex].length; l++){
        eval("var start = CodeIndex(AF_"+RowIndex+"_"+l+".innerText)")
        setTimeout("WriteLetter("+BlockIndex+", "+RowIndex+","+l+","+start+")",l*ColSpeed)
    }
}
function WriteLetter(BlockIndex, RowIndex, LetterIndex, CodeIndex){
    if (!iDones[(LenX*RowIndex)+(LetterIndex)])
        {
            eval("var Cel = AF_"+RowIndex+"_"+LetterIndex)
            if (Blocs[BlockIndex][RowIndex].charAt(LetterIndex) == CodeLetter[CodeIndex]){
                iDones[(LenX*RowIndex)+(LetterIndex)]++
                TotalDone++
                if (TotalDone >= (LenX*LenY)){setTimeout("NextBlock("+BlockIndex+")",BlockSpeed)}
            }
            Cel.innerText = CodeLetter[CodeIndex]
            CodeIndex < CodeLetter.length-1 ? CodeIndex++ : CodeIndex = 0
            setTimeout("WriteLetter("+BlockIndex+", "+RowIndex+", "+LetterIndex+","+CodeIndex+")",10)
        }
}
</SCRIPT>

<STYLE>
.Panel {FONT: 14 Courier; COLOR: #FFFFCC; TABLE-LAYOUT: fixed; TEXT-ALIGN: center; BACKGROUND: #000000}
.PanelCell {BORDER: 1 solid none; VERTICAL-ALIGN: middle; BACKGROUND: #006666}
</STYLE>

</HEAD>

<BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 ONLOAD="InitPanel(dtable)">
     <DIV id=dtable align="center"></DIV>	


</BODY>
</HTML>

Merci de ton aide :stuck_out_tongue: