Pb tres complexe (enfin pour moi)

Pb tres complexe (enfin pour moi) - PHP - Programmation

Marsh Posté le 14-10-2002 à 18:39:10    

Si ça se trouve c tout con.
 
voila, j'ai un formulaire qui envoie les variables $user_1, $user_2, $user_3, ..., $user_x
 
etant donné que le nbre d'utilisateur change, x change aussi.
 
Sur la page qui reçoit les donnée, je définit $n = x et $i = 1
 
Prenons pour exemple 6 utilisateurs.
 
Je définis donc $n = 7   et   $i = 1
 
comment faire pour creer une boucle du genre :
 
while($i < $n) {
echo $user_x;    //(j'aimerais que x varie donc de 1 à 6)
$i++;
}
 
J'ai essayé plusieurs truc mais je n'y arrive pas
 
Parceke par exemple, si on met $user."_".$i il ne va pas afficher une variable "$user_1" mais il va concatener les données qui se trouve ds $user (qui n'existe pas) et $i ... resultat, il va afficher 1, 2, 3 ... 6
 
J'espere ke j'ai été assez clair, c dur a expliker
 
Merci


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 18:39:10   

Reply

Marsh Posté le 14-10-2002 à 18:42:25    

Dj YeLL a écrit a écrit :

 
J'espere ke j'ai été assez clair, c dur a expliker




 
En utilisant un langage commun (au pif, le français) ca devient beaucoup plus simple de se faire comprendre.  
 
A part ca, les tableaux, c'est bien.

Reply

Marsh Posté le 14-10-2002 à 18:42:59    

lorill a écrit a écrit :

 
 
En utilisant un langage commun (au pif, le français) ca devient beaucoup plus simple de se faire comprendre.  
 
A part ca, les tableaux, c'est bien.




 
 :??:


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 18:43:02    

le plus simple est d'utiliser un tableau dans lequel tu auras tes users.
partie html :

Code :
  1. <input type="text" name="user[]">
  2. <input type="text" name="user[]">
  3. <input type="text" name="user[]">
  4. ...


 
partie php:

Code :
  1. for ($i=0, $n=count($user); $i<$n ; $i++){
  2. echo $user[$i];
  3. }


Message édité par ethernal le 14-10-2002 à 18:48:08

---------------
...oups kernel error...
Reply

Marsh Posté le 14-10-2002 à 18:43:28    

Je devrais peut etre rererererepréciser que je suis débutant en php :)


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 18:44:19    

ethernal a écrit a écrit :

le plus simple est d'utiliser un tableau dans lequel tu auras tes users.
partie html :

Code :
  1. <input type="text" name="user[]">


 
partie php:

Code :
  1. for ($i=0, $n=count($user); $i<$n ; $i++){
  2. echo $user[$i];
  3. }






 
 
Ahhh, voila du concret. Merci bcp !!
 
Lorill> Merci quand même :)


Message édité par Dj YeLL le 14-10-2002 à 18:49:06

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 18:47:46    

de rien ;)
 
si tu veux écrire des trucs plus illisibles et moins modulable :
partie html:

Code :
  1. <input type="text" name="user1">
  2. <input type="text" name="user2">
  3. ...
  4. <input type="text" name="user6">


 
partie php:

Code :
  1. for ($i=1; $i<7 ; $i++){
  2.   $var= "$user$i";
  3.   echo $$var;
  4. }


---------------
...oups kernel error...
Reply

Marsh Posté le 14-10-2002 à 18:51:11    

Dj YeLL a écrit a écrit :

Je devrais peut etre rererererepréciser que je suis débutant en php :)




 
Pour moi c'est pas la peine, je suis au courant. Mais quand je vois un message "ekri kom sa" j'ai pas envie de répondre.
 
Au fait, je connais pas PHP :D

Reply

Marsh Posté le 14-10-2002 à 18:59:45    

lorill a écrit a écrit :

 
 
Pour moi c'est pas la peine, je suis au courant. Mais quand je vois un message "ekri kom sa" j'ai pas envie de répondre.
 
Au fait, je connais pas PHP :D




 
 
bon dakor jarère dekrire komme ça :D


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 19:00:43    

ethernal a écrit a écrit :

le plus simple est d'utiliser un tableau dans lequel tu auras tes users.
partie html :

Code :
  1. <input type="text" name="user[]">
  2. <input type="text" name="user[]">
  3. <input type="text" name="user[]">
  4. ...


 
partie php:

Code :
  1. for ($i=0, $n=count($user); $i<$n ; $i++){
  2. echo $user[$i];
  3. }






 
Tout les "input" ont le meme "name" ?


Message édité par Dj YeLL le 14-10-2002 à 19:01:21

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 19:00:43   

Reply

Marsh Posté le 14-10-2002 à 19:10:08    

Bon apparement oui. Donc si j'ai bien compris ... en mettant name="user[]" pour tous les input, toutes les données vont etre stockée à la suite les unes des autres ds la table user
 
puis le code php juste apres permet d'aller rechercher ses données les unes apres les autres...
 
