Page 1 sur 1

PHP JAVASCRIPT

Posté : 27 sept. 2006, 22:19
par Invité
Bonjour, je débute en php.

Dans mes formulaires j'utilise un javascript qui prmet de reduire le contenu d'une liste en tapant le début du libélé. Cette liste est codé dans la page HTML, j'aimerai si possible de récuperer la liste depuis une table mysql.

Voici une partie du javascript. Si quelqu'un pouvez m'aider!!

<SCRIPT LANGUAGE="JavaScript">
var Liste=new CreerListe("Pays", 5, 200)

Liste.Add("Afghanistan");
Liste.Add("Afrique du sud");
Liste.Add("Albanie");
Liste.Add("Algérie");
Liste.Add("Allemagne");

etc....

Merci d'avance.

Posté : 27 sept. 2006, 22:45
par Poulou
De manière assez classique,

1/ tu executes une requête pour récupérer la liste

2/ tu généres le code du javascript comme tu aurais fait pour du html

Et le tour est joué.

@+
Poulou

Posté : 01 oct. 2006, 20:08
par bercy
Bonsoir,


Pour créer la requête, il n'y a pas de problème, mais je ne sais pas comment inclure ce code dans la javascript. Comment transformer

Code : Tout sélectionner

Liste.Add("Afghanistan"); Liste.Add("France");
par les résultats de ma requète.

Merci de votre aide.

Posté : 01 oct. 2006, 20:13
par bercy
Voici le code complet du javascript

Code : Tout sélectionner

<SCRIPT LANGUAGE="JavaScript"> // D'autres scripts et des tutoriaux sur http://www.toutjavascript.com // Script développé par Tout JavaScript.com // Si vous utilisez ce script, merci de laisser ce commentaire var Liste=new CreerListe("Pays", 5, 200) Liste.Add("Afghanistan"); Liste.Add("Afrique du sud"); Liste.Add("Albanie"); Liste.Add("Algérie"); Liste.Add("Allemagne"); Liste.Add("Andorre"); Liste.Add("Angola"); Liste.Add("Antigua-et-Barbuda"); Liste.Add("Arabie"); Liste.Add("Argentine"); Liste.Add("Arménie"); Liste.Add("Australie"); Liste.Add("Autriche"); function CreerListe(nom, hauteur, largeur) { this.nom=nom; this.hauteur=hauteur; this.largeur=largeur; this.search=""; this.nb=0; this.Add=AjouterItem; this.Afficher=AfficherListe; this.MAJ=MAJListe; } function AjouterItem(item) { this[this.nb]=item this.nb++; } function AfficherListe() { if (document.layers) { var Z="<SELECT name="+this.nom+" size="+this.hauteur+">"; } else { var Z="<SELECT name="+this.nom+" size="+this.hauteur+" style='width:"+this.largeur+"'>"; } for (var i=0; i<this.nb; i++) { Z+="<OPTION value=\""+this[i]+"\">"+this[i]+"</OPTION>" } Z+="</SELECT>" document.write(Z); } function MAJListe(txt,f) { if (txt!=this.search) { this.search=txt f.elements[this.nom].options.length=0; for (var i=0; i<this.nb; i++) { if ( this[i].substring(0,txt.length).toUpperCase()==txt.toUpperCase() ) { var o=new Option(this[i], this[i]); f.elements[this.nom].options[f.elements[this.nom].options.length]=o; } } if (f.elements[this.nom].options.length==1) { f.elements[this.nom].selectedIndex=0; } } } function ListeCheck() { Liste.MAJ(document.forms["monform"].search.value,document.forms["monform"]) if (document.layers) { setTimeout("ListeCheck()", 1001) } else { setTimeout("ListeCheck()", 100) } } </SCRIPT> ================================================== ================================================== <FORM name=monform> <INPUT type=text name=search><BR> <SCRIPT language=javascript> Liste.Afficher(); ListeCheck(); </SCRIPT> </FORM>
Merci d'avance

PHP JAVASCRIPT

Posté : 01 oct. 2006, 20:46
par elcoyotos
Salut,

Pour ma part, je ferai quelque chose dans ce goût :
<?php
echo ("<SCRIPT LANGUAGE=\"JavaScript\">\n");
echo ("var Liste=new CreerListe(\"Pays\", 5, 200)\n");

// Requete sql
...................................

// Bouble while
......................... {
    echo ("Liste.Add(\"".$row['pays']."\");\n");
}
?>
En fait, c'est ce que je fait quand je veux faire "communiquer" du Javascript et du Php.
:arrow: J'écris le Javascript en Php :wink:

Posté : 01 oct. 2006, 20:47
par bercy
Ha super j'ai compris.

Merci encore.

Posté : 01 oct. 2006, 21:00
par bercy
Trop fort cela fonctionne.


Je ne savais que l'on pouvait écrire du javascript en PHP.


Merci