Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1814 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Menu deroulant et Mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Menu deroulant et Mysql

n°292473
sbucci2
Posté le 23-01-2003 à 12:16:11  profilanswer
 

slt,
 
Je voudrais créée un menu déroulant dont les valeurs sont celles d'un champs d une base Mysql.
Je fais comment ?
si vous connaissez des bon tutorial sur php/mysql je vux bien les liens.
 
Merci  d avance.

mood
Publicité
Posté le 23-01-2003 à 12:16:11  profilanswer
 

n°292477
sbucci2
Posté le 23-01-2003 à 12:23:26  profilanswer
 
n°292481
stef_dober​mann
Personne n'est parfait ...
Posté le 23-01-2003 à 12:26:06  profilanswer
 

salut :hello:
 
tient j'ai fait ca :

Code :
  1. <select name="lieu">
  2.           <option value=""></option>
  3. <?PHP
  4. $link = @mysql_connect("localhost","login","passe" ) or exit();
  5. mysql_select_db("db_name" ) or exit();
  6. $query = "select lieu from lieu order by lieu ASC";
  7. $result = mysql_query ($query) or die ("Impossible d'exécuter la requete<br>$query<br>" );
  8. while ( $row = mysql_fetch_row($result) ) {
  9. echo"        <option value=\"$row[0]\">$row[0]</option><br>";
  10. }
  11. mysql_free_result($result);
  12. ?>
  13.         </select>


cette table contient, different lieu trié pas ordre alphabetique
 
ya mieux (enfin je crois) mais c'est deja ca;)


---------------
Tout à commencé par un rêve...
n°1371262
snp
quand on sait pas, on se tait
Posté le 20-05-2006 à 20:50:18  profilanswer
 

up mais pour les champs d'une base access SVP ?

n°1371269
naceroth
Posté le 20-05-2006 à 21:06:19  profilanswer
 

La même chose, en utilisant l'odbc...

n°1371864
snp
quand on sait pas, on se tait
Posté le 22-05-2006 à 09:14:18  profilanswer
 

ok mais quand tu découvre PHP + odbc, tu aimes bien qu'on te file un coup de main. Sur le net, c dur dur de trouver des tutos là dessus : a part avec mysql on trouve pas grand chose....
Merci de me filer un coup de main la-dessus

n°1372300
naceroth
Posté le 22-05-2006 à 16:10:52  profilanswer
 

Dur dur, faut le dire vite pour pas mentir longtemps hein, une recherche sur google te renvoit vers ça,  ou encore ça ou même ça.
 
Dur dur en effet :)

n°1372404
zerealfred
Mana mana
Posté le 22-05-2006 à 17:39:32  profilanswer
 

T'as juste a creer un lien odbc(panneau de configuration->outils d'administration->sources de donnees) pointant sur ta base de donnees access. En cas de difficultes tu trouveras de l'aide en cherchant un peu sur google ;)
 
En ce qui concerne le php, t'as plus qu'a utiliser les methodes d'acces a l'odbc. Tu pourras les trouver dans la doc php ou encore dans divers tutoriaux.
 
Donc rien de vraiment complique, il suffit juste de se mettre au travail! lol

n°1372446
dwogsi
Défaillance cérébrale...
Posté le 22-05-2006 à 18:41:37  profilanswer
 

Du PHP avec une base access c'est tout simplement ridicule! Access ça te fait de la DB qui fait 20 Mo pour deux enregistrements de 4 caractères... Et, de plus, je pense qu'un cou d'ASP serait plus aprioprié!


Message édité par dwogsi le 22-05-2006 à 18:43:54
n°1377508
snp
quand on sait pas, on se tait
Posté le 30-05-2006 à 13:42:23  profilanswer
 

serieusement les gars, y'a vraiment pasq gd chose sur le PHP+access, a part bien sur comment se connecter a une base, faire un echo etc...dès qu'on veut un truc qui sort un peu de l'ordinaire (quoi que je suis pas certain qu'un menu deroulant le soit) on ne trouve rien; que du mysql !
De plus, si je tourne avec access c pour des questions de maintenance. Tout le monde ne connait pas forcement mysql alos qu'une BD access tout le monde en a déja tripoté une dans sa vie...
Bref, tout ça pour dire que je suis toujours coincé avec cette fichue fonction de menu déroulant...
 
