demandes en ligne

Eléphant du PHP | 71 Messages

20 févr. 2012, 16:23

Slt tout le monde,

Je suis entrain de faire une demande d'achat qui doit être saisie en ligne,
dont j'ai fais une base de donnée Mysql nommé : "Achat" qui contient une table : "demandes" qui contient les champs suivant :
id, demandeur, objectif, titre_projet, articles, quantites, caracteristiques, date.

Mon problème consiste à : dans ma demande d'achat la colonne articles et id contiennent plusieurs lignes (plusieurs champs textes) qui doivent être enregistré dans le champ article de ma table demandes.

Et ce que c'est possible de saisir plusieurs valeurs dans un même champ ?????
si non avez vous une idée pour que je peux remplir ma table ??

voici ma page php pour vous aider :
 <table width="1000" border="0" align="right">
    
	<tr>
      <td><form  method="post" id="form1" action="">

<table width="952" border="1" align="center">
  <tr >
    <td width="656" height="51" align="right" class="Style10">
	
        <select name="demandeur" class="Style9" >
                <option value="ad">&#1575;&#1604;&#1573;&#1583;&#1575;&#1585;&#1577; </option>
				<option value="pf" selected="selected">&#1601;&#1590;&#1575;&#1569; &#1575;&#1604;&#1605;&#1587;&#1575;&#1606;&#1583;&#1577; &#1604;&#1604;&#1576;&#1581;&#1579; &#1608; &#1575;&#1604;&#1578;&#1579;&#1605;&#1610;&#1606;</option>
                <option value="lsba">&#1605;&#1582;&#1576;&#1585; &#1575;&#1604;&#1576;&#1602;&#1608;&#1604;&#1610;&#1575;&#1578;</option>
                <option value="lpmp">&#1605;&#1582;&#1576;&#1585; &#1575;&#1604;&#1605;&#1608;&#1575;&#1583; &#1584;&#1575;&#1578; &#1575;&#1604;&#1601;&#1575;&#1593;&#1604;&#1610;&#1577; &#1575;&#1604;&#1576;&#1610;&#1608;&#1604;&#1608;&#1580;&#1610;&#1577;</option>
				<option value="lpe">&#1605;&#1582;&#1576;&#1585; &#1575;&#1604;&#1601;&#1610;&#1586;&#1610;&#1608;&#1604;&#1608;&#1580;&#1610;&#1575; &#1575;&#1604;&#1580;&#1586;&#1574;&#1610;&#1577; &#1604;&#1604;&#1606;&#1576;&#1575;&#1578;&#1575;&#1578; </option>
				<option value="ll">&#1605;&#1582;&#1576;&#1585; &#1575;&#1604;&#1606;&#1576;&#1575;&#1578;&#1575;&#1578; &#1575;&#1604;&#1605;&#1602;&#1575;&#1608;&#1605;&#1577; &#1604;&#1604;&#1590;&#1594;&#1608;&#1591;&#1575;&#1578; &#1575;&#1604;&#1576;&#1610;&#1574;&#1610;&#1577; &#1575;&#1604;&#1602;&#1575;&#1587;&#1610;&#1577; </option>
        </select>
       </td>
   
    <td width="280" align="right" class="Style10"><strong> : &#1575;&#1604;&#1607;&#1610;&#1603;&#1604; &#1575;&#1604;&#1573;&#1583;&#1575;&#1585;&#1610; &#1575;&#1604;&#1605;&#1578;&#1602;&#1583;&#1617;&#1605; &#1576;&#1575;&#1604;&#1591;&#1604;&#1576;</strong></td>
  </tr>
  
  <tr >
    <td width="656" height="51" align="center" class="Style10"><textarea  name="objectif"cols="80" rows=""></textarea></td>
   
    <td width="280" align="right" class="Style10"><strong>: &#1605;&#1608;&#1590;&#1608;&#1593; &#1575;&#1604;&#1591;&#1604;&#1576;  </strong></td>
  </tr>
</table>

           <span class="Style10"><br />	
           </span>
<table width="952" border="1" align="center">
  <tr >
    <td width="656" height="51" align="center" class="Style10"><textarea name="titreprojet" cols="80" rows=""></textarea></td>
     <td width="280" align="right" class="Style10"><strong>&#1582;&#1575;&#1589; &#1576;&#1589;&#1575;&#1581;&#1576; &#1575;&#1604;&#1591;&#1604;&#1576; : &#1575;&#1604;&#1593;&#1606;&#1608;&#1575;&#1606; &#1571;&#1608; &#1575;&#1604;&#1605;&#1588;&#1585;&#1608;&#1593; </strong></td>
  </tr>
</table>   
		   
           <span class="Style10"><br />
           </span>
<table width="952" border="1" align="center">
  <tr >
    <td width="400" height="51" align="center" class="Style10"><strong>&#1575;&#1604;&#1582;&#1575;&#1589;&#1610;&#1575;&#1578; &#1575;&#1604;&#1601;&#1606;&#1610;&#1577; &#1575;&#1604;&#1605;&#1591;&#1604;&#1608;&#1576;&#1577; </strong></td>
     <td width="64" align="center" class="Style10"><strong>&#1575;&#1604;&#1603;&#1605;&#1610;&#1577;</strong></td>
     <td width="400" align="center" class="Style10"><strong>&#1576;&#1610;&#1575;&#1606; &#1575;&#1604;&#1605;&#1591;&#1604;&#1608;&#1576; </strong></td>
     <td width="73" align="center" class="Style10"><strong>&#1575;&#1604;&#1593;&#1583;&#1583; &#1575;&#1604;&#1585;&#1578;&#1576;&#1610;</strong></td>
  </tr>

  <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea> </td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
  
   <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
  
   <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
   <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
   <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
   <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
   <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
   <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
   <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
   <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
  <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
  <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
  <tr >
    <td width="354" height="51" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="64" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
     <td width="433" align="center" class="Style10"><textarea name="" cols="47" rows=""></textarea></td>
     <td width="73" align="center" class="Style10"><textarea name="" cols="3" rows=""></textarea></td>
  </tr>
</table>   		   

<table width="952" border="0" align="center">
  <tr >
    <td height="28" colspan="3" align="right" class="Style10">&nbsp;</td>
     <td colspan="2" align="right" class="Style10"><strong><input name="Input28" type="text" size="20" />: &#1576;&#1585;&#1580; &#1575;&#1604;&#1587;&#1583;&#1585;&#1610;&#1577; &#1601;&#1610; </strong></td>
  </tr>
   <tr >
    <td width="55" height="72" align="center" class="Style10"><p></strong></p></td>
     <td width="237" align="center"><span class="Style10">&nbsp;<strong>&#1575;&#1604;&#1603;&#1600;&#1575;&#1578;&#1576; &#1575;&#1604;&#1593;&#1600;&#1575;&#1605; &#1604;&#1604;&#1605;&#1585;&#1603;&#1586;</strong>
      </p>
     </span>
     <p class="Style10"><strong><strong>&#1604;&#1591;&#1610;&#1601;&#1577; &#1605;&#1608;&#1587;&#1609; &#1576;&#1606; &#1602;&#1583;&#1610;&#1600;&#1583;&#1577;  </strong></td>
     <td width="326" align="center">&nbsp;</td>
     <td width="274" align="center"><p class="Style10"><strong>: &#1573;&#1605;&#1590;&#1575;&#1569; &#1585;&#1574;&#1610;&#1587; &#1575;&#1604;&#1607;&#1610;&#1603;&#1604; </strong></p>
     <p class="Style3"><span class="Style10"><strong>: &#1573;&#1605;&#1590;&#1575;&#1569; &#1589;&#1575;&#1581;&#1576; &#1575;&#1604;&#1605;&#1588;&#1585;&#1608;</strong></span><strong>&#1593; </strong></p></td>
     <td width="38" align="center">&nbsp;</td>
  </tr>
</table>   
<input type="submit" name="Submit" value="Valider"  />
<p><a href='index.php' class="Style9" onclick="window.print()"><img src="images/imprimante.jpeg" width="33" height="38" /></a></p>


<?php 

 if (isset($_POST['Submit'])) 
{

$dem=$_POST['demandeur'];

if($dem=='ad')
  {
   $d='Administration';
  }
 else if ($dem=='pf')
  {
   $d='Plate Forme';
  }
 else if ($dem=='lsba')
  {
   $d='LSBA';
  }
 else if ($dem=='lpmp')
  {
   $d='LPMP';
  }
 else if ($dem=='lpe')
  {
   $d='LPE';
  }
 else if ($dem=='ll')
  {
   $d='LL';
  }


$obj=$_POST['objectif'];
$tit=$_POST['titreprojet'];



include 'connexion.php';

 $requet="SELECT * FROM demandes";
 $resultt = mysql_query($requet) or exit(mysql_error().'Echec');
 
  
 
        
$requete = "INSERT INTO demandes(demandeur,objectif,titre_projet) 
       VALUES('$d','$obj','$tit')";
 $result = mysql_query($requete) or exit(mysql_error().'Echec');

 ?> 
 
 <script language="javascript"> 
alert('Votre demande d''achat a été bien enregistrée! ');
 </script>
 
 <?php 

 }//Submit

?>

 </form>
</td> </tr> </table>
Merci d'avance
j'attends vos idées

ViPHP
xTG
ViPHP | 7331 Messages

20 févr. 2012, 16:42

