renauddero
Messages postés14Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention19 juillet 2006
-
6 juil. 2006 à 14:12
renauddero
Messages postés14Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention19 juillet 2006
-
7 juil. 2006 à 10:11
Bonjours,
je suis actuellement en stage pour un groupe franco-roumaine.
Mon premier projet est un site web permettant la gestion de pipeline.
Mais je me heurte a un probleme la :
Il y a 2 combobox qui doivent etre linked. C'est-a-dire que en selectionnant le materiaux du pipeline, la page s'actualise et la seconde combo affiche les diametre disponible dans ce type de materiaux.
J'ai essaye avec une fonction refresh en javascript que j'appel lorsque on change la valeur de la premiere combo.
Mais tout s'efface et sa n'affiche rien.
Avez vous une idee pour m'aider?
Si il faut je pourrait afficher des parties du codes en question.
Merci d'avance.
renauddero
Messages postés14Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention19 juillet 2006 6 juil. 2006 à 14:50
Merci mais moi les donnes sont dans une base de donne.
Le premier combo a des donnees constante mais le deuxieme doit aller
chercher des donnees dans differentes field selon la premiere combo!
De plus, ce script ne permet pas de garder les autres informations ( si
on rajoute des textarea,..)! Mais pour ce second probleme je pense que
je m' y prend mal.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 6 juil. 2006 à 15:16
Le script est adaptable à une base de données...j'utilise un tableau par soucis de portabilité. Mais qu'on cherche dans un tableau ou dans une bdd pour mettre à jour la liste, ça ne change rien...
Ensuite, le script garde toutes les informations...dans sa version non xmlhttp, pour la simple et bonne raison que le formulaire est soumis...donc, les champs saisis sont envoyés, donc récupérables.
Pour faire de même avec la version xmlhttp, il suffit d'externaliser le traitement php qui va mettre à jour la liste déroulante : bref, le mettre dans une autre page que celle du formulaire.
Là encore, le script est un exemple. Ce n'était pas pratique de scinder en plusieurs fichiers.
Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 20124 6 juil. 2006 à 15:20
moi j ai utilisé ce que malalam t'a filé et je parcourt des tables pour remplir mes listes selon le choix de l'utilisateur. Et c'est la seule possibilité pour mettre a jour sans recharger la totalité de la page.
--------------------------------------------------------------------------------------------------
Ilvaut mieux poser une question et passer pour bête que le rester toutesa vie
Vous n’avez pas trouvé la réponse que vous recherchez ?
Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 20124 6 juil. 2006 à 15:28
bon allez je t envoie ce que j ai fait donc !
tu devras modifier les cible de fichier et evidement le code.
pour ma part j ai 2 select fixe puis 2 select non fixe voici le code
if((isset($_POST["id_entite"])) && (!empty($_POST["id_entite"]))){
$sSql='SELECT * FROM '.$prefixe.' poste WHERE id_entite='.$_POST["id_entite"];
$rResult = $db->query($sSql);
if($rResult){
echo '<select name="id_poste"';
while ($row = mysql_fetch_assoc($rResult)){
echo '<option value="'.$row["id_poste"].'">'.$row["nom_poste"].'</option>';
}
echo '</select>';
echo '';
}
else{
echo 'Aucun Poste';
}
}
else{
echo '
';
}
echo '</form>';
?>
refresh_affect.js
if(document.all) {
// Internet Explorer => on instancie l'objet xmlhttp
var obj = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
// Mozilla => on instancie l'objet xmlhttp
var obj = new XMLHttpRequest();
}
function search(location,data){
var content=document.getElementById(location);
obj.open("POST", '../interface/affect.php'); // on indique quelle page php va servir pour traiter le formulaire, on indique aussi par quelle methode (post)
obj.onreadystatechange = function() { // fonction selon l'etat de la requete if (obj.readyState 4 && obj.status 200) // la requete est prete
content.innerHTML = obj.responseText; // dans ce cas, on affiche le resultat retourne par la page php dans le conteneur
}
obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // header
obj.send(data); // on envoie la requete
}
PS bon bidouillage
--------------------------------------------------------------------------------------------------
Ilvaut mieux poser une question et passer pour bête que le rester toutesa vie
renauddero
Messages postés14Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention19 juillet 2006 6 juil. 2006 à 15:40
Merci beaucoup a tous. Je vais voir si j'arrive a m'en sortir avec ca.
Et merci d'avoir repondu si vite.
Bonne fin de journee a tous. Je vous tien au courant ;-)