Récupérer plusieurs champs texte

Répondre
caporga
le 04/03/2009 à 15:24
caporga
Bonjour la communauté et salut la globule,
ça fait un petit moment que je suis pas passé vous voir, et me revoilà avec un problème.

Je cherche à récupérer les champs texte dynamique du code ci-dessous pour updader ma base pour chaque champs..

voici le code
merci

<? $query_dossier = "SELECT* FROM ".PREFIXE."dossier ORDER BY rank ASC, nom";
$Recordset_dossier = mysql_query($query_dossier, $connexion) or die(mysql_error());

while($row_Recordset_dossier = mysql_fetch_assoc($Recordset_dossier))
{ ?>
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="25%"><? echo "".$row_Recordset_dossier['nom']."";?></td>
<td width="75%">
<input name="<? echo "".$row_Recordset_dossier['nom_url']."";?>" type="text" class="cadre" id="<? echo "".$row_Recordset_dossier['nom']."";?>" value="<? echo "".$row_Recordset_dossier['rank']."";?>" size="4" maxlength="3" />
</td>
</tr>
</table>
<? } ?>
caporga
LA GLOBULE
le 04/03/2009 à 18:11
LA GLOBULE
Tu n'as pas 36 solutions :
- soit tu utilises un nom de tableau (comme pour les checkbox) pour récupérer les valeurs de tes input text
- soit tu utilises des variables dynamiques (il y a un exemple dans le cours sur le même sujet je crois)
caporga
le 05/03/2009 à 09:07
caporga
merci bien la globule, je vais voir tes cours.

c'est bien la première fois qu je suis autant largué ^^
caporga
caporga
le 05/03/2009 à 12:11
caporga
Non, j'y arrive pas, je n'arrive même pas à créer le tableau de je souhaite.

array (
$row_Recordset_dossier['nom_url'] =>$_POST['ordre']
)


voir code

please aide moi la globule
<? 	$query_dossier = "SELECT* FROM ".PREFIXE."dossier WHERE sous_dossier='".$_POST['select']."' ORDER BY nom, rank ASC";
$Recordset_dossier = mysql_query($query_dossier, $connexion) or die(mysql_error());
while ($row_Recordset_dossier = mysql_fetch_assoc($Recordset_dossier))
{ ?>
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="200"><label for="<? echo "".$row_Recordset_dossier['nom']."" ?>"><? echo "".$row_Recordset_dossier['nom']."" ?></label></td>
<td><input name="ordre" type="text" class="cadre" value="<? echo "".$row_Recordset_dossier['rank']."" ?>" size="6" maxlength="6" /></td>
</tr>
</table>
<? } ?>
caporga
LA GLOBULE
le 05/03/2009 à 12:26
LA GLOBULE
Ton problème, c'est de récupérer la valeur des champs texte ?
Pour cela, tu dois leur donner un name différent, sinon, ils vont s'écraser.

Ce que tu peux faire aussi, c'est de faire un input hidden contenant le nombre de champ text à récupérer (exemple : 6).
Ensuite, tu nommes tes champs textes avec un genre d'auto_increment : name = "toto_<?php echo $i ;?>" (en bouclant sur $i).

Dans la validation tu formulaires, tu sais que tu as 6 textes à valider. Tu peux les tester avec $_POST['toto_'.$i] (en bouclant sur $i).
caporga
le 05/03/2009 à 13:06
caporga
C'est tout a fait mon problème, récupérer le texte.. je pars dans cette direction, je te remercie, comme à mon habitude, dès que j'ai la solution je la post.

merci la globule
caporga
caporga
le 05/03/2009 à 14:19
caporga
Crois y !!! c'est fait... encore merci la gobule tu m'as permi de trouver la solution...

Voici la solution, enfin la mienne !!! mais qui marche plutôt bien !!!

<form id="form1" name="form1" method="post" action="ordonner.php">
<fieldset class="orga">
<legend class="orga"> Organisation de la rubrique <font color="#FF9900">
<? if ($_POST['select']==""){} else{ $_SESSION['select']=$_POST['select']; }
echo "".$_POST['select']."" ?></font> </legend>
<? $query_dossier = "SELECT* FROM ".PREFIXE."dossier WHERE sous_dossier='". $_SESSION['select']."' ORDER BY rank ASC";
$Recordset_dossier = mysql_query($query_dossier, $connexion) or die(mysql_error());
while ($row_Recordset_dossier = mysql_fetch_assoc($Recordset_dossier))
{ ?>
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="200"><label for="<? echo "".$row_Recordset_dossier['nom']."" ?>"><? echo "".$row_Recordset_dossier['nom']."" ?></label></td>
<td><input name="<? echo "".$row_Recordset_dossier['nom_url']."" ?>" type="text" class="cadre" value="<? echo "".$row_Recordset_dossier['rank']."" ?>" size="6" maxlength="6" /></td>
</tr>
</table>
<? } ?>
<input name="" type="submit" />
</fieldset>
</form>


Code permettant de récupérer tous les inputs

<?
$query_dossier2 = "SELECT* FROM ".PREFIXE."dossier WHERE sous_dossier='". $_SESSION['select']."' ORDER BY nom, rank ASC";
$Recordset_dossier2 = mysql_query($query_dossier2, $connexion) or die(mysql_error());
while ($row_Recordset_dossier2 = mysql_fetch_assoc($Recordset_dossier2))
{
$moi=$row_Recordset_dossier2['nom_url'];
echo "".$row_Recordset_dossier2['nom_url']." >".$_POST[$moi]."<br />";
}
?>
caporga
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours