IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

php sql formulaire


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 22
    Par défaut php sql formulaire
    bonjour tt le monde ,
    j'ai des listes déroulantes date début ,date fin, fournisseur,lieu de dechargement et je veux une fois que je selectionne la date de début et la date de fin qu'il m'affiche au niveau de la liste déroulante fournisseur tous les fournisseurs qui sont entre ses deux dates anvant que je valide
    et merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    <center><form action="" method="post">
    								<!-- date debut -->
    <p><div class="para"><span class="ecr">Selectionnez la date de d&eacute;but</span>
     
    <select class ="a" name="dated" >
    <option value="par_defaut" selected="selected" >Selectionnez la date</option>
    <?php
    while(odbc_fetch_row($valeur2)) //tant que c'est pas la fin de la table
    {
    ?>
    <option value="<?php echo odbc_result( $valeur2,1);?>"><?php echo odbc_result( $valeur2,1);?></option>
    <?php
    }?>
    </select></div></p>
    								<!-- date fin -->
    <p><div class="para"><span class="ecr">Selectionnez la date fin</span>								
    <select class ="a" name="datef" >
    <option value="par_defaut" selected="selected" >Selectionnez la date</option>
    <?php
    while(odbc_fetch_row($valeur)) //tant que c'est pas la fin de la table
    {
    ?>
    <option value="<?php echo odbc_result( $valeur,1);?>"><?php echo odbc_result( $valeur,1);?></option>
    <?php
    }?>
    </select></div></p>
    <?php
    				$dd=$_POST['dated'];
    				$df=$_POST ['datef'];
    				if(isset($dd ) and isset($df) and $_POST['choix']!="choix3")
    				{
    				$valeur12=odbc_exec($cnx,"select Fournisseur
    				FROM WMS_ARRIVAGES AS WMS_ARRIVAGES1,WMS_ARRIVAGES AS WMS_ARRIVAGES2,WMS_BLF
    				where (WMS_ARRIVAGES1.Numero_arrivage=WMS_BLF.Numero_arrivage) 
    				and (WMS_ARRIVAGES1.Numero_arrivage=WMS_ARRIVAGES2.Numero_arrivage )
    				and (WMS_ARRIVAGES1.Date_livraison BETWEEN #$dated# AND #$datef#) GROUP BY Fournisseur");
    				?>
    		<!-- fournisseur -->
    <p><div class="para"><span class="ecr">Selectionnez votre fournisseur</span>								
    <select class ="a" name="fourni" >
    <option value="par_defaut" selected="selected" >Selectionnez le fournisseur</option>
    <?php
    while(odbc_fetch_row($valeur12)) //tant que c'est pas la fin de la table
    {
    ?>
    <option value="<?php echo odbc_result( $valeur12,1);?>"><?php echo odbc_result( $valeur1,1);?></option>
    <?php
    }?>
    </select></div></p>
    								<!-- lieu de dechargement -->
    <p><div class="para"><span class="ecr">le lieu de d&eacute;chargement</span>								
    <select class ="a" name="lieud" >
    <option value="par_defaut" selected="selected" >Selectionnez le lieu</option>
    <?php
    while(odbc_fetch_row($valeur3)) //tant que c'est pas la fin de la table
    {
    ?>
    <option value="<?php echo odbc_result( $valeur3,1);?>"><?php echo odbc_result( $valeur3,1);?></option>
    <?php
    }?>
    </select></div></p>
    <input type="submit" value="valider"  /></form></center>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour faire des listes liées :
    http://siddh.developpez.com/articles/ajax/
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 22
    Par défaut
    bonjour, merci bien pour le tutoriel, j'ai essayé le code comme test mais ça n'a pas marché

    les listes sont vides

    dans la page auteur.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    <html>
    <head>
    <title>Tutoriel Ajax (XHTML + JavaScript + XML)</title>
    <script type='text/javascript'>
    function getXhr(){
    var xhr = null;
    if(window.XMLHttpRequest) // Firefox et autres
    xhr = new XMLHttpRequest();
    else if(window.ActiveXObject){ // Internet Explorer
    try {
    xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    else { // XMLHttpRequest non supporté par le navigateur
    alert("Votre navigateur ne supporte pas les objets
    XMLHTTPRequest...");
    xhr = false;
    }
    return xhr;
    }
    /**
    * Méthode qui sera appelée sur le click du bouton
    */
    function go(){
    var xhr = getXhr();
    // On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function(){
    // On ne fait quelque chose que si on a tout reçu et que le
    serveur est ok
    if(xhr.readyState == 4 && xhr.status == 200){
    leselect = xhr.responseText;
    // On se sert de innerHTML pour rajouter les options
    a la liste
    document.getElementById('livre').innerHTML =
    leselect;
    }
    }
    // Ici on va voir comment faire du post
    xhr.open("POST","ajaxLivre.php",true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    // ici, l'id de l'auteur
    sel = document.getElementById('auteur');
    idauteur = sel.options[sel.selectedIndex].value;
    xhr.send("idAuteur="+idauteur);
    }
    </script>
    </head>
    <body>
    <form>
    <fieldset style="width: 500px">
    <legend>Liste liées</legend>
    <label>Auteurs</label>
    <select name='auteur' id='auteur' onchange='go()'>
    <option value='-1'>Aucun</option>
    <?
    mysql_connect("localhost","root","");
    mysql_select_db("coursphp");
    $res = mysql_query("SELECT * FROM auteur ORDER BY
    nom");
    while($row = mysql_fetch_assoc($res)){
    echo "<option
    value='".$row["id"]."'>".$row["nom"]."</option>";
    }
     
    	mysql_close();
    ?>
    </select>
    <label>Livres</label>
    <div id='livre' style='display:inline'>
    <select name='livre'>
    <option value='-1'>Choisir un auteur</option>
    </select>
    </div>
    </fieldset>
    </form>
    </body>
    </html>
    et dans la page ajaxLivre.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    echo "<select name='livre'>";
    if(isset($_POST["idAuteur"])){
    mysql_connect("localhost","root","");
    mysql_select_db("coursphp");
    $res = mysql_query("SELECT id,titre FROM livre
    WHERE idAuteur=".$_POST["idAuteur"]." ORDER BY titre");
    while($row = mysql_fetch_assoc($res)){
    echo "<option value='".$row["id"]."'>".$row["titre"]."</option>";
    }
    }
    echo "</select>";
    	mysql_close();
    ?>
    ma base de données se nomme "coursphp"


  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Quand tu fais "SELECT * FROM auteur ORDER BY nom" dans PHPmyadmin tu obtiens quelque chose ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 22
    Par défaut
    oui j'obtiens 4 noms avec ses les 4 ID

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Remplace <? par <?php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 22
    Par défaut
    OK ça marché
    Merci bien

  8. #8
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 22
    Par défaut
    j'ai beau cherché sur le forum sur les listes liées mais mon cas ne figure pas j'ai essayé mais en vain je dois selctionner la date de début et la date de fin et le résultat c'est une 3iéme liste déroulante ou il doit figurer les fournisseur existant dans ces deux dates

    dans la page essai.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
     
    <html>
    	<head>
    		<title>My webpage is rich</title>
    		<script type='text/javascript'>
     
    			function getXhr(){
                                var xhr = null;
    				if(window.XMLHttpRequest){ // Firefox et autres
    				   xhr = new XMLHttpRequest(); 
     
    				}
    				else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    							xhr = new ActiveXObject("Msxml2.XMLHTTP");
    						} catch (e) {
    							xhr = new ActiveXObject("Microsoft.XMLHTTP");
    						}
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
                                return xhr;
    			}
     
     
     
    			/**
    			* Méthode qui sera appelée sur le click du bouton
    			*/
    			function change(){
     
    				var xhr = getXhr();
     
    				// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function(){
    					//alert(xhr.readyState);
    					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    					if(xhr.readyState == 4 && xhr.status == 200){
    						di = document.getElementById('WMS_BLF');
    						di.innerHTML = xhr.responseText;
    					}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","ess.php",true);
    				// ne pas oublier ça pour le post
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				// ne pas oublier de poster les arguments
    				// ici, l'id de l'auteur
    				idauteur = document.getElementById('WMS_ARRIVAGES').options[document.getElementById('WMS_ARRIVAGES').selectedIndex].value;
    				//alert(idauteur);
    				xhr.send("dated="+idauteur);
    				xhr.send("datef="+idauteur);
     
     
    			}
    		</script>
    	</head>
    	<body>
    	<?php
    	//connexion à une base de données ACCESS
    				$bd="gestion_marchandises"; // identifiant DSN
    				$user="root"; // login
    				$password=""; // password
    				$cnx = odbc_connect( $bd , $user, $password )or die("La Connection a échoué");
    				$valeur2= odbc_exec( $cnx, "SELECT Date_livraison FROM WMS_ARRIVAGES GROUP BY Date_livraison ORDER BY Date_livraison");//la table arrivages
    				$valeur= odbc_exec( $cnx, "SELECT Date_livraison FROM WMS_ARRIVAGES GROUP BY Date_livraison ORDER BY Date_livraison");//la table arrivages
     
    				?>
    		<form >
    			<fieldset style="width: 500px">
    				<legend>Liste liées</legend>
    				<label>date debut</label>
    				<select name='dated' id='dated'>
    					<option value='-1'>choisir la date debut</option>
    					<?php
    					while(odbc_fetch_row($valeur2))
    						{?>
    							<option value="<?php echo odbc_result( $valeur2,1);?>"><?php echo odbc_result( $valeur2,1);?></option>
    						<?php
    						}
    					?>
    				</select>
    				<P><label>date fin</label>
    				<select name='datef' id='datef' onchange='change()'>
    					<option value='-1'>choisir la date fin</option>
    					<?php
    					while(odbc_fetch_row($valeur))
    						{?>
    							<option value="<?php echo odbc_result( $valeur,1);?>"><?php echo odbc_result( $valeur,1);?></option>
    						<?php
    						}
     
    					?>
    				</select></p>
     
    				<label>fournisseur</label>
    				<div id='WMS_BLF' style='display:inline'>
    				<select name='fourni'>
    					<option value='-1'>Choisir le fournisseur</option>
    				</select>
    				</div>
    			</fieldset>
    		</form>
    	</body>
    </html>
    et dans ess.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <select name='fourni'>
    <?php
     
    	if(isset($_REQUEST['dated']) and isset($_REQUEST['datef'])){
    				$bd="gestion_marchandises"; // identifiant DSN
    				$user="root"; // login
    				$password=""; // password
    				$cnx = odbc_connect( $bd , $user, $password )or die("La Connection a échoué");
    				$dd=$_REQUEST['dated'];
    				$df=$_REQUEST ['datef'];
    				$valeur12=odbc_exec($cnx,"select Fournisseur
    				FROM WMS_ARRIVAGES AS WMS_ARRIVAGES1,WMS_ARRIVAGES AS WMS_ARRIVAGES2,WMS_BLF
    				where (WMS_ARRIVAGES1.Numero_arrivage=WMS_BLF.Numero_arrivage) 
    				and (WMS_ARRIVAGES1.Numero_arrivage=WMS_ARRIVAGES2.Numero_arrivage )
    				and (WMS_ARRIVAGES1.Date_livraison BETWEEN #$dd# AND #$df#) GROUP BY Fournisseur");
    				while(odbc_fetch_row($valeur12)){
    				?>
    			<option value="<?php echo odbc_result( $valeur12,1);?>"><?php echo odbc_result( $valeur12,1);?></option>
    		<?php	
    		}
    		}
    		else
    		?>
    	<option value="-1">salam</option>
    </select>
    <?php
     
    ?>

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Qu'est ce qui ne fonctionne pas dans ton code actuel ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 22
    Par défaut
    j'obtiens une liste vide des fournisseurs

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Problème formulaire PHP/SQL
    Par Maxou73 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 27/01/2011, 19h19
  2. [AJAX] AJAX, PHP/SQL et Formulaire
    Par DiPSoMaNiE dans le forum AJAX
    Réponses: 7
    Dernier message: 28/04/2009, 09h24
  3. [SQL] formulaire php/sql (liste déroulante) petit soucis
    Par koolgirl dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/03/2007, 21h21
  4. [SQL] Formulaire en PHP
    Par fanie2004 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 14/06/2006, 11h38
  5. PHP SQL =>erreur de syntaxe (operateur absent)
    Par snipes dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo