Page 1 sur 1

récupérer le contenu d'un tableau HTML en php?

Posté : 23 juin 2008, 17:14
par donia
bonjour
je n'arrive pas à récupérer le contenu d'un tableau HTML dans un prog en PHP. est-ce que c'est possible?

ce que je voudrais faire:
je rempli un tableau HTML avec le contenu d'un fichier.
dans le tableau, tous les champs sont modifiables.
une fois qu'on a terminé les modifs, on clique sur "mettre à jour les données" et je met à jour les donnés de mon fichier de départ.

pour faire ça, j'ai créé un formulaire qui appelle le pgm de mise à jour sur submit.
mais impossible de récupérer le contenu de mon tableau...

comment faire?
merci de votre aide,
donia, galérienne débutante en PHP

Posté : 23 juin 2008, 18:06
par zeus
Pour que nous puissions t'aider, il nous faudrait au moins le code de ton tableau HTML.

Parce que là, on ne pourra pas faire grand chose pour toi ;)

Posté : 23 juin 2008, 18:56
par sadeq
Bien sur que tu peux récupérer le contenu de ta table HTML mais du moins des champs modifiables qui se trouvent dans ses cellules. La seule condition pour que PHP reçoive toutes les cellules modifiées sous forme de tableau, est de leur donner le même name HTML de champ de formulaire. Comme la forme suivante :

Code : Tout sélectionner

<champ_de_formulaire ... name="nom_table[x][y]" ... />
où:
champ_de_formulaire peut être une balise input, select, textarea, etc... (tout champ de formulaire possible)
nom_table est le nom du tableau à transmettre à PHP
x et y sont les numéros ligne/colonne coordonnées de la cellule

PHP récupère la table ainsi nommée par un GET ou POST par l'affectation suivante :
$nom_table = $_GET["nom_table"];
ou 
$nom_table = $_POST["nom_table"];
Voici un exemple d'une table de 2 colonnes et 2 lignes:
<?php
//Traiter l'envoi du formulaire HTML
if ($_GET["valider"]){
	//Recevoir les données de la table
	$table = $_GET["table"];
	
	//Traitement : afficher le contenu de la table, par exemple.
	echo "<pre>"; print_r($table); echo "</pre>";
}
?>
<form name="form1" method="get">
<table>
<tr>
<td><input type="text" name="table[0][0]" value="<?php echo $table[0][0]; ?>" /></td>
<td><input type="text" name="table[0][1]" value="<?php echo $table[0][1]; ?>" /></td>
</tr>
<tr>
<td><input type="text" name="table[1][0]" value="<?php echo $table[1][0]; ?>" /></td>
<td><input type="text" name="table[1][1]" value="<?php echo $table[1][1]; ?>" /></td>
</tr>
</table>
<input type="submit" name="valider" value="Valider" />
</form>