Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1844 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Comment faire pour lire un tableau $_POST['quartier']

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment faire pour lire un tableau $_POST['quartier']

n°1167983
weed
Posté le 02-08-2005 à 15:32:56  profilanswer
 

voilou j'envoie mes données via un tableau :
 

echo "<FORM name='monform' action='update_estimation.php' method='post'>
 <table>
 ";
   
 $i=0;
 while ($list = mysql_fetch_object($req))
 {
 $i=$i+1;
 
 echo "<tr>
  <td><INPUT type='text' name='quartier[$i]' value='$list->quartier' maxlength='50' size='50'></td>
  <td><input type='text' name='prix12[$i]'   value='$list->prix12'   maxlength='20' size='20'></td>
  <td><input type='text' name='prix34[$i]'   value='$list->prix12'   maxlength='20' size='20'></td>
  <td><input type='text' name='prix5[$i]'    value='$list->prix5'    maxlength='20' size='20'></td>
   </tr>";
 }
 echo "
 <table>
 <INPUT type='submit' value='Envoyer'>
 </form>
 </body></html>
 ";


 
mais comment puis je faire pour les lire ?
 
à l'époques du bon vieux temps, ils suffisiat de faire quartier[$i], mais maintenant qu'il y a $POST  :( devant, je ne suis plus quoi faire.
 
j'ai essayer :
$_POST['quartier[$i]']  
$_POST[$i]['quartier']  
 
mais cela ne marche pas

mood
Publicité
Posté le 02-08-2005 à 15:32:56  profilanswer
 

n°1167986
afbilou
pouet your life
Posté le 02-08-2005 à 15:34:58  profilanswer
 

il faut utiliser name='quartier[]' dans ton formulaire.

n°1168008
weed
Posté le 02-08-2005 à 15:49:01  profilanswer
 

oki, c'est ce que j'ai fais, mais apres comment je recupere les données ?
 
$_POST['quartier[]]'ne marche pas

n°1168022
j_lecruel
☀ ☁ ☂
Posté le 02-08-2005 à 15:53:06  profilanswer
 

$_POST['quartier'][$i]

n°1168026
bl@p_psx
Admin G15-france
Posté le 02-08-2005 à 15:56:07  profilanswer
 

le nom final de tes champ est donc "quartier1", "quartier2" ...
 
Tu accedes donc à ses valeurs par :
 
si tu es dans une boucle avec $i comme variable

Code :
  1. $_POST['quartier'.$i]


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
n°1168031
bl@p_psx
Admin G15-france
Posté le 02-08-2005 à 15:57:37  profilanswer
 

j_lecruel a écrit :

$_POST['quartier'][$i]


 
bein non, puisqu'il change le nom du champ, donc le nom dans le tableau $_POST ... ca ne vas pas creer de sous tableau, à moin d'utiliser comme nom de champ resultat[] par exemple ( enfin, ca fonctionne avec les files, j'ai pas tester avec les champs text )
 
@+


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
n°1168040
weed
Posté le 02-08-2005 à 16:04:48  profilanswer
 

bl@p_psx a écrit :

bein non, puisqu'il change le nom du champ, donc le nom dans le tableau $_POST ... ca ne vas pas creer de sous tableau, à moin d'utiliser comme nom de champ resultat[] par exemple ( enfin, ca fonctionne avec les files, j'ai pas tester avec les champs text )
 
@+


la solution de j_lecruel fonctionne, la tienne ne fonctionne pas. Apparrement donc c'est un tableau et non pas une variable portant des noms differents.

n°1168042
j_lecruel
☀ ☁ ☂
Posté le 02-08-2005 à 16:06:12  profilanswer
 

Eh bien... le nom de son champ est quartier[$i]. Après validation du formulaire $quartier sera donc un tableau...

n°1168043
weed
Posté le 02-08-2005 à 16:06:15  profilanswer
 

je n'arrive pas à comprendre on ne peux pas forcer les champs en envoyant  
name='quartier[$i]' et non pas quartier[], c'est vraiment bizzare.

n°1168066
bl@p_psx
Admin G15-france
Posté le 02-08-2005 à 16:30:32  profilanswer
 

j_lecruel a écrit :

Eh bien... le nom de son champ est quartier[$i]. Après validation du formulaire $quartier sera donc un tableau...


 
 
suis trop nul !  
 
en effet, echo "quartier[$i];" devient quartier[1] ...
 
bref, j'avais tord, mille excuses ...  :sleep:  
 
en passant, en mettant quartier[] comme nom de champ, ca doit avoir le meme impact, ormis le fait qu'on ne controle pas le numeros du champ de façon manuelle.
 
 
D'autre part, si tu veux forcer le nom du champ, et ne pas avoir de tableau multidimentionnel, tu dois concatener ta variable $i avec quartier ...

Code :
  1. name='quartier".$i."'


 
et là, tu accedes aux valeurs par
 

Code :
  1. $_POST['quartier1']


ou

Code :
  1. $_POST['quartier'.$i]


si tu es dans une autre boucle
 
@+


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
mood
Publicité
Posté le 02-08-2005 à 16:30:32  profilanswer
 

n°1168749
M Orthogra​phe
Posté le 03-08-2005 à 12:10:44  profilanswer
 

weed a écrit :

[...]mais comment puis je faire [...]à l'époques [...], ils suffisiat de faire quartier[$i], [...]je ne suis plus quoi faire. [...]j'ai essayer :


 
Mais comment puis-je // à l'époque // il suffisait // je ne sais plus quoi faire // j'ai essayé
...

n°1168830
bl@p_psx
Admin G15-france
Posté le 03-08-2005 à 13:25:54  profilanswer
 

tu commences vraiment à être saoulant .... tu pourais stopper maintenant ?


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
n°1168842
fgiuliano
Posté le 03-08-2005 à 13:32:35  profilanswer
 

bl@p_psx a écrit :

tu commences vraiment à être saoulant .... tu pourais stopper maintenant ?


 
Tout à fait d'accord! Je ne sais pas ce que tu fais sur ce forum si tu n'arrives qu'à critiquer les personnes qui demandent de l'aide et qui n'ont pas besoin, en plus, de perdre du temps avec tes bêtises...

n°1168848
bl@p_psx
Admin G15-france
Posté le 03-08-2005 à 13:35:44  profilanswer
 

j'ajouterais même .... et puis non ... motivation perdue ...


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
n°1169068
el_gaucho
Posté le 03-08-2005 à 16:33:54  profilanswer
 

au passage :
 
pourquoi :
 
[code]
$i=0
while.... {
$i=$i+1;
code....
}
et non un  
$i=1;
while ... {
code ...
$i++;
}
???
$i++ est quand même plus propre que $i=$i+1, meme si apres tu le places comme ca te chante ;) :)

n°1169205
weed
Posté le 03-08-2005 à 18:07:04  profilanswer
 

oula, j'ai fais quelques fautes, j'essaie justement de ne pas écrire en sms, mais ce n'etait pas jolie.
bl@p_psx, merci pour avoir pris ma défense.  :jap:  
 
 
el_gaucho, et bien en effet tu as tout a fais raison dans ta démarche, parce que cela evite des le premier 'cout', l'affectatio, alors qu'il vaudrait mieux en effet bien choisir la valeur initial de départ de la variable et apres éxécuter le code ....
 
pourquoi je ne fais pas $i++, et bien   :whistle: parce que je pensais pas que cette notation fonctionnait sous php. Par féniantise, je n'avais pas testé.


Message édité par weed le 03-08-2005 à 18:07:36
n°1170063
el_gaucho
Posté le 04-08-2005 à 17:20:54  profilanswer
 

weed a écrit :


pourquoi je ne fais pas $i++, et bien   :whistle: parce que je pensais pas que cette notation fonctionnait sous php. Par féniantise, je n'avais pas testé.


 
 :D  :lol:  

n°2135321
jahniclem
Posté le 07-04-2012 à 17:27:43  profilanswer
 

Bonjour à tous !
 
j'ai pu parcourir cette discussion et elle semble toucher à mon problème, mais je n'arrive pas à le régler...
 
Dans un formulaire php, je demande à quelqu'un de choisir un champ "oui ou non" en bouton radio. Pour cela je passe par une liste array. Ensuite, j'essaye d'envoyer vers une base SQL, mais je n'ai que des chiffres (ma value est un id+1, utilisé pour m'envoyer un mail de confirmation avec les infos. Ca marche, je reçois bien le choix en texte "oui" ou "non)
 
le code :
 
/* création de la liste */
 
$list['assurance']=array(" Oui", " Non" );
 
/* vérification erreur, si aucun bouton n'a été coché */
 
if($assurance=="" ){
  $erreur.="<li><span class='txterror'>Le champ &laquo; Assurance &raquo; n'a pas été défini.</span>";
  $errassurance=1;
 }  
 
/* envoi de l'email /*
 
...
$corps.="Assurance : ".$list['assurance'][$assurance]."\n";
...
 
/* récupération des données du formulaire /*
$assurance=$_POST['assurance'];
 
/* envoi vers la base SQL /*
 
$query = "INSERT INTO $table (assurance) VALUES (\"$assurance\" )
$resultat = mysql_query($query)
 or die("L'insertion a echouée car ". mysql_error() ."." );  
 
/* Formulaire */
<fieldset>
<legend>Assurance</legend>
<label for="assurance">Je possède une assurance RC & accident*</label>
<table border='0' cellspacing='5' cellpadding='0'>
<? for($id=0;$id<count($list['assurance']);$id++){
if($id==$assurance){$ct="";}
print("<tr><td><input ".$ct." type='radio' name='assurance' value=".$id." border='0'></td><td>".$list[assurance][$id]."</td></tr>" );
unset($ct);
}?></table>
</fieldset>
</form>
<? } ?>
 
 
Des idées de la formule POST pour récupérer la même donnée que celle envoyée par email ? Car en SQL je reçois la valeur et par email j'arrive à avoir le texte ?
 
P.S : j'ai le même problème avec les checkbox et les menu déroulants... ^^
 
Merci d'avance


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Comment faire pour lire un tableau $_POST['quartier']

 

Sujets relatifs
[php] [RESOLU] probleme de tableaucast vers un pointeur sur tableau
Creation d'un tableau avec données issues de BDD AccessUn tableau en haut à gauche d'un tableau
[RESOLU] Recherche d'un string dans un tableau [debutant] enumeration et tableau de String
Entête de tableau fixe sous IEMethod POST en JS
Comment lire un fichier en mode binaire octet par octet ?[HTML] alignement cellules d'un tableau.
Plus de sujets relatifs à : Comment faire pour lire un tableau $_POST['quartier']


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR