Pb: Tableau dynamique avec zones de saisies

Fermé
sensei - 4 févr. 2008 à 14:23
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 5 févr. 2008 à 16:20
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

5 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
5 févr. 2008 à 10:19
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>
1
phil_232 Messages postés 286 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 12 juin 2008 33
4 févr. 2008 à 20:05
et ce serait dans quel langage ?
0
En php pardon ,j'ai oublié de le dire.
0
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...
0

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

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
5 févr. 2008 à 16:20
Moi je ne connais pas trop avec la methode objet

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 &eacute;t&eacute; faits dans la base !";
	}else{
		echo "Aucun enregistrement fait dans la base !";
	}
}

?>
0