Imaginons :
j'ai une base access qui s'appelle "vehicules" et une table "voitures" contenant les champs "ref", "marque" et "couleur".
 
je fais donc :  
 

Code :
  1. <?php
  2. include 'connexion_base.php';   //parametres de connexion
  3. $select = 'SELECT marque, couleur FROM voitures';
  4. $resultat = odbc_result ($cnx,$select);
  5. mais après pour avoir ce fichu menu deroulant contenant les marques de bagnoles ????
  6. ?>


Message édité par snp le 30-05-2006 à 13:42:54
mood
Publicité
Posté le 30-05-2006 à 13:42:23  profilanswer
 

n°1377703
naceroth
Posté le 30-05-2006 à 17:17:02  profilanswer
 

Faut pas être borné non plus, tu dis toi même que les tutos te disent comment faire un echo. Ca tombe bien, un menu déroulant, c'est rien d'autre qu'une suite d'écho.
 
Et pour la logique qu'il y a derrière, access/mysql/db2/oracle, c'est pareil.
 
(pas un peu débutant en html et/ou php aussi des fois ?)

n°1378627
snp
quand on sait pas, on se tait
Posté le 01-06-2006 à 10:42:44  profilanswer
 

je vous jure que je fais ce que je peux. Dans le cas qui m'interesse, quelqu'un peut m'expliquer ou est mon erreur ? je me retrouve avec une liste deroulante vide :
 

Code :
  1. <?php
  2.         include('../../include/connexion_base.php');
  3.         echo '<select name="utilisateurs">'."\n";
  4.         //echo '<option value="">--Choisir--</option>'."\n";
  5.         $result = odbc_exec("SELECT initiales FROM utilisateurs ORDER BY initiales" );
  6.         while($data =  odbc_fetch_array($result))
  7.         {
  8.            echo '<option value="'.$data[1].'">'.$data['initiales'];
  9.            echo '</option>'."\n";
  10.         }
  11.         echo '</select>'."\n";
  12.        odbc_close($cnx);
  13.        ?>


Message édité par snp le 01-06-2006 à 10:42:53
n°1378986
snp
quand on sait pas, on se tait
Posté le 01-06-2006 à 15:18:44  profilanswer
 

eup SVP

n°1379050
naceroth
Posté le 01-06-2006 à 15:58:48  profilanswer
 

Le manuel :
 

Citation :

resource odbc_exec ( resource connection_id, string query_string [, int flags] )


 
Premier argument d'un odbc_exec : normalement, ton $cnx, deuxième argument : la requête.
 
