Aller au contenu

vidzo

Actif
  • Compteur de contenus

    38
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par vidzo

  1. Le deuxième select ne se remplit pas, car la variable $var n'est pas transmise. En effet, quand je rentre en "dur" le contenu variable dans la requete sql, le champ se remplit. J'essai donc de "récapituler" le chemin que prend la variable: - Dans le premier formulaire, la valeur sélectionnée dans le select est réupérée par la fonction loadNoms : <select id='select_type' name='select_type' onchange="loadNoms(this)"> - Dans la fonction loadNoms, cette valeur est récupérée dans une varable param: function loadNoms(strthis) { var param = strthis.value; - Dans cette même fonction, on créer une variable var qui contient param, et qui est envoyé par POST à l'url du deuxieme select: data: "var="+param, - Dans le deuxième select, on créer une variable $var contenant $_POST['var']: $var=$_POST['var']; Mais cette variable $var ne contient rien au final. D'ou vient le probleme? Est ce que cela vient du fait que la valeur que je recupère dans le premier select est une chaine de caractère, pas un int?
  2. J\'avance petit à petit. Oui, ma fonction loadNoms se lance bien. Mon deuxième select ne s\'affichait pas à cause de ces 2 lignes dans la page ajax.js: if(selected_type==\"void_type\") $(\"#tr_nom\").hide(); else $(\"#tr_nom\").show(); Lorsque je les met en commentaire, le deuxième select s\'affiche (clap clap). Par contre, il est vide. Je vais essayer de voir d\'ou ca vient. J\'ai réglé le probleme d\'ajout de ligne à mon tableau à chaque changement dans le select en ajoutant cette ligne: $(\"#tr_nom\").empty(); Je t\'avoue que je pensai pouvoir utiliser jquerry partout en le déclarant dans le head. Ce code la, je le mettrai ou? Dans la page ajax.js?
  3. J'ai essayer de coder l'affichage du second select en fonction du premier. Je bloque déja. Je copie mon code, si vous voyez une erreur flagrante, n'hésitez pas à m'en faire part. J'ai une page visualisation.php: <table id='formulaire'> <tr id='tr_type'> <td ><b>Type de release :</b></td><td><?php include('_select_type_release.php')?></td> </tr> <tr id='tr_nom'> </tr> </table> Une page _select_type_release.php: <select id='select_type' name='select_type' onchange="loadNoms(this)"> <option value='void_type'>Choose a type of release</option> <?php include("includes/connexion.php"); $query = "SELECT * FROM release GROUP BY type"; $rq = mysql_query($query) or die(mysql_error()); while ($row=mysql_fetch_assoc($rq)) { $type = $row["type"]; echo "<option value='$type'>$type</option>"; } mysql_close(); ?> </select> Une page _select_nom_release.php: <select id='select_nom' name='select_nom'> <option value='void_nom'>Choose a release</option> <?php include("includes/connexion.php"); $var=$_POST['var']; $query = "SELECT id, nom FROM release WHERE type='$var' "; $rq = mysql_query($query) or die(mysql_error()); while ($row=mysql_fetch_assoc($rq)) { $id_release = $row["id"]; $nom = $row["nom"]; echo "<option value='$id_release'>$nom</option>"; } mysql_close(); ?> </select> Une page ajax.js: function loadNoms(strthis) { var param = strthis.value; var selected_type = document.getElementById("select_type").options[document.getElementById("select_type").selectedIndex].value; $.ajax ( { type: "POST", url: "_select_nom_release.php", data: "var="+param, success: function(msg) { $("#tr_nom").append("<td class='title'><b> Nom :</b></td><td>"+ msg +"</td>"); } } if(selected_type=="void_type") $("#tr_nom").hide(); else $("#tr_nom").show(); ); } Et enfin, je déclare jquerry et ajax.js dans une page head.php: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Outil de gestion </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" /> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="/styles/style.css" /> </head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="ajax.js"></script> <div id="haut"> <a href="/"><img src="/images/Banniere.png" alt="bann"/></a> </div> Le premier select s'affiche correctement, mais lorsque je sélectionne une valeur, rien ne se passe, le deuxième select n'apparait pas. Je n'arrive pas vraiment à voir d'ou vient le problème...
  4. Bon, je me lance alors ! Si je bloque sur un problème, je solliciterai peut etre à nouveau votre aide. En fait, je travaille sur une appli qui sera utilisée en interne dans une entreprise, donc toutes les machines ont javascript. J'ai pris les categories, collections, objets etc pour exemple, mon formulaire permettra de choisir des evenements parmi des release et daffficher une liste de warnings en fonction de parametres et de valeurs choisies. Je suis un cahier des charges, et on me demande d'utiliser des select. Je me débrouille en php/MySQL, j'espere que la decouverte de js ne sera pas trop fastidieuse
  5. Bonjour, Je souhaiterai savoir si il est possible de créer un formulaire dynamique suivant les caractérostiques suivantes: Un premier select liste les différentes catégories de collections contenues dans une table collection. En fonction de la catégorie choisie, un deuxième select apparait, avec la liste des collections contenues dans la categorie. La table collection possède les champs suivants: (id, categorie, nom) Chaque collection possède des objets. Après avoir choisi la collection, un troisième select apparait, avec la liste des objets contenus dans cette collection. Il faut en choisir un. Une liste contenant les différents magasins dans lequel l'objet est disponible apparait. A chaque objet est associé un certain nombre de caractéristiques (le nb de caracteristique peut varier selon l'objet). Chaque caractéristique peut prendre plusieurs valeurs. Lorsqu'un objet est sélectionné, un nouveau select apparait pour chaque caractéristique, contenant toutes les valeurs que la caractéristique peut prendre. En fonction du renseignement des différentes caractéristiques, la liste des magasins se met à jour. Certaines combinaisons de valeurs peuvent à nouveau engendrer de nouvelles caractéristique, qui devront à nouveau s'afficher et proposer des valeurs dans un select. Je voudrais que ce formulaire soit effectué sans recharger la page. Est-il possible de coder l'ensemble de ce formulaire en javascript/ajax avec jquerry? Je découvre ces différents languages (d'après ce que j'ai compris, ajax et jquerry ne sont pas des languages), et je voudrai donc savoir si ce que je cherche à faire est réalisable avant de me lancer.
  6. Très bien, je prends note Merci pour ton aide.
  7. Ah d'accord, je vois mieux ce que tu veux dire. En fait, tout mes formulaires sont des select, donc l'utilisateur ne peut pas rentrer ce qu'il veut. Il est quand même conseillé de sécuriser les variables POST?
  8. Merci Ernestine. Je crois que tu as bien cerné mon problème.Le group by est intéressant. Par contre, je ne pense pas pouvoir utiliser le order by, car il ne faut pas que le nombre de numéros soit inférieur à $i, mais pas supérieur non plus. SELECT numero, COUNT(*) AS quantite FROM combinaison WHERE valeur=2 OR valeur=1 OR valeur=3 GROUP BY numero AND where quantite= $i; Est ce que cette syntaxe est correcte? Je vais faire un petit tour sur la toile pour voir la syntaxe de GROUP BY. Sinon, tu me dis : " fais attention aux injections SQL, il ne faut jamais manipuler des données de formulaire comme ça directement dans la base. " Je pense que tu fais allusion à $i=2; $req = $_POST['valeur1'] While ( isset($_POST['valeur.$i'])) { $req = "( $req . ' OR ' . $_POST['valeur.$i']) )"; $i ++; } Je ne vois pas comment faire pour générer la requête autrement. Le nombre de paramètre varie.
  9. Bonjour, j'ai une nouvelle question, peut être un peu plus précise cette fois. Je vous indique le contexte: table Combinaison numéro id_val id_carte 1 1 3 1 2 3 1 3 3 2 1 3 2 2 3 2 4 3 2 5 3 (apaprament, certains espaces sont effacés lorsque je poste le message. Donc pour chaque ligne, le premier chiffre correspond au champ numero, le 2eme au champ id_val , et le 3eme au champ id_carte) On envoi i fois id_val par POST, et un id_carte. On connait le nombre i. On sait donc combien de reponses la requete devra récupérer. (i, pas une de plus ni une de moins) Quelle requete sql ecrire? La requete sera différente selon le nombre de valeurs envoyées par POST. Donc: $i=2; $req = $_POST['valeur1'] While ( isset($_POST['valeur.$i'])) { $req = "( $req . ' OR ' . $_POST['valeur.$i']) )"; $i ++; } Donc la requête est: "SELECT numéro from combinaison where id_carte= $_POST['carte'] AND $req;" Prenons un exemple. Imaginons que j'ai envoyé par POST les valeurs qui ont pour id 1,2 et 3. (id_val=1, 2 ou 3) et l'id de la carte 3. La requete me renvoie 3 fois le numéro 1, et 2 fois le numéro 2. Je sais que je cherche une combinaison de $i résultats. Ici, on a $i=3. Je veux donc récupérer le numéro 1 (car la requête renvoi $i fois le numéro 1, et ne pas prendre en compte le numéro 2, qui n'est renvoyé que 2 fois par la requête. Ma question : Comment puis-je faire cela? Il faut faire une nouvelle requete? Ou il suffit de rajouter un paramètre à ma requete précédente? Merci encore une fois de votre aide
  10. Ca ne dépend pas que de moi. Je fait partie d'un petit service dans une entreprise multinationale, ils comptent migrer en janvier. Mais je ne ferais plus partie de l'entreprise à ce moment la...
  11. Je suis sous mysql 4, et je ne peux pas upgrader, car je travaille pour une entreprise. Est-il possible d'utiliser des triggers avec une version mysql antérieure à la 5?
  12. Je n'attends pas que l'on me construise ma base, mais qu'on me donne quelques indications sur l'architecture que je devrais employer pour pouvoir modéliser une structure selon l'exemple du fichier exel. C'est vrai que la table de jointure paramètre-valeur est inutile ici, bien vu, je corrige. Et UNE table de gagné
  13. Bonjour, J'ai besoin de votre aide pour construire l'architecture d'une base de donnée assez complexe. Je m'explique: On demande a un utilisateur de choisir une carte parmi une liste prédéfinie. Un certain nombre de paramètres sont associés à chaque cartes. Pour chaque paramètres, on demande à l'utilisateur de choisir parmi des valeurs prédéfinies. Jusqu'ici, tout va bien. Je créer : -une table carte, dans laquelle je liste les différentes cartes -une table paramètres dans laquelle je liste les différents parametres -une table de jointure carte-parametre qui relie l'id d'une carte avec l'id d'un paramètre. -une table valeur qui liste les différentes valeurs existantes -une table de jointure parametre-valeur, qui relie l'id d'un parametre avec l'id d'une valeur. La ou ca se complique, c'est que certaines combinaisons des valeurs renseignées entrainent de nouveaux paramètres, pour lesquels il faut à nouveau renseigner des valeurs qui peuvent à nouveau entrainer des paramètres... Je joint un fichier exel avec le shéma d'un exemple, et le modele de base de donnée (incomplet) avec les valeurs utilisées dans l'exemple remplies. Cela facilitera certainement la compréhension de mon problème. Vous trouverez le fichier exel ici: http://julien.lutel.free.fr/sql/bdd.xls Enfin, en fonction de toutes les différentes valeurs recueillies, on devra afficher la liste des competences maitrisées. Je créerai sans doute une table compétence qui listera toutes les compétences possibles, et une table qui associera l'id d'une alarme avec l'id d'un parametre et d'une carte. Mais c'est un autre problème, chaque chose en son temps, je voudrais d'abord réussir à construire le reste de l'architecture de la table. Je me doute que vous n'avez pas que ca à faire, mais si certains d'entre vous sont en vacances et s'ennuient (...) voyez ca comme un challenge ! Je remercie d'avance les âmes charitables qui accepteront de m'aider, et je retourne ma casser la tête...
×
×
  • Créer...