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

PHP & Base de données Discussion :

Probleme avec liste deroulante et requete [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Probleme avec liste deroulante et requete
    Bonjour , tout d'abord je m'escuse si je me trompe de partit dans la forum car je suis quelque peu perdu dans les rubriques.

    Je vous ecris car je suis quelque peu perdu dans l'un de mes algorithmes.

    J'ais une page qui affiche plusieur tableau , ou chacun correspond a un groupe de fournisseur.
    Dans chaque tableau ce trouve plusieur produit.

    A droite de chaque ligne (donc de chaque produit) , j'ai mis une liste deroulante ou l(on peut choisir : "effectué", "annulé" , " " )

    tout en bas de chaque tableau ,' ai un bouton valider

    je voudrais si l'on clique sur le bouton valider que les differentes valeur selectionner dans la liste deroulante lance pour le resultat de la liste deroulante des produit une requete.

    ex: si l'on selectionne "effetuee" , le produit se copie dans mysql.
    si l'on selectionne "annulee" , le produit est effacer de la base de donnée .

    Mon probleme est que j'arrive pas a gerer les tableaux ou il y a plusieur produit et donc plusieur resultat sur la liste deroulante

    voici mon code 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
    $qryGroup = "SELECT distinct(groupe) FROM commande2";
    $resQryGroup = mysql_query($qryGroup,$link) 
    or die ('Erreur : ' . mysql_error() );
     
    while ($rangGroupe = mysql_fetch_array($resQryGroup)){
     
      $total_commande = 0;
     
      $qryCmde = "SELECT * FROM commande2 WHERE groupe = '" . $rangGroupe['groupe'] . "'"; 
      $resQryCmde = mysql_query($qryCmde,$link) or die ('Erreur : ' . mysql_error() );
     
    $groupee = $rangGroupe['groupe'];
     
     
        ?>
        <BR><div id="<?php echo $groupee; ?>">
    	<FORM method="POST" action="commande4.php">
           <table border=1>
           <TR bgcolor= "#CCFFCC">
           <th>Nom</th><th>Référence</th><th>Quantité</th><th>Nombre d'unité</th><th>Fournisseur</th><th>Reference fournisseur</th>
    <th>Prix à l'unité</th><th>Prix total</th><th>Prix avec reduction</th><th>Numero de cas</th><th>Date</th><th>initiale</th>
    <th>Localisation</th><th>Commande</th>
           </tr>
     
           <?php
           while($rangCmde = mysql_fetch_array($resQryCmde)){
     
    if(isset($_POST['Valider'])){
    		$list=$_POST['commande'];
    		$listnom=$_POST['tabnom'];
    		$listnom_cass=$_POST['tabnom_cass'];
    		$listref=$_POST['tabref'];
    		$listfour=$_POST['tabfour'];
     
     
    		for($i=0;$i<count($list);$i++) 
    		{
     
    	$selecta= "SELECT * from commande2 where nom like  '".$listnom[$i]."' and fournisseur = '".$listfour[$i]."'";
    	$resulta2 = mysql_query($selecta,$link) or die ('Erreur : '.mysql_error() );
    	$rangCmde2 = mysql_fetch_assoc($resulta2);
     
    	while ($list[$i]="effectuee"){
     
    			$insertion="INSERT INTO historique VALUES ('".$rangCmde2['numero_cass']."','".$rangCmde2['fournisseur']."','".$rangCmde2['prix']."',
    '".$rangCmde2['quantite']."',
    '".$rangCmde2['nombre_quantite']."','".$rangCmde2['nom']."','".$rangCmde2['date']."','".$rangCmde2['prix_total']."',
    '".$rangCmde2['initiale']."','".$rangCmde2['reference']."','".$rangCmde2['reference_fournisseur']."',
    '".$rangCmde2['equipe']."','".$rangCmde2['groupe']."')";
    			$result_insertion=mysql_query($insertion,$link) or die ('Erreur : '.mysql_error() );
    			}
     
    			while ($list[$i]="annulee"){
     
     
    		$rqSql= "DELETE FROM commande2 WHERE nom='".$listnom[$i]."' AND numero_cass = '".$listnom_cass[$i]."'";
    		$result3 = mysql_query( $rqSql, $link) or die( "Suppression impossible.");
    		}
    		}
    		}
    		$reqloc="Select * from produit2 where reference like '".$rangCmde['reference']."'" ; 
    		$resultreqloc=mysql_query($reqloc,$link) or die ('Erreur : '.mysql_error() );
    		$voirreqloc = mysql_fetch_assoc($resultreqloc);
     
    	 ?>
    	 <tr>
    	 <td><font face='Verdana' size='2'><?php echo $rangCmde['nom']; ?></font></td>
    	 <td><font face='Verdana' size='2'><?php echo $rangCmde['reference']; ?></font></td> 
    	 <td><font face='Verdana' size='2'><?php echo $rangCmde['quantite']; ?></font></td>
    	 <td><font face='Verdana' size='2'><?php echo $rangCmde['nombre_quantite']; ?></font></td>
    	 <td><font face='Verdana' size='2'><?php echo $rangCmde['fournisseur']; ?></font></td>
    	 <td><font face='Verdana' size='2'><?php echo $rangCmde['reference_fournisseur']; ?></font></td>
    	 <td><font face='Verdana' size='2'><?php echo $prix2;  ?></font></td>
    	 <td><font face='Verdana' size='2'><?php echo $prix_total2;  ?></font></td>
    	 <td><font face='Verdana' size='2'><?php echo $reduction2;  ?> </font></td>
    	 <td><font face='Verdana' size='2'><?php echo $rangCmde['numero_cass']; ?></font></td>
    	 <td><font face='Verdana' size='2'><?php echo $rangCmde['date']; ?></font></td>
    	 <td><font face='Verdana' size='2'><?php echo $rangCmde['initiale']; ?></font></td>
    	 <td><font face='Verdana' size='2'><?php echo $voirreqloc['localisation']; ?></font></td>
    	 <td class="truc"><font face='Verdana' size='2'>
    	 <div style="text-align:left;">
    	 <select name="commande[]">
    	 <option value="rien"></option>
    	 <option value="effectuee">Effectuée</option>
    	 <option value="annulee">Annulée</option>
    	 </select>
    	 <input type="hidden" name="tabnom[]" value="<?php echo $rangCmde['nom']; ?>" />
    	 <input type="hidden" name="tabnom_cass[]" value="<?php echo $rangCmde['numero_cass']; ?>" />
    	 <input type="hidden" name="tabref[]" value="<?php echo $rangCmde['reference']; ?>" />
    	 <input type="hidden" name="tabfour[]" value="<?php echo $rangCmde['fournisseur']; ?>" />
    	 </div>
    	 </font>
    	 </td>
    	 </tr>
    	 <?php
           }
          ?>
           <tr>
    	  <td colspan=14>
    	  <center>
    	  <input type="submit" value="Valider" />
    	  <input type="button" value="Imprimer" onclick="imprime_zone('commande','<?php echo $groupee; ?>');">
    	 <input type="submit" value="Fermer" onClick="window.close()" />
    	 <center>
    	  </td>
    	  </tr>
    	  </table>
    	  </form>
    ps : ne faite pas attention au fermeture de } car je n'ai pas copier tout le code

    voila merci de me guider sur mon erreur.

    ps2: la fonction pour choisir lsur la liste deroulante est a if(isset($_post['valider'])){
    ps3: Pour le moment quand je clique sur valider sa me met ceci:

    Fatal error: Maximum execution time of 30 seconds exceeded in /data/htdocs/Webdav_depot/enscr/intranet_enscr/intranet_enscr_personnel/intranet_lsab/v3/commande4.php on line 120
    et la ligne 120 et la requete $insertion

    Merci encore

  2. #2
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Je n'arrives pas trop à voir comme ça, est-ce que vous pouvez poster un code et une structure de base de donnée complête pour tester en local s'il-vous-plaît ?
    Ca n'est pas très amusant, vous pouvez aussi attendre qu'un autre developpeur lise votre discussion.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    ton erreur est du a un paremetre dans ton fichier de config de php

    voila suffisé de chercher sur dvp.com : http://php.developpez.com/faq/?page=...mpsexecscripts

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    En regardant dans phpmyadmin jai vu que en faite c'etait une boucle infinie (149000 page de creer en ajoutant la molecule) donc heuresemeent que le parametre de config etait mis sur 30 sec autrement je n'ose pas imaginer le nombre de resultat obtenue dans ma table : //

    Donc voila a y bien regarder sa vient de la :


    for($i=0;$i<count($list);$i++) {}

    il a pas l'air de comprendre le $list

    pourtant dans mon formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <div style="text-align:left;">
    	 <select name="commande[]">
    	 <option value="rien"></option>
    	 <option value="effectuee">Effectuée</option>
    	 <option value="annulee">Annulée</option>
    	 </select>
    	 <input type="hidden" name="tabnom[]" value="<?php echo $rangCmde['nom']; ?>" />
    	 <input type="hidden" name="tabnom_cass[]" value="<?php echo $rangCmde['numero_cass']; ?>" />
    	 <input type="hidden" name="tabref[]" value="<?php echo $rangCmde['reference']; ?>" />
    	 <input type="hidden" name="tabfour[]" value="<?php echo $rangCmde['fournisseur']; ?>" />
    	 </div>
    et avant la boucle for :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(isset($_POST['Valider'])){
    		$list=$_POST['commande'];
    		$listnom=$_POST['tabnom'];
    		$listnom_cass=$_POST['tabnom_cass'];
    		$listref=$_POST['tabref'];
    		$listfour=$_POST['tabfour'];
    je specifie bien $list pour chacun des element de mon tableau

    peut etre cela vient t'il du bouton valider:

    <input type="submit" value="Valider" name="Valider"/>

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    fait un isset($_POST['nom devariable'] pour voir si elle sont bien crée et pourquoi mettre commande[] dans le form essaye commande tout cour cela suffi

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

Discussions similaires

  1. [AC-2003] probleme avec liste deroulante
    Par Årkange dans le forum IHM
    Réponses: 4
    Dernier message: 18/02/2010, 15h41
  2. [MySQL] Probleme avec liste deroulante dépandante
    Par Luisito31 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/10/2008, 07h38
  3. probleme avec liste deroulante
    Par mans27 dans le forum JSF
    Réponses: 1
    Dernier message: 02/06/2007, 12h25
  4. probleme avec liste deroulante (menu)
    Par mans27 dans le forum JDeveloper
    Réponses: 4
    Dernier message: 01/06/2007, 22h36
  5. [MySQL] probleme avec liste déroulante et requete
    Par Ludo75 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/01/2006, 13h55

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