Soit tu instaures une règle aux utilisateurs pour leur faire taper un séparateur de données. Ainsi avec un explode() tu récupères un tableau pour chaque valeurs à partir d'un seul champ texte.
Soit tu rajoutes un bouton pour rajouter dynamiquement (Javascript ou bien PHP) des champs texte dans ton formulaire avec une notation tableau pour l'attribut name.

Eléphant du PHP | 71 Messages

20 févr. 2012, 16:44

Ok j'ai compris l'objectif mais comment ca se fais ???

ViPHP
xTG
ViPHP | 7331 Messages

20 févr. 2012, 17:33

Voici une solution parmi d'autres : http://www.editeurjavascript.com/script ... _3_653.php

Eléphant du PHP | 71 Messages

22 févr. 2012, 10:10

Non c pas ca mon probleme,
Mon problème consiste à comment insérer dans ma table, et dans un seul champ "articles" plusieurs valeurs (les valeurs des textearea qui seront remplis par l'utilisateur)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

22 févr. 2012, 10:24

salut

tu peux simplement concaténer les champs en php puis insérer.

ceci dit, j'ai du mal à suivre ta démarche, et j'ai l'impression qu'il s'agit plutôt d'une problème de conception que de réalisation au final :)

si l'on avait une description de la base (MDC / MPD + ce que tu veux en faire) peux être pourrait on mieux t'aider.

en général insérer plusieurs dans une seul est un problème de conception.
de même qu'avoir plusieurs tuples avec des infos qui se répètent, comme semble l'indiqué la structure de ton 1er message.
id, demandeur, objectif, titre_projet, articles, quantites, caracteristiques, date.

la devrait y avoir au moins deux tables je pense (après sans savoir a quoi ça sert et comment tu vois la chose c'est une spéculation).

pour info c'est une mauvaise idée que d'utiliser le mot date comme nom de champ étant donné qu'il s'agit d'un mot clef SQL.
De plus pour la compréhension il est très souvent plus indiqué de donner un nom plus parlant (dateAchat, dateDebut, dateEpreuve etc etc).

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 71 Messages

22 févr. 2012, 10:41

Merci pour tes idées, ca m'aide bcp,

j'explique de nouveau, mon projet consiste à faire une demande d'achat en ligne, qui est un tableau de 4 colonnes : id, Articles, quantités et caractéristiques.
et chaque colonnes de de ce tableau contiennent plusieurs lignes cad article1, article2, ....

De même j'ai ma table demandes où je dois insérer mes données,
J'arrive pas à comprendre comment je peux inserer plusieurs valeurs (qui sont par exemples les articles article1, article2,.. ) dans un même champ de ma table qui est "articles"

RQ :
Je pense que je ne peux pas utiliser la concaténation, car je vais faire exportation de mes données vers excel après cette étape .

voici mon code qui n'est pas complet pour vous aider :
<?php 

 if (isset($_POST['Submit'])) 
{

$dem=$_POST['demandeur'];

if($dem=='ad')
  {
   $d='Administration';
  }
 else if ($dem=='pf')
  {
   $d='Plate Forme';
  }
 else if ($dem=='lsba')
  {
   $d='LSBA';
  }
 else if ($dem=='lpmp')
  {
   $d='LPMP';
  }
 else if ($dem=='lpe')
  {
   $d='LPE';
  }
 else if ($dem=='ll')
  {
   $d='LL';
  }


$obj=$_POST['objectif'];
$tit=$_POST['titreprojet'];



include 'connexion.php';

 $requet="SELECT * FROM demandes";
 $resultt = mysql_query($requet) or exit(mysql_error().'Echec');
 
  
 
        
$requete = "INSERT INTO demandes(demandeur,objectif,titre_projet) 
       VALUES('$d','$obj','$tit')";
 $result = mysql_query($requete) or exit(mysql_error().'Echec');

 ?> 
 
 <script language="javascript"> 
alert('Votre demande d''achat a été bien enregistrée! ');
 </script>
 
 <?php 

 }//Submit

?>

ViPHP
xTG
ViPHP | 7331 Messages

22 févr. 2012, 12:02

Il faut une table de jointure pour lister les articles.
Un truc du genre en deux colonnes : id_article, id_commande

Eléphant du PHP | 71 Messages

22 févr. 2012, 12:14

et est ce que c possible de faire une jointure entre 2 tables en Mysql et php ????

ViPHP
xTG
ViPHP | 7331 Messages

22 févr. 2012, 14:21

Je suis pas sûr que tu ais compris ce que je disais.
Pour les jointures cela se fait en SQL : http://sqlpro.developpez.com/cours/sqlaz/jointures/

Eléphant du PHP | 71 Messages

23 févr. 2012, 16:44

J'ai trouver une autre solution c'est la concaténation en utilisant la fonction implode(), et ca marche bien, j'ai arrivé à insérer dans ma table mes données.