Recup donné dans un tableau htmlgénéré en php

Fermé
sandrasch Messages postés 27 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 février 2008 - 24 janv. 2008 à 12:00
sandrasch Messages postés 27 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 février 2008 - 29 janv. 2008 à 13:39
Bonjour,

je réalise un petit formulaire permettant de choisir quel produit on veut et en quel quantité. laliste du matériel est dans une base de donnée comprenant Id, Thémes, Designations, Caracteristiques.

j'ai donc crere mon tableau de la façon suivante:
include("connection.php");
$requete = "select Themes, Designations, Caracteristiques from fournitures order by Themes;";
$result = mysql_query($requete);

if (!$result) {
echo "Une erreur est survenue.\n";
exit;
}

$numligne = mysql_num_rows($result);
$numcol = mysql_num_fields($result);

for ($i=0;$i<$numcol;$i++) {
$tab_nom_col[$i] = mysql_field_name($result,$i);
}

for ( $i=0; $i<$numligne; $i++ ) {
$tab_ligne[$i] = mysql_fetch_row( $result );
}

mysql_close($conn);

//creation d'un tableau
print("<table align='center' border=1px>\n");
print("<tr>\n");

for($i=0;$i<$numcol;$i++){
print ("<th>$tab_nom_col[$i]</th>\n");
}
print("<td> Quantité </td>");
print("</tr>\n");

for ($i=0; $i<$numligne; $i++) {
print("<tr>\n");

foreach($tab_ligne[$i] as $col){
if (!$col) { $col=" "; }
print("<td>$col</td>\n");
}
print("<td> <INPUT type='text' value='' name='qte[]' size='5'> </td></tr>\n");
}
print("<tr> \n");
print("<td colspan=4 align='center'> <INPUT type='submit' value='Validez' name='validez'> </td> " );
print("</tr>");
print("</table>");
print("</form>");
?>
Mon problème est pour récupérer les les quantités saisies.
j'ai fais plusieurs essais mais rien a aboutis.

Si vous pouvez m'aider merci.

11 réponses

Bonjour

As-tu essayé de mettre un <FORM method="POST"> au début de ton formulaire ? Il n'y en a pas ici !
0
sandrasch Messages postés 27 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 février 2008 2
25 janv. 2008 à 09:15
Oui j'ai mis le <FORM method="POST"> mais il est plus haut car avant je récupere déja le nom du service et de l'utilisateru et sa sa marche. Il y a que pour le récupération des quantité dans mon tableau que je n'y arrive pas.
Mais merci d'avoir repondu.
0
Bonjour

Comme le formulaire a l'air correct, ça doit être du côté de la récupération des informations. Peux-tu montrer le script ?
0
sandrasch Messages postés 27 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 février 2008 2
25 janv. 2008 à 10:50
bonjour,
voila le srcipt et c'est la que je sais plus. Car ceux-ci ne marche pas.

<?php
$nom=$_POST['user'];
print("$nom");

include("connection.php");
$requete = "select Id from fournitures;";
$result = mysql_query($requete);
$numligne = mysql_num_rows($result);
for ($i=1; $i<=$numligne; $i++) {
$qte = $_POST['qte'].$i;
print("$qte");
}
?>


je recupère bien le nom.
et après ça m'affiche Array1Array2.............autant de fois ke de ligne.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Re-

Normal que ça t'affiche Array1Array2 etc
$_POST['qte'] est un tableau. Quand tu fais echo $_POST['qte'],ça affiche donc 'Array'.
Ensuite, avec le '.$i' tu te contentes d'afficher la valeur de $i

ça devrait mieux marcher avec:

<?php
$nom=$_POST['user'];
print("$nom");

if (isset($_POST['qte'])) {
foreach ($_POST['qte'] as $quantite) {
echo $quantite,'<BR>'
}
}
?>

Mais j'ai bien peur que tu aies perdu la relation entre les quantités et les articles en passant du formulaire à la récupération
0
sandrasch Messages postés 27 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 février 2008 2
25 janv. 2008 à 11:19
Oui merci, et tu a raison j'ai perdu ma relation entre les quantité et les articles faut que le la retrouve .
0
sandrasch Messages postés 27 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 février 2008 2
25 janv. 2008 à 11:36
si vous avez des idées pour établir la relation entre la fourniture et la quantité je suis preneuse. Merci
0
Pour garder la relation, il faut qu'elle existe dans le formulaire, et actuellement elle n'esiste pas.
Je suppose que ta table initiale (caracteristiques) a comme clé primaire un compteur autoincrémenté. Sinon, Ce serait une bonne chose d'en rajouter une.
Tu utilises cette clé primaire dans la génération du formulaire pour crééer des champs de saisie qte['xxx'] avec ta clé en xxx

A la récupération du formulaire, tu as la clé associée aux quantités saisies.
0
sandrasch Messages postés 27 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 février 2008 2
25 janv. 2008 à 11:49
merci
c'est ce que je suis entrain d'essayé.
0
sandrasch Messages postés 27 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 février 2008 2
28 janv. 2008 à 09:36
bonjour, après plusieurs tentatives je n'arrive pas a crééer ma relation entre l'id des fournitures et la quantité.
dans ma table fourniture il y a Id, Themes, Designations, Caracteristiques.

je vous remet mon code entier:
formulaire.php
<html>
<head>
<title> Formulaire </title>
</head>

<body>

<form method='post' action='tableauRecap.php'>
<body >

<table>
<tr align='left'>
<td>Date</td>
<td> <INPUT type='text' value='' name='date'></td>
<td>Service</td>
<td><INPUT type='text' value='' name='service'></td>
<td>Utilisateur</td>
<td><INPUT type='text' value='' name='user'></td>
</tr>
</table>
<?php
print("<h1 align='center'> Liste des Fournitures </h1>");


include("connection.php");
$requete = "select Id, Themes, Designations, Caracteristiques from fournitures order by Themes, Designations;";
$result = mysql_query($requete);

if (!$result) {
echo "Une erreur est survenue.\n";
exit;
}

$numligne = mysql_num_rows($result);
$numcol = mysql_num_fields($result);

for ($i=0;$i<$numcol;$i++) {
$tab_nom_col[$i] = mysql_field_name($result,$i);
}

for ( $i=0; $i<$numligne; $i++ ) {
$tab_ligne[$i] = mysql_fetch_row( $result );
}


mysql_close($conn);

//creation d'un tableau
print("<table align='center' border=1px>\n");
print("<tr>\n");

for($i=0;$i<$numcol;$i++){
print ("<th>$tab_nom_col[$i]</th>\n");
}
print("<td> Quantité </td>");
print("</tr>\n");

for ($i=0; $i<$numligne; $i++) {
print("<tr>\n");

foreach($tab_ligne[$i] as $col){
if (!$col) { $col=" "; }
print("<td>$col</td>\n");
}
print("<td> <INPUT type='text' value='' name='qte[]' size='5'> </td></tr>\n");
}
print("<tr> \n");
print("<td colspan=4 align='center'> <INPUT type='submit' value='Validez' name='validez'> </td> " );
print("</tr>");
print("</table>");
print("</form>");
?>

</body>

</html>

et voici mon fichier de recupération:
<?php
$nom=$_POST['user'];
print("$nom");


if (isset($_POST['qte'])) {
foreach ($_POST['qte'] as $quantite) {
echo $quantite ;
echo '<br>';
}
}
?>


si vous avez des idées merci de m'aider
0
sandrasch Messages postés 27 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 février 2008 2
29 janv. 2008 à 13:39
es ce que quelqu'un pourrai m'aidé s'il vous plait. la je bloque
0