(je vais même pas perdre mon temps à me demander pourquoi j'ai donner des liens vers des tutos plus haut alors qu'il y en a un qui fait exactement une liste déroulante depuis Access avec l'odbc.)

n°1379160
snp
quand on sait pas, on se tait
Posté le 01-06-2006 à 17:31:22  profilanswer
 

bon sang ! ça marche ! j'ai bien ma liste deroulante de ce que contient la base access !!! grand merci naceroth !
Franchement, je ne trouve vraiment pas grand chose sur le net la-dessus, merci pr le coup de main !
Par contre, dans mon $_POST, c kelle valeur que je dois appeller ? g tout essayer : data, initiales, utilisateurs, result etc....ma BD ne me rempli pas le champ des initiales selectionné

n°1379185
naceroth
Posté le 01-06-2006 à 17:57:48  profilanswer
 

$_POST['utilisateurs'] puisque c'est comme ça que tu appelles ton select. Par contre, ça existe $data[1] avec un odbc_fetch_array ? (vérifie dans le code source de la page :))

n°1379460
snp
quand on sait pas, on se tait
Posté le 02-06-2006 à 08:49:21  profilanswer
 

En effet j'ai dans mon code source :
Undefined offset:  0 in...
Undefined offset:  0 in...
Undefined offset:  0 in...
Undefined offset:  0 in...
ça veut dire koi exactement ? et comment ça se regle ?

n°1379723
snp
quand on sait pas, on se tait
Posté le 02-06-2006 à 12:19:41  profilanswer
 

up SVP

n°1379989
naceroth
Posté le 02-06-2006 à 15:56:30  profilanswer
 

Ce qu'il y a de bien avec les messages d'erreurs de php, c'est qu'ils indiquent la ligne de l'erreur. Sauf quand on s'amuse à ne pas recopier le message en entier :D
 
Bref, regarde la ligne de ton script qui correspond à la ligne donnée par le message d'erreur, parce que nous, on est pas devin (surtout qu'il n'y a pas de tableau avec un offset 0 dans le code source que tu donnes plus haut, ce qui implique que tu l'as modifié et qu'on a plus rien sur quoi se baser)

n°1380137
snp
quand on sait pas, on se tait
Posté le 02-06-2006 à 18:25:35  profilanswer
 

Désolé d'etre lourd  :pfff: . j'ai beau consulté des sites et des sites et des....je ne comprends pas toujours tout. On ne parle pas le même langage... En fait, cette source je l'ai trouvé sur le net mais je ne comprends pas trop a quoi correspondent les "[]" ni pourquoi il fo faire un odb_fetch_array. C vraiment flou tout ça !
Merci de m'aider naceroth (et les autres...)
 
ci-joint donc, mon formulaire :

Code :
  1. <?php
  2.         include('../../include/connexion_base.php');
  3.         echo '<select name="utilisateurs">'."\n";
  4.         //echo '<option value="">--Choisir--</option>'."\n";
  5.         $result = odbc_exec($cnx, "SELECT initiales FROM utilisateurs ORDER BY initiales" );
  6.         while($datac =  odbc_fetch_array($result))
  7.         {
  8.            echo '<option value="'.$datac[0].'">'.$datac['initiales'];
  9.     //echo '<option value="">'.$datac['initiales'];
  10.            echo '</option>'."\n";
  11.         }
  12.         echo '</select>'."\n";
  13.        odbc_close($cnx);
  14.        ?>


 
et mon add_devis.php :
 

Code :
  1. <body>
  2. <?php
  3. //DONNEES RECUPEREES de formulaire_add_devis.php
  4. $designation=$_POST['designation'];
  5. $client=$_POST['client'];
  6. $filiale=$_POST['filiale'];
  7. $createur=$_POST['utilisateurs'];
  8. $today = date (" j/m/Y" );
  9. require ('../../include/connexion_base.php');
  10. $query = 'insert into devis (designation,date_creation,client,filiale,etude)';
  11. $query .= " VALUES ('$designation','$today','$client','$filiale','$createur')";
  12. $result = odbc_exec( $cnx, $query );
  13. odbc_close( $cnx);
  14. ?>
  15. <script language="javascript">
  16. alert("Le nouveau devis <?php echo $designation ?> a été ajouté à la base de données" );
  17. window.close();
  18. </script>
  19. </body>


 
Mon code source du formulaire :

Code :
  1. <body>
  2. <select name="filiale">
  3. <br />
  4. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  5. <option value="">Allemagne</option>
  6. <br />
  7. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  8. <option value="">Angleterre</option>
  9. <br />
  10. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  11. <option value="">Autriche</option>
  12. <br />
  13. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  14. <option value="">Belgique</option>
  15. <br />
  16. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  17. <option value="">Chine</option>
  18. <br />
  19. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  20. <option value="">Danemark</option>
  21. <br />
  22. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  23. <option value="">Espagne</option>
  24. <br />
  25. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  26. <option value="">Etats-Unis</option>
  27. <br />
  28. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  29. <option value="">France</option>
  30. <br />
  31. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  32. <option value="">Hollande</option>
  33. <br />
  34. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  35. <option value="">Italie</option>
  36. <br />
  37. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  38. <option value="">Scandinavie</option>
  39. <br />
  40. <b>Notice</b>:  Undefined offset:  1 in <b>formulaire_add_devis.php</b> on line <b>76</b><br />
  41. <option value="">Suisse</option>
  42. </select>
  43. <select name="utilisateurs">
  44. <br />
  45. <b>Notice</b>:  Undefined offset:  0 in <b>formulaire_add_devis.php</b> on line <b>101</b><br />
  46. <option value="">DAG</option>
  47. <br />
  48. <b>Notice</b>:  Undefined offset:  0 in <b>formulaire_add_devis.php</b> on line <b>101</b><br />
  49. <option value="">SLD</option>
  50. <br />
  51. <b>Notice</b>:  Undefined offset:  0 in <b>formulaire_add_devis.php</b> on line <b>101</b><br />
  52. <option value="">SLS</option>
  53. <br />
  54. <b>Notice</b>:  Undefined offset:  0 in <b>formulaire_add_devis.php</b> on line <b>101</b><br />
  55. <option value="">SNP</option>
  56. </select>


Message édité par snp le 02-06-2006 à 18:33:38
n°1380143
naceroth
Posté le 02-06-2006 à 18:35:39  profilanswer
 

Oui, donc, php te dit (à raison) qu'il n'y a pas d'élément 0 dans le tableau $datac (ce qui tout à fait exact, le manuel précisé bien que l'odbc commence sa numérotation à partir de 1 et pas 0 comme mysql).
 
