Plopinettedu63
Messages postés10Date d'inscriptionjeudi 12 avril 2007StatutMembreDernière intervention 6 mars 2008
-
4 mars 2008 à 14:56
Plopinettedu63
Messages postés10Date d'inscriptionjeudi 12 avril 2007StatutMembreDernière intervention 6 mars 2008
-
6 mars 2008 à 11:22
Bonjour a tous,
Je souhaite réaliser un formulaire avec des selects qui dépendrai les uns des autres (catégorie --> sous catégorie -> sous sous catégorie etc..).
J'ai utiliser la bibliothèque xajax pour le faire.
Le probleme qui se pose a moi est un soucis de compatibilité pour Internet Explorer. Mon code marche trés bien pour Firefox mais pas pour IE (même avec IE7).
// connexion a la base de donnees et selection de la table
$connect_db = mysql_connect($host_db,$user_db,$password_db) or die("connection impossible");
mysql_select_db($bdd_db,$connect_db) or die("PB de base de données");
require_once("../xajax_core/xajax.inc.php");
$xajax = new xajax();
$xajax->configure('debug', true);
$xajax->configure('javascript URI', '../');
//fonction qui rempli la liste des sous-catégrie en fonction de la catégorie selectionner
function SelectSouscat($catid)
{
$option="";
//$options='<select>';
// on selectionne les sous-catégorie en fonction de l'id de la catégorie mère
$sql="SELECT id,titre FROM souscategories WHERE id_cat_mere = '".$catid."'";
$req=mysql_query($sql);
while ($souscat = mysql_fetch_array($req))
{
// on place toutes les sous-catégories dans des options valables pour la liste SELECT
$options .= '<option value="'.$souscat['id'].'">'.$souscat['titre'].'</option>';
}
// créé un nouvel objet permettant d'envoyer une réponse au côté client
$objResponse = new xajaxResponse();
// l'Ajax remplacera le innerHTML (html intérieur) de la liste_souscat pour y mettre $options
$objResponse->assign("liste_souscat","innerHTML",$options);
// envoie la réponse en XML
return $objResponse;
}
//fonction qui rempli la liste des sous-sous-catégrie en fonction de la catégorie selectionner
function SelectSscat($souscatid)
{
$option="";
// on selectionne les sous-catégorie en fonction de l'id de la catégorie mère
$sql="SELECT id_sscateg,nom FROM sscategorie WHERE id_souscateg = '".$souscatid."'";
$req=mysql_query($sql);
while ($sscat = mysql_fetch_array($req))
{
// on place toutes les sous-catégories dans des options valables pour la liste SELECT
$options .= '<option value="'.$sscat['id_sscateg'].'">'.$sscat['nom'].'</option>';
}
// créé un nouvel objet permettant d'envoyer une réponse au côté client
$objResponse = new xajaxResponse();
// l'Ajax remplacera le innerHTML (html intérieur) de la liste_souscat pour y mettre $options
$objResponse->assign("liste_sscat","innerHTML",$options);
// envoie la réponse en XML
return $objResponse;
}
//déclaration des fonctions et des paramètres qui conviennent.
$reqSetSCat =& $xajax->registerFunction('SelectSouscat');
$reqSetSCat->setParameter(0, XAJAX_INPUT_VALUE, 'liste_cat');
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 6 mars 2008 à 11:13
>>juste faire des select imbriqué, le premier select donne
une valeur qui est utiliser
>>pour créer le 2eme via une requete a la
base de données
ce que je peux encore faire, puisque tu ne veux pas donner la page générée,
que je ne connais pas xajax ( et que je ne tiens pas à connaitre à priori ),
c'est de donner un lien vers quelques explications, un exemple....
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 4 mars 2008 à 15:07
Bonjour,
déjà, si on avait la page générée au lieu du php... se serait plus mieux...
sinon on doit deviner ? je parle du contenu des $variable, de la base de données...
( mais ne le fais pas ! tu vas tout nous mettre et ce sera trop lours, ça décourage )
ensuite, un secret : IE et FF ont des comportements, des syntaxes... différents,
la bibliothèque que tu utilises ou comment tu l'utilises ou ce que tu fais ( ailleurs )...
n'est pas compatible avec IE.
avec IE ( remarque que je te dirais la même chose avec FF ), toutes les erreurs
sont signalées. il faut les regarder et rectifier
¡————————¡——————————————————————————————————————————————————————————¡
|FireFox |regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
| | |
| | et mieux, télécharger FireBug |
¦————————¦——————————————————————————————————————————————————————————¦
|Internet|activer le deboggage : Outils/options Internet/Avancés |
|Explorer| dans la liste, sous "Navigation" : décocher |
| | ° Afficher une notification de chaque erreur de script |
| | ° Désactiver le débogage de Scripts (Internet Explorer) |
| | |
| | et mieux, télécharger le Debogger IE |
¦————————¦——————————————————————————————————————————————————————————¦
|K—Meleon|regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
¦————————¦——————————————————————————————————————————————————————————¦
|Opera |regarder la "console d'erreurs" |
| | utils / Asole d'erreurs |
¦————————¦——————————————————————————————————————————————————————————¦
|Safari |regarder Debug / Show JavaScript Console |
| | |
| |modif Fichier "Support:\Documents and Settings\utilisateur|
| |\Application Data\Apple Computer\Safari\Preferences.plist"|
| | y ajouter <key>IncludeDebugMenu</key> |
| | <true/> |
!————————!——————————————————————————————————————————————————————————!
// connexion a la base de donnees et selection de la table
$connect_db = mysql_connect($host_db,$user_db,$password_db) or die("connection impossible");
mysql_select_db($bdd_db,$connect_db) or die("PB de base de données");
require_once("../xajax_core/xajax.inc.php");
$xajax = new xajax();
$xajax->configure('debug', true);
$xajax->configure('javascript URI', '../');
//fonction qui rempli la liste des sous-catégrie en fonction de la catégorie selectionner
function SelectSouscat($catid)
{
$option="";
//$options='<select>';
// on selectionne les sous-catégorie en fonction de l'id de la catégorie mère
$sql="SELECT id,titre FROM souscategories WHERE id_cat_mere = '".$catid."'";
$req=mysql_query($sql);
while ($souscat = mysql_fetch_array($req))
{
// on place toutes les sous-catégories dans des options valables pour la liste SELECT
$options .= '<option value="'.$souscat['id'].'">'.$souscat['titre'].'</option>';
}
// créé un nouvel objet permettant d'envoyer une réponse au côté client
$objResponse = new xajaxResponse();
// l'Ajax remplacera le innerHTML (html intérieur) de la liste_souscat pour y mettre $options
$objResponse->assign("liste_souscat","innerHTML",$options);
// envoie la réponse en XML
return $objResponse;
}
//fonction qui rempli la liste des sous-sous-catégrie en fonction de la catégorie selectionner
function SelectSscat($souscatid)
{
$option="";
// on selectionne les sous-catégorie en fonction de l'id de la catégorie mère
$sql="SELECT id_sscateg,nom FROM sscategorie WHERE id_souscateg = '".$souscatid."'";
$req=mysql_query($sql);
while ($sscat = mysql_fetch_array($req))
{
// on place toutes les sous-catégories dans des options valables pour la liste SELECT
$options .= '<option value="'.$sscat['id_sscateg'].'">'.$sscat['nom'].'</option>';
}
// créé un nouvel objet permettant d'envoyer une réponse au côté client
$objResponse = new xajaxResponse();
// l'Ajax remplacera le innerHTML (html intérieur) de la liste_souscat pour y mettre $options
$objResponse->assign("liste_sscat","innerHTML",$options);
// envoie la réponse en XML
return $objResponse;
}
//déclaration des fonctions et des paramètres qui conviennent.
$reqSetSCat =& $xajax->registerFunction('SelectSouscat');
$reqSetSCat->setParameter(0, XAJAX_INPUT_VALUE, 'liste_cat');
Plopinettedu63
Messages postés10Date d'inscriptionjeudi 12 avril 2007StatutMembreDernière intervention 6 mars 2008 4 mars 2008 à 16:23
J'ai installé le debugueur de IE mais j'ai pas d'erreur de script ou je sais pas m'en servir.
Merci a foxi pour la mise en forme ^^ c'est un peu plus lisible.
Cepenant :
<?php
$xajax->printJavascript("../");
?>
ne doit pas etre mis dans le javascript ça n'en est pas.
Bon malgrés mes changements ça ne maarche pas mieux sous IE donc ça doit venir de la bibliothèque xajax.
Qu'en pensez vous ?
Plopinettedu63
Messages postés10Date d'inscriptionjeudi 12 avril 2007StatutMembreDernière intervention 6 mars 2008 6 mars 2008 à 10:40
Re salut,
Bon ben je trouve rien chez l'éditeur de la librairie....
Personne ne sais comment je pourrais faire à la place de ce script ?
Je souhaite juste faire des select imbriqué, le premier select donne une valeur qui est utiliser pour créer le 2eme via une requete a la base de données et ainsi de suite.
J'espère que vous pourrez me donner une solution, j'en ai vraiment besoin.
Merci d'avance et mersi aussi pour vos réponse précédante.