par exemple si ensuite on fait

print $user[2];


il va nous afficher la 2eme entrée de la table user, c ça ?
 
et le count($user) sert à compter combien de valeur sont ds la table user, exact ?


Message édité par Dj YeLL le 14-10-2002 à 19:14:22

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 19:15:23    

Dj YeLL a écrit a écrit :

 
par exemple si ensuite on fait

print $user[2];


il va nous afficher la 2eme entrée de la table user, c ça ?




 
non, la 3eme. Les tableaux commencent a 0 comme dans l'écrasante majorité des langages.

Reply

Marsh Posté le 14-10-2002 à 19:19:43    

lorill a écrit a écrit :

 
 
non, la 3eme. Les tableaux commencent a 0 comme dans l'écrasante majorité des langages.




 
Ah ok, merci :) Mais ds l'ensemble c juste alors :)
 
 
Je comprends vite mais fo m'expliker lgtps :D
 
Enfin bon, je pense avoir fais de gros progres en tres peu de tps en PHP (en autodidacte en + :))
 
Bon et bien je vous remercie pour toutes ces précisions :)
 
P.S. Je reviendrais surement tres bientot avec un autre pb ! lol


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 19:40:43    

J'ai une autre question ...
 
Je n'utilise pas '<input type="text" name="user[]">' mais '<input type="checkbox" name="user[]" value="toto'.$z.'">'
 
$z est une variable qui augmente selon le nbre de users.
 
Ce que je voudrais savoir c'est :
 
Est-ce que si j'ai 3 checkbox, et que je coche la 1ere et la 3eme, est-ce que ds user[] il va mettre "toto1,toto3" ou va t'il mettre "toto1,,toto3" ?
 
En gros, est-ce qu'une checkbox non cochée envoie une valeur 0 ou n'envoie pas de valeur ...


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 19:47:53    

uniquement celles cochées envoient une valeur si je me souviens bien.


---------------
...oups kernel error...
Reply

Marsh Posté le 14-10-2002 à 19:51:58    

pffff ... tout pour me faire chier ... j'ai besoin de faire une comparaison entre les nom d'utilisateurs et les cases cochées ... donc si les cases non cochée ne revoie pas de valeur, au lieu d'avoir :
 


user1 ------- user2 ------- user3
cochée ------- 0 --------- cochée


 
je vais avoir  
 


user1 ------- user2 ------- user3
cochée ----- cochée ------ vide


 
M***e !! :D


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 19:57:49    

utilise plutot ça alors :

Code :
  1. echo '<input type="hidden" name="nbuser" value="'.$nbuser.'">';
  2. for ($i=0; $i<$nbuser; $i++){
  3.   echo '<input type="checkbox" name="user'.$i.'" value="1">';
  4. }


et récupère  

Code :
  1. for ($i=0; $i<$nbuser; $i++){
  2.   $var= "$user$i";
  3.   echo $$var;
  4. }


 
