PHP JAVASCRIPT

Invité
Invité n'ayant pas de compte PHPfrance

27 sept. 2006, 22:19

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.

Petit nouveau ! | 9 Messages

27 sept. 2006, 22:45

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

Eléphanteau du PHP | 36 Messages

01 oct. 2006, 20:08

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.

Eléphanteau du PHP | 36 Messages

01 oct. 2006, 20:13

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

Petit nouveau ! | 6 Messages

01 oct. 2006, 20:46

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:
El coyotos

Eléphanteau du PHP | 36 Messages

01 oct. 2006, 20:47

Ha super j'ai compris.

Merci encore.

Eléphanteau du PHP | 36 Messages

01 oct. 2006, 21:00

Trop fort cela fonctionne.


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


Merci