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 :

Problème de formulaires [SQL-Server]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 19
    Points : 15
    Points
    15
    Par défaut Problème de formulaires
    Bonjour,

    Je développe actuellement une application en php, et j'utilise mssql server.
    J'ai une page ou j'affiche tous les clients du commercial, et j'ai la possibilité de modifier ou d'insérer des données via un formulaire qui a pour valeur le numéro du client. Seulement, j'ai fait un submit pour chaque ligne. Ce que j'aimerai faire si c'est possible, c'est un seul bouton qui permet de pouvoir modifier plusieurs lignes en même temps.
    Je pense que cela doit être possible via un tableau, mais je ne sais pas par quoi commencer.
    Je vous remercie d'avance de toute l'aide que vous pouvez m'apporter.

    PS : je ne vous ai pas mis le code pour l'insert ou l'update si vous en avez besoin, n'hésitez pas à me le demander. Et veuillez m'excuser si ma présentation est un peu brouillon, c'est mon 1er post


    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
    //je me connecte à la base de données, et je séléctionne tous les clients du commercial
    <? include 'connection_ser.php';
     $sql="	SELECT 	cli_client_id,
                cli_dossier_id,
    	adr_nom,
    	sui_cc,
    	sui_priorite,
    	sui_objectif,
    	sui_vis_prevue,
    	sui_classification
    	FROM clients
    	LEFT JOIN SUIVI
    	ON cli_client_id=sui_cli_id
    	WHERE cli_cial_id='".$_SESSION['cial_id']."'";
     
    	$sql_result = mssql_query($sql,$connection);
    	$color=0;	
    	while ($row = mssql_fetch_array($sql_result)) 
    	{
    	//pour chaque résultat, j'affiche une ligne				
    	?>
    	<tr class="textePetit" <? if ($color==0)  echo "bgcolor='#FFFFFF'";>>
    <?
    	//je fais des sommes de commissions par chaque client
                 $num_client=$row["cli_client_id"];
     
    	 $sql_com="SELECT pol_client_id,
    			sum(ligq_commission)AS somme_com
    			FROM	QUITTANCES
    			where	ligq_dtesaisie BETWEEN '01/01/2005' AND '31/12/2005'
    			and pol_client_id=$num_client
    			GROUP BY pol_client_id";
     
    	$sql_result_com = mssql_query($sql_com,$connection);	
    	$row_com= mssql_fetch_array($sql_result_com);
     
    	//je fais une somme des potentiels de chaque client
                 $sql_pot="SELECT 	pot_cli_id,
    			sum(pot_potentiel)as somme_pot
    			FROM potentiel			
    			WHERE pot_cli_id=$num_client
    			GROUP BY pot_cli_id";
     
    	$sql_result_pot = mssql_query($sql_pot,$connection);	
    	$row_pot= mssql_fetch_array($sql_result_pot);
    	?>
    	//je post dans la même page et j'affiche les résultats dans les inputs
                  <form method="POST" action="suivi_cli.php">
     
    	 <td height="30" align="left" class="textePetit" ><a href="qualification.php?OB_client=<? print $row["cli_client_id"] ?>" style="color:#646464"><? echo $row["cli_dossier_id"] ?>-<? echo $row["adr_nom"] ?></a></td>
    	 <td align="right" ><? echo $row_com["somme_com"]; ?></td>
    	 <td align="right"><? echo $row_pot["somme_pot"] ;?></td>
    	<td align="right" ><? if ($row_pot["somme_pot"]!="")  echo number_format((($row_com["somme_com"]/$row_pot["somme_pot"])*100), 2, '.', ' '); ?> </td>
    	td align="center"></td>
    	<td align="center">
     
     
    	<input name="cc" type="checkbox" value="1" <? if (isset($row["sui_cc"]) && ($row["sui_cc"]==1)) Print 'checked';?>>				   </td>
    	 <td align="center">
    	 <select  class="textePetit form" name="PC" >			
    	<option <? if (isset($row["sui_priorite"]) && $row["sui_priorite"]=='Séléctionnez') Print 'selected' ; ?> value="0">
    						S&eacute;l&eacute;ctionner</option>
    	<option <? if (isset($row["sui_priorite"]) && $row["sui_priorite"]=='Fidélisation') Print 'selected' ; ?> value"Fid&eacute;lisation">Fid&eacute;lisation</option>
    	<option <? if (isset($row["sui_priorite"]) && $row["sui_priorite"]=='Développement') Print 'selected' ; ?> value="D&eacute;veloppement">D&eacute;veloppement</option>
    	<option <? if (isset($row["sui_priorite"]) && $row["sui_priorite"]=='Acquisition') Print 'selected' ; ?> value="Acquisition">Acquisition</option>
    	<option <? if (isset($row["sui_priorite"]) && $row["sui_priorite"]=='Qualification') Print 'selected' ; ?> value="Qualification">Qualification</option>
    	  </select> </td>
    	<td align="center"><input type="text" name="OB"  class="textePetit form" size="7" value="<? if (isset($row["sui_objectif"])) Print $row["sui_objectif"]; ?>"></td>
    	 <td div align="center"><input type="text" name="NV" size="2" class="textePetit form" value="<? if (isset($row["sui_vis_prevue"])) Print $row["sui_vis_prevue"]; ?>"></td>
    	 <input type="hidden" name="ID_CLI" value="<? print $row["cli_client_id"] ?>">
    	 <td div align="center"><input type="image" src="images/puce.gif" width="19" height="12"></td>
    </form>
    </tr>
    <?
    //je fais un tableau avec une différence de couleur pour chaque ligne
    if ($color==0)
    {
    	$color=1;
    }
    else
    {
    	$color=0;
    }		
    }
     
    include 'close_connect.php'; //je ferme ma connection
    ?>

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 022
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    le principe serait de passer toutes les infos en tableau et d'ajouter l'id du client en index, ex. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="datas[<?php echo row["cli_client_id"]; ?>][OB]" value="<?php if (isset($row["sui_objectif"])) Print $row["sui_objectif"]; ?>">

    et pour le traitement, un truc du style (en protégeant les données, mais je connais pas de fonction mssql_escape_string() :/) :

    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
    if(isset($_POST['datas'])) {
    	foreach($_POST['datas'] as $id => $datas) {
    		$sql = "UPDATE table SET";
    		$fieldsCount = count($datas);
    		$i = 1;
    		foreach($datas as $fieldName => $value)	{
    			$sql .= " ".$fieldName." = '".$value."'";
    			if($i < $fieldsCount)	{
    				$sql .= ',';
    			}
    			$i++;
    		}
    		$sql .= " WHERE id = ".$id;
    		mssql_query($sql);
    	}
    }
    Si tu as des champs de type entier, float, etc. dans ta table il faudrait normalement remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql .= $fieldName." = '".$value."'";
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql .= $fieldName." = ".$value;
    mais peut-être que MsSql gère la conversion auto.
    Bye
    Vive les roues en pierre

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    Merci Djakisback,

    Je vais travailler mon code avec tes solutions. Je te remercie de toute ton aide, car je sens que ça va beaucoup m'aider . Je te tiens au courant de l'avancée du programme.

    Merci bocouche

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

Discussions similaires

  1. [IIS - TOMCAT][Struts] Problème de formulaire
    Par tscoops dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 01/02/2005, 14h04
  2. Réponses: 7
    Dernier message: 19/10/2004, 16h12
  3. [STRUTS] problème de formulaire
    Par ultimax dans le forum Struts 1
    Réponses: 5
    Dernier message: 09/07/2004, 15h55
  4. [Struts] Problème de formulaire(s) ...
    Par djoukit dans le forum Struts 1
    Réponses: 8
    Dernier message: 10/03/2004, 23h48
  5. Réponses: 12
    Dernier message: 24/09/2003, 15h26

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