désolé pour toi :(


Message édité par ethernal le 14-10-2002 à 19:58:30

---------------
...oups kernel error...
Reply

Marsh Posté le 14-10-2002 à 20:43:57    

je peux pas faire ça, parceke tout est deja programmé sur ma 1ere page, en fait c pour faire un controle d'avatar, j'ai la liste des avatars utilisés par les membres avec pour chaque avatr une case à cocher (SUPPRIMER L'AVATAR) pour pouvoir supprimer les avatars porno ou gore par exemple ...
 
Mais c pas grave, au lieu de mettre une checkbox, je vais plutot mettre :
 
<input type="radio" name="delete[]" value="oui">
<input type="radio" name="delete[]" value="non">
 
euh ... au fur et à mesure que j'ecris je me rend compte que ça va pas aller non plus :cry:
 
Parceque pour chaque image, je vais avoir 2 boutons radio ... mais ils auront tous name="delete[]" ... donc je pourrais que cocher 1 seul bouton AU TOTAL ...
 
 
Je m'en sort plus la :( Comment faire pour mettre des valeurs de bouton radio dans une table ? tout en ayant plusieurs choix possible pour chaque categories ? :(


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 20:50:16    

Bon ben derniere solution ... je vais mettre 2 checkbox par image ...
 

  • Supprimer l'avatar
  • Garder l'avatar


avec toutes les cases "Garder l'avatar" cochées par défaut ...
 
ca sera pas top parcek'il faudra décocher une case et cocher l'autre mais bon ... tant pis, je vois pas comment faire autrement :(


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 20:58:56    

Il n'existe pas un moyen pour désactiver une checkbox en en cochant une autre ?


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 14-10-2002 à 22:03:10    

c'est le but des radio button, pas des checkbox.


---------------
...oups kernel error...
Reply

Marsh Posté le 16-10-2002 à 11:19:32    

Heu, pour les radio bouton, il me semble qu'il y a une propriété nomé value qui permet de définir la valeur qui sera renvoyé dans le formulaire.
En bref, dans ton table, tu auras "user1,user2" comme valeurs si t'as bien réglé la propriété de ton checkbox et non "coché,coché" .
 
J'espère ne pas me tromper, sinon, ce soir, je resort mon bouquin d'html. ;)

Reply

Marsh Posté le 16-10-2002 à 23:39:20    

omega2 a écrit a écrit :

Heu, pour les radio bouton, il me semble qu'il y a une propriété nomé value qui permet de définir la valeur qui sera renvoyé dans le formulaire.
En bref, dans ton table, tu auras "user1,user2" comme valeurs si t'as bien réglé la propriété de ton checkbox et non "coché,coché" .
 
J'espère ne pas me tromper, sinon, ce soir, je resort mon bouquin d'html. ;)




 
C pas ça le pb, en fait pour chaque image il doit y avoir 2 choix (OUI et NON) le probleme est que si ils ont tous le meme NAME (qui doit etre user[]), il va prendre ça comme 1 seul groupe, et donc je ne pourrais que choisir 1 SEUL Bouton Radio
 
 
De plus j'ai résolu le pb en mettant un SELECT :)
 
Merci @ tous ...


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 17-10-2002 à 10:21:32    

Dj YeLL a écrit a écrit :

 
 
C pas ça le pb, en fait pour chaque image il doit y avoir 2 choix (OUI et NON) le probleme est que si ils ont tous le meme NAME (qui doit etre user[]), il va prendre ça comme 1 seul groupe, et donc je ne pourrais que choisir 1 SEUL Bouton Radio
 
 
De plus j'ai résolu le pb en mettant un SELECT :)
 
Merci @ tous ...



C'est sur que si on met "oui" comme valeur à tout les radio bouton, ca marchera pas.
Ce que je voulais dire, c'est qu'en métant l'identifiant comme valeur du radio bouton, on se retrouve a avoir les identifiant de tout ceux qui sont a oui, et donc tout les autres sont a non.
 
Mais si t'as réussi à faire marcher ton programme d'une autre manière alors on va pas s'embéter à le recréer.
 
A la prochaine.

Reply

Marsh Posté le 19-10-2002 à 15:14:12    

omega2 a écrit a écrit :

C'est sur que si on met "oui" comme valeur à tout les radio bouton, ca marchera pas.
Ce que je voulais dire, c'est qu'en métant l'identifiant comme valeur du radio bouton, on se retrouve a avoir les identifiant de tout ceux qui sont a oui, et donc tout les autres sont a non.
 
Mais si t'as réussi à faire marcher ton programme d'une autre manière alors on va pas s'embéter à le recréer.
 
A la prochaine.




 
Non, tu n'as pas compris, je parle pas de la vlauer des radio bouton, je te parle du nom (name=" *** " ). Pour mettre plusieurs INPUT dans une table, il faut mettre le meme NAME pour toutes les INPUT. Le pb est que pour les Radio-Bouton, si tu mets le meme NAME pour plusieur RADIO elle vont fonctionner comme si c t un meme groupe ... et donc, on ne pourra en selectionner qu'une seule


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 19-10-2002 à 15:29:38    

bha oui, mais tu peux mettre  
<input name="tab[0]" value="1" type="radio">
<input name="tab[0]" value="0" type="radio">
<input name="tab[1]" value="1" type="radio">
<input name="tab[1]" value="0" type="radio">
...
de cette façon tu obtiens un tableau avec chaque fois la valeur (1/0) pour chaque user.
 
enfin, je pense


Message édité par ethernal le 19-10-2002 à 15:30:15

---------------
...oups kernel error...
Reply

Marsh Posté le 21-10-2002 à 16:22:19    

Dj YeLL a écrit a écrit :

 
 
Non, tu n'as pas compris, je parle pas de la vlauer des radio bouton, je te parle du nom (name=" *** " ). Pour mettre plusieurs INPUT dans une table, il faut mettre le meme NAME pour toutes les INPUT. Le pb est que pour les Radio-Bouton, si tu mets le meme NAME pour plusieur RADIO elle vont fonctionner comme si c t un meme groupe ... et donc, on ne pourra en selectionner qu'une seule



Heu oui ... J'ai confondus les radio bouton et les chekbox là.
Je pensais checkbox en lisant ton message eet en écrivant ma réponse et ai écrit radio bouton.

Reply

Marsh Posté le 23-10-2002 à 18:57:20    

ethernal a écrit a écrit :

bha oui, mais tu peux mettre  
<input name="tab[0]" value="1" type="radio">
<input name="tab[0]" value="0" type="radio">
<input name="tab[1]" value="1" type="radio">
<input name="tab[1]" value="0" type="radio">
...
de cette façon tu obtiens un tableau avec chaque fois la valeur (1/0) pour chaque user.
 
enfin, je pense




 
En effet, ça peut peut-etre marcher :) Mais la g pas envie de tout reprogrammer ! :D peut etre un jour ...


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 23-10-2002 à 18:57:32    

omega2 a écrit a écrit :

Heu oui ... J'ai confondus les radio bouton et les chekbox là.
Je pensais checkbox en lisant ton message eet en écrivant ma réponse et ai écrit radio bouton.




 
Jme disais ... :)


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed