cheminScripts="https://collegiales.applirecherche.unilim.fr/SQLPlugs/"; function cleanLabels(input){ parent = document.getElementById(input); labels = parent.getElementsByTagName("label"); for(i=0;i) au tableau var c = l.insertCell(l.cells.length);//Ajout d'une ligne () au tableau c.className="recherche_avancee_cellule"; c.innerHTML ="";//Données à insérer dans la nouvelle cellule du tableau c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; //Dans la variable suivante, mettre la liste des tables que le script doit lire. Cette méthode permet d'éviter de lire les tables qui doivent rester cachées (utilisateurs par exemple). Veillez a bien laisser un champ d'option vide (v. ligne 11) pour que le onchange fonctionne bien dans tous les cas. c.innerHTML ="\ "; selectTable("/var/www/collegiales/SQLPlugs/description_collegiales.xml","rech["+document.getElementById(input).rows.length+"][table]");//Fonction permettant d'insérer les options en fonction du fichier XML de description de la DB c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML =""; c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML ="\ ";//Ici, on prépare la cellule dans laquelle la fonction selectChamp va mettre le nom des champs de la base de données c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML =""; c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML ="\ ";//Ici, on va mettre la liste des opérateurs possibles pour le type de champs de la base de données c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML =""; c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.id="rech["+document.getElementById(input).rows.length+"][terme]"; c.innerHTML ="";//Ici, on crée un simple champ qui va contenir le terme recherché c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML =""; c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML ="\ ";//Ici, on sélectionne si la recherche doit se faire en OR ou en AND } //La fonction suivante est un appel de script ajax qui appelle le script php selectionner_champ.php en lui envoyant le nom de la table en POST. Attention a ce que le chemin (ligne 110) soit correct. function selectChamp(input){ var tableau_arguments=explode(',',input); var target_id=""+tableau_arguments[0].substring(0,7)+"[champ]"; var table=tableau_arguments[1]; var n_ligne=tableau_arguments[0].substring(0,7); n_ligne=n_ligne.substring(5); n_ligne=n_ligne.replace(']',''); document.getElementById(target_id).innerHTML=''; if (window.XMLHttpRequest){ xhr = new XMLHttpRequest(); } else if (window.ActiveXObject){ xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200){ listeOptions=explode(';',xhr.responseText); for(var i=0;i'+tableauReponse[1]+''; } else{ document.getElementById(target_id).innerHTML=''; } } } }; xhr.open("POST", cheminScripts+"selectionner_terme.php", true);//Chemin vers le script selectionner_terme.php xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); var champ_send = 'champ='+champ+'&id='+target_id+'&fichier=/var/www/collegiales/SQLPlugs/description_collegiales.xml'; xhr.send(champ_send); } function selectFormat(input){ var tableau_arguments=explode(',',input); var champ=tableau_arguments[1]; var ligne=tableau_arguments[0]; if(champ!='ABS'){ document.getElementById('rech['+ligne+'][format]').disabled=true; } else{ document.getElementById('rech['+ligne+'][format]').disabled=false; } } function ajouterAnalyse(input){ var l=document.getElementById(input).insertRow(document.getElementById(input).rows.length);//Ajout d'une ligne () au tableau //Ajout de la cellule table (label) var c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML =""; //Ajout de la cellule table (select) c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML ="\ "; //Fonction permettant d'insérer les options en fonction du fichier XML de description de la DB. Ici on garde la même description que pour la recherche avancee, mais selectTable() peut prendre un autre fichier selectTable("/var/www/collegiales/SQLPlugs/description_collegiales.xml","rech["+document.getElementById(input).rows.length+"][table]"); //Ajout de la cellule champs (label) c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML =""; //Ajout de la cellule champs (select) c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML ="\ "; //Ajout de la cellule analyse (label) c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML =""; //Ajout de la cellule analyse (select) c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML ="\ "; //Ajout de la cellule format(label) c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML =""; //Ajout de la cellule format(select) c = l.insertCell(l.cells.length); c.className="recherche_avancee_cellule"; c.innerHTML ="\ "; } function plugAnalyse(){ //Cette fonction appelle le script PlugAnalyse.php et envoie le résultat en post vers http://pireh-dev.univ-paris1.fr/cgi-bin/KTSHS/KTSHS.pl tableau_donnees=document.getElementById("result2Analyse").innerHTML; alert(tableau_donnees);/* if (window.XMLHttpRequest){ xhr = new XMLHttpRequest(); } else if (window.ActiveXObject){ xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200){ window.open(xhr.responseText); } }; xhr.open("POST", /webhome/pireh/html/analyse/analyse.php, true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); var table_send = 'tableau='+tableau_donnees; xhr.send(table_send);*/ } function modifDB(input){ if(input=='modifier'){ document.getElementById(input).style.display="block"; document.getElementById('ajouter').style.display="none"; document.getElementById('supprimer').style.display="none"; } else if(input=='ajouter'){ document.getElementById(input).style.display="block"; document.getElementById('modifier').style.display="none"; document.getElementById('supprimer').style.display="none"; } else if(input=='supprimer'){ document.getElementById(input).style.display="block"; document.getElementById('modifier').style.display="none"; document.getElementById('ajouter').style.display="none"; } } function ajouterLigneForm(input){ //La fonction suivante permet d'ajouter des lignes à un tableau contenant des éléments de formulaire. //Les arguments qu'elle reçoit sont de la forme suivante "id_tableau,label du champ 1/type du champ 1/longueur maximum du champ 1;label du champ 2/type du champ 2/valeur d'option 1|valeur d'option 1;" //Le paramètre longueur maximum du champ est optionnel. //Cette fonction requiert la fonction isset de Kevin van Zonneveld (http://kevin.vanzonneveld.net) pour fonctionner //Cette fonction requiert la fonction str_replace de Kevin van Zonneveld (http://kevin.vanzonneveld.net) pour fonctionner //Cette fonction requiert la fonction utf8_encode de Kevin van Zonneveld (http://kevin.vanzonneveld.net) pour fonctionner tableau_input=new Array(); tableau_input=explode(',',input); tableau=tableau_input[0]; champs=explode(';',tableau_input[1]); var l = document.getElementById(tableau).insertRow(document.getElementById(tableau).rows.length); idEnreg=document.getElementById(tableau).rows.length; //alert(tableau_input); idEnreg=idEnreg+1; for(i=0;i"+labels[0]+""; } else if(labels[1]=='select'){ options=explode('|',labels[2]); c = l.insertCell(l.cells.length); var valeurSelect = ""; } else if(labels[1]=='text'||labels[1]=='password'||labels[1]=='file'){ c = l.insertCell(l.cells.length); c.innerHTML=""; } else if(labels[1]=='textarea'){ c = l.insertCell(l.cells.length); c.innerHTML=""; } else{ alert("Le type \""+labels[1]+"\" n'est pas encore pris en charge"); } } cleanLabels(tableau); } function trouveSpan(){ for(var i=0; i