Corrige ton code en  

Code :
  1. echo '<option value="'.$datac[1].'">'.$datac['initiales'];


 
Et regarde s'il y a bien une valeur attribuée à value (et si elle est bonne s'il y en a une) ou si il ne faudrait pas plutôt mettre

Code :
  1. echo '<option value="'.$datac['initiales'].'">'.$datac['initiales'];


 
:)

n°1380145
naceroth
Posté le 02-06-2006 à 18:37:37  profilanswer
 

Ah bah voilà, avec le code source de la page, on a fait un grand pas en avant, essaye la deuxième écriture pour les options :)

n°1380157
snp
quand on sait pas, on se tait
Posté le 02-06-2006 à 18:57:13  profilanswer
 

Punaise, j'hallucine !
ça marche ! chuis vert .
UN GRAND MERCI NACEROTH !!!!!!
 
euh....dit, je peux encore pauser une question bête ? c a propos des checkbox...

n°1380159
snp
quand on sait pas, on se tait
Posté le 02-06-2006 à 19:03:10  profilanswer
 

Allez, je me jette à l'eau....!
voici la question (attention, c compliqué  :pt1cable: :
 
J'ai un formulaire qui contient des chekbox que j'envoie avec POST:

Code :
  1. <input type="checkbox" name="doc_joint[]" value="Plans" >
  2.      <span class="IntraBE">Plans</span>
  3.      <input type="checkbox" name="doc_joint[]" value="Cahier des charges">
  4.       <span class="IntraBE">Cahier des charges</span>
  5.      <input type="checkbox" name="doc_joint[]" value="Normes">
  6.       <span class="IntraBE">Normes</span>
  7.      <input type="checkbox" name="doc_joint[]" value="Autres">
  8.       <span class="IntraBE">Autres</span>


 
Je récupère mes valeurs comme ça :

Code :
  1. $doc=$_POST['doc_joint'];


 
et dans le PDF généré avec FPDF j'obtiens comme résultat "array" ! Comprends pas....
DE plus, j'ai beau essayer de bidouiller, j'arrive pas a afficher avec echo les cases sélectionnée...
 
c balot, non ?
 


Message édité par snp le 02-06-2006 à 19:07:19
n°1380165
naceroth
Posté le 02-06-2006 à 19:28:25  profilanswer
 

T'as vraiment du mal avec les tableaux php toi :)
 
Oui, donc, comme tu appelles tes checkbox de cette manière, ce que tu vas récupérer va être un tableau php (d'où le array qui apparait dans le pdf), faut donc accéder aux valeurs en utilisant la notation propre aux tableaux ($doc[0], $doc[1] etc) ou par une boucle foreach par exemple.
 
La doc générale sur les tableaux php
et celle sur la structure foreach
 
(sinon, rubrique "je chipote", il y a une balise <label> pour lier une checkbox et son titre cfr w3schools :))

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Menu deroulant et Mysql

 

Sujets relatifs
Ou y a til de bon tuto mysql ?MySQL et les cles etrangeres ?????
[MySQL] nombre de connexions simultannées à la base de donnéesFTPhpIndex V 0.22 - Plus de 700 000 fichiers indexés dans mysql :)
menu dynamique en js compatible ie 5,6 et nscp 7, c possible ?MySQL et table attachee ?!!
[MySQL - PHP] connexion sécurisée. SSL?[PHP/mysql] lancer une requete avec un bouton ...
[php/Mysql] sauvegarde de la base complete ![PHP-MySQL] Récupérer une valeur de menu déroulant.
Plus de sujets relatifs à : Menu deroulant et Mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR