je me débrouille un petit peu en php... je sais faire des listes simples
basées sur des tablemysql, établir les connexions.
j'ai trouvé le code suivant sur le site aspphp.net qui permet de lier trois
listes déroulantes entre elles. mais le probleme est que les données
contenues dans les listes sont "écrites" dans le code ... et ce que je
cherche a faire c'est la meme chose mais basée surdes tables...
j'ai donc méticuleusement crée 3 tables qui reprennent les valeurs de
l'exemple...
mais je ne vois pas comment , a partir de la ligne 128 je peux passer les
valeurs a partir de mes tables... et pas non plus comment il faut s'y
prendre a partir de la ligne 164 pour créer les dépendances.
Si une ame charitable voulait bien perdre un peu de son temps me montrer
comment on peut faire cela , ou si un script de ce type existe déja quelque
part .. ça serait génial , parce que je commence a avoir la cervelle comme
de la guimauve a essayer de comprendre :-)
merci pour votre aide
voici le code :
--------------------------------------------------------------------
<html>
<head>
<title>SelectControl v0.1</title>
<script language="JavaScript">
SelectControl = function()
{
this.aSlt = new Array();
this.fSlt = "";
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gabriel
hello, le principe va donc être d'alimenter ton code à partir de php. je suppose que tu as une table "Animaux", "Fruits" "Voitures". Remarque, on pourrait tout mettre dans une seule table de cette forme, perso je préfère mais bon comme je ne sais pas ce que tu préfères, je vais partir du cas 1 table/genre...
anx contient mnt un handle de résultat qui contient tous les animaux (chat, chien, etc ...) Tu fais pareil pour chaque liste.
ensuite :
function generateMenu($table, $menuName, $menuDependsOn){ $compteur = 0; while (anx->hasMoreResults()){ $compteur++; // Génération des entrées echo "oSlt.addOption("$menuName", "$compteur", "$anx->getNom()"); //Ensuite, il reste à gérer les liaisons : echo "oSlt.setLink("slt1", "$anx->getidPere()", "slt2", "$anx->getid()");
} } generateMenu('Animaux', 'slt2', 'slt1');
En pas objet, le principe est de faire un select sur chaque table et d'afficher chaque résultat, en récupérant l'id père l'id courant l'intitulé...
// On associe les options 1ere Liste oSlt.addOption("slt1", "1", "Animaux"); oSlt.addOption("slt1", "2", "Fruits"); oSlt.addOption("slt1", "3", "Voitures");
// On associe les options 2eme Liste oSlt.addOption("slt2", "1", "Chat"); oSlt.addOption("slt2", "2", "Chien"); oSlt.addOption("slt2", "3", "Vache");
oSlt.setLink("slt1", "3", "slt2", "7"); oSlt.setLink("slt1", "3", "slt2", "8"); oSlt.setLink("slt1", "3", "slt2", "9"); [snip] Voilà, en espérant t'avoir un peu aidé, bonne continuation :)
cordialement,
hello,
le principe va donc être d'alimenter ton code à partir de php.
je suppose que tu as une table "Animaux", "Fruits" "Voitures". Remarque,
on pourrait tout mettre dans une seule table de cette forme, perso je
préfère mais bon comme je ne sais pas ce que tu préfères, je vais partir
du cas 1 table/genre...
anx contient mnt un handle de résultat qui contient tous les animaux
(chat, chien, etc ...)
Tu fais pareil pour chaque liste.
ensuite :
function generateMenu($table, $menuName, $menuDependsOn){
$compteur = 0;
while (anx->hasMoreResults()){
$compteur++;
// Génération des entrées
echo "oSlt.addOption("$menuName", "$compteur", "$anx->getNom()");
//Ensuite, il reste à gérer les liaisons :
echo "oSlt.setLink("slt1", "$anx->getidPere()", "slt2",
"$anx->getid()");
}
}
generateMenu('Animaux', 'slt2', 'slt1');
En pas objet, le principe est de faire un select sur chaque table et
d'afficher chaque résultat, en récupérant l'id père l'id courant
l'intitulé...
// On associe les options 1ere Liste
oSlt.addOption("slt1", "1", "Animaux");
oSlt.addOption("slt1", "2", "Fruits");
oSlt.addOption("slt1", "3", "Voitures");
// On associe les options 2eme Liste
oSlt.addOption("slt2", "1", "Chat");
oSlt.addOption("slt2", "2", "Chien");
oSlt.addOption("slt2", "3", "Vache");
hello, le principe va donc être d'alimenter ton code à partir de php. je suppose que tu as une table "Animaux", "Fruits" "Voitures". Remarque, on pourrait tout mettre dans une seule table de cette forme, perso je préfère mais bon comme je ne sais pas ce que tu préfères, je vais partir du cas 1 table/genre...
anx contient mnt un handle de résultat qui contient tous les animaux (chat, chien, etc ...) Tu fais pareil pour chaque liste.
ensuite :
function generateMenu($table, $menuName, $menuDependsOn){ $compteur = 0; while (anx->hasMoreResults()){ $compteur++; // Génération des entrées echo "oSlt.addOption("$menuName", "$compteur", "$anx->getNom()"); //Ensuite, il reste à gérer les liaisons : echo "oSlt.setLink("slt1", "$anx->getidPere()", "slt2", "$anx->getid()");
} } generateMenu('Animaux', 'slt2', 'slt1');
En pas objet, le principe est de faire un select sur chaque table et d'afficher chaque résultat, en récupérant l'id père l'id courant l'intitulé...
// On associe les options 1ere Liste oSlt.addOption("slt1", "1", "Animaux"); oSlt.addOption("slt1", "2", "Fruits"); oSlt.addOption("slt1", "3", "Voitures");
// On associe les options 2eme Liste oSlt.addOption("slt2", "1", "Chat"); oSlt.addOption("slt2", "2", "Chien"); oSlt.addOption("slt2", "3", "Vache");
oSlt.setLink("slt1", "3", "slt2", "7"); oSlt.setLink("slt1", "3", "slt2", "8"); oSlt.setLink("slt1", "3", "slt2", "9"); [snip] Voilà, en espérant t'avoir un peu aidé, bonne continuation :)
cordialement,
Antoun
j'ai donc méticuleusement crée 3 tables qui reprennent les valeurs de l'exemple... mais je ne vois pas comment , a partir de la ligne 128 je peux passer les valeurs a partir de mes tables... et pas non plus comment il faut s'y
Tout d'abord, il faut que tu penses que tout ton code est en JavaScript, donc exécuté par le navigateur... qui n'a pas directement accès à ta base qui est sur le serveur. Il faut donc que tu aies un code serveur, par ex. du PHP, qui interroge la base et rédige ton code JavaScript.
Par exemple, si je prends ta première liste, je suppose que tu as une table LISTE1 comme ça :
en qqch comme ça (en simple et pas spécialement élégant) :
<?php // je suppose que tu as établi la connexion à $bdd $resu = mysql_query('SELECT ITEM FROM TABLE1', $bdd) ; $i = 0 ; // boucle de parcours de la table ligne par ligne while ($ligne = mysql_fetch_array($resu) ) { $i++ ; // extraction de la valeur de la première (et unique) colonne $item = $ligne[0] ; // écriture du JavaScript echo "oSlt.addOption('slt1', '$i', '$item');r" } ?>
prendre a partir de la ligne 164 pour créer les dépendances.
je ne suis pas vraiment rentré dans les détails de ton JavaScript, mais avec un peu de chance ça devrait marcher tel quel.
j'ai donc méticuleusement crée 3 tables qui reprennent les valeurs de
l'exemple...
mais je ne vois pas comment , a partir de la ligne 128 je peux passer les
valeurs a partir de mes tables... et pas non plus comment il faut s'y
Tout d'abord, il faut que tu penses que tout ton code est en JavaScript,
donc exécuté par le navigateur... qui n'a pas directement accès à ta
base qui est sur le serveur. Il faut donc que tu aies un code serveur,
par ex. du PHP, qui interroge la base et rédige ton code JavaScript.
Par exemple, si je prends ta première liste, je suppose que tu as une
table LISTE1 comme ça :
en qqch comme ça (en simple et pas spécialement élégant) :
<?php
// je suppose que tu as établi la connexion à $bdd
$resu = mysql_query('SELECT ITEM FROM TABLE1', $bdd) ;
$i = 0 ;
// boucle de parcours de la table ligne par ligne
while ($ligne = mysql_fetch_array($resu) ) {
$i++ ;
// extraction de la valeur de la première (et unique) colonne
$item = $ligne[0] ;
// écriture du JavaScript
echo "oSlt.addOption('slt1', '$i', '$item');r"
}
?>
prendre a partir de la ligne 164 pour créer les dépendances.
je ne suis pas vraiment rentré dans les détails de ton JavaScript, mais
avec un peu de chance ça devrait marcher tel quel.
j'ai donc méticuleusement crée 3 tables qui reprennent les valeurs de l'exemple... mais je ne vois pas comment , a partir de la ligne 128 je peux passer les valeurs a partir de mes tables... et pas non plus comment il faut s'y
Tout d'abord, il faut que tu penses que tout ton code est en JavaScript, donc exécuté par le navigateur... qui n'a pas directement accès à ta base qui est sur le serveur. Il faut donc que tu aies un code serveur, par ex. du PHP, qui interroge la base et rédige ton code JavaScript.
Par exemple, si je prends ta première liste, je suppose que tu as une table LISTE1 comme ça :
en qqch comme ça (en simple et pas spécialement élégant) :
<?php // je suppose que tu as établi la connexion à $bdd $resu = mysql_query('SELECT ITEM FROM TABLE1', $bdd) ; $i = 0 ; // boucle de parcours de la table ligne par ligne while ($ligne = mysql_fetch_array($resu) ) { $i++ ; // extraction de la valeur de la première (et unique) colonne $item = $ligne[0] ; // écriture du JavaScript echo "oSlt.addOption('slt1', '$i', '$item');r" } ?>
prendre a partir de la ligne 164 pour créer les dépendances.
je ne suis pas vraiment rentré dans les détails de ton JavaScript, mais avec un peu de chance ça devrait marcher tel quel.
Merci pour ta réponse Gabriel, je vais étudier ça et je te tiendrai au courant, je crois que je comprends tes explications...
Gabriel wrote:
hello, le principe va donc être d'alimenter ton code à partir de php. je suppose que tu as une table "Animaux", "Fruits" "Voitures". Remarque, on pourrait tout mettre dans une seule table de cette forme, perso je préfère mais bon comme je ne sais pas ce que tu préfères, je vais partir du cas 1 table/genre...
...
Merci pour ta réponse Gabriel, je vais étudier ça et je te tiendrai au
courant, je crois que je comprends tes explications...
Gabriel wrote:
hello,
le principe va donc être d'alimenter ton code à partir de php.
je suppose que tu as une table "Animaux", "Fruits" "Voitures".
Remarque, on pourrait tout mettre dans une seule table de cette
forme, perso je préfère mais bon comme je ne sais pas ce que tu
préfères, je vais partir du cas 1 table/genre...
Merci pour ta réponse Gabriel, je vais étudier ça et je te tiendrai au courant, je crois que je comprends tes explications...
Gabriel wrote:
hello, le principe va donc être d'alimenter ton code à partir de php. je suppose que tu as une table "Animaux", "Fruits" "Voitures". Remarque, on pourrait tout mettre dans une seule table de cette forme, perso je préfère mais bon comme je ne sais pas ce que tu préfères, je vais partir du cas 1 table/genre...