Pb: Tableau dynamique avec zones de saisies
sensei
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Bonjour à tous,
Voila, j'aimerai savoir comment creer un tableau dymanique (dont le nB de ligne varie selon la requete) ayant a la fin de chaque ligne (chaque enregistrement) un zone de saisie exploitable pour une insertion dans la base de donnéé.
Ex:
| nom.....................| Nb exemplaire vendu
_________________________________
| Devil May Cry..........| (zone de saisie)
_________________________________
| Assassin's Creed.......|(zone de saisie)
_________________________________
enregistrement suivant.| ...
[Enregistrer] [Annuler]
Merci
Voila, j'aimerai savoir comment creer un tableau dymanique (dont le nB de ligne varie selon la requete) ayant a la fin de chaque ligne (chaque enregistrement) un zone de saisie exploitable pour une insertion dans la base de donnéé.
Ex:
| nom.....................| Nb exemplaire vendu
_________________________________
| Devil May Cry..........| (zone de saisie)
_________________________________
| Assassin's Creed.......|(zone de saisie)
_________________________________
enregistrement suivant.| ...
[Enregistrer] [Annuler]
Merci
5 réponses
Essayes ça:
<html>
<?php
mysql_connect("host","login","pass") or die ("Pb connexion serveur ".mysql_error()); //tu remplaces par tes codes
mysql_select_db("ta_base")or die ("Pb selection base ".mysql_error());
$req="SELECT * FROM ta_table";
$reponse=mysql_query($req) or die ("Pb requette ".mysql_error());
mysql_close();
?>
<form name="ma_form" method="post" action="script_a_appeler.php">
<table border="1">
<tr><th>Nom</th><th>Nbr exempl vendus</th></tr>
<?php
while($donnees=mysql_fetch_array($reponse)){
//on va remplir le tableau TU REMPLACES champ_nom par le nom exact du champ de ta table correspondant au champ contenant les noms
// et il te faut si tu peux modifier ta table avoir un champ id (INT auto increment Primary Key)
echo "<tr><td>$donnees['champ_nom']</td><td><input type=\"text\" name=\"$donnees['id']\" value=\"\"></td></tr>";
}
?>
<input type="submit" name="enregistrer" value="Enregistrer">
</table>
</form>
</html>
J'ai essayé de faire comme ca mais comment faire pour les recupérer ou simple les afficher dans la page vers laquelle on envoi ?
cible.php
$req="select id from table ;
$result=mysql_query($req) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
while ($ligne1=mysql_fetch_object($result))
{
$noid=$ligne1->id;
echo $_POST['noid']; //affiche la varaible POST ayant pour nom le numero d'id
}
A savoir ce code ne marche pas...
cible.php
$req="select id from table ;
$result=mysql_query($req) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
while ($ligne1=mysql_fetch_object($result))
{
$noid=$ligne1->id;
echo $_POST['noid']; //affiche la varaible POST ayant pour nom le numero d'id
}
A savoir ce code ne marche pas...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Moi je ne connais pas trop avec la methode objet
mais dans le fichier cible tu peux récupérer par une boucle:
mais dans le fichier cible tu peux récupérer par une boucle:
<?php
if(isset(['enregistrer']){ //si le fromulaire a été posté
// connexion à la base
mysql_connect("host","login","pass") or die ("Pb connexion serveur ".mysql_error()); //tu remplaces par tes codes
mysql_select_db("ta_base")or die ("Pb selection base ".mysql_error());
//on parcours l'array $_POST
$n=0;
foreach($_POST as $champ=>$value){
if($champ != 'enregistrer'){// on élimine le post du bouton
echo "Valeur du champ ayant pour id ".$champ." : ".$value."<br>";// visualaistion
//et pour le rentrer dans la BDD
$req="UPDATE ta_table SET champ_quantite='".$value."' WHERE id='".$champ."'";
$reponse=mysql_query($req) or die ("Pb requette ".mysql_error());
if($reponse) $n++; //si ça a marché on incrémente le compteur
}
}
mysql_close();
if($n>0){
echo "<b>$n</b> enregistrements ont été faits dans la base !";
}else{
echo "Aucun enregistrement fait dans la base !";
}
}
?>