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

donia
Invité n'ayant pas de compte PHPfrance

23 juin 2008, 17:14

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

23 juin 2008, 18:06

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 ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

23 juin 2008, 18:56

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>
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène