IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Input dans une boucle while


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 264
    Points : 104
    Points
    104
    Par défaut Input dans une boucle while
    Bonjour,

    j'ai une boucle while en php qui me permet d'afficher des éléments.
    j'ai un des selectbox qui doivent colorier tous les champs selon la valeur sélectionnée.
    Jusqu'à présent le coloriage de toute la ligne se fait bien.
    Par contre je veux enregistrer en dur l'information sélectionnée !!
    Pour la récupérer, j'utilise le input hidden.
    Maintenant je suis dans une boucle while. Les valeurs afficher par mon input hidden de tous les champs correspondent qu'a la valeur du 1er champs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <TABLE BORDER="1">
      <CAPTION> Les informations sur les tickets du lot <?php echo nl2br($data_lot['titre_lot']); ?></CAPTION>
     
    	<Tr>
    		<Th><font size="2">Le numéro du ticket</font></th>
    		<Th><font size="2">Rapporté par</font></Th>
    		<Th><font size="2">Assigné à</font></Th>
    		<Th><font size="2">Date de soumission du ticket</font></Th>
    		<Th><font size="2">Résumé</font></Th>
    		<Th><font size="2">ACTION sur le ticket</font></Th>
    	</Tr>
     
    	<?php 
                    
                    //while($row = mysql_fetch_array($req_ticket)or die('erreur dans le rénvoi des tickets (while)!'.$req_ticket)){
                    while($row = mysql_fetch_array($req_ticket)){
                            
     
            ?>	<form > 
    		<tr >
    			<td><?php echo $row["id_ticket"]  ?></td>
    			<td><?php echo $row["rapporteur_ticket"]  ?></td>
    			<td><?php echo $row["assigne_a_ticket"]  ?></td>
    			<td><?php echo $row["date_doumission_ticket"] ?></td>
    			<td><?php echo $row["resume_ticket"] ?></td>
    			<td>
    			<input TYPE="text" VALUE="" NAME="Hidden1" id="Hidden1" >
    				<select name=sel1 onchange="changecouleur(this);Hidden1.value = document.getElementById('sel1').options[document.getElementById('sel1').selectedIndex].value ;  ">
    					<option value="white">---Choisissez---</option>
    					<option value="green">enRecette</option>
    					<option value="blue">enAttente</option>
    					<option value="orange">enCours</option>
    					<option value="red">nonTraite</option>
    				</select>
    				<!--document.getElementById('liste').options[document.getElementById('liste').selectedIndex].value' <input type="submit" value="Envoyer" /> -->		
    			</td>	
    		</tr>
    		</form> 
    		<?php           
                            }
                    ?>
     
    	</TABLE>
    On dirai qu'il n'y a qu'un seul input, et qu c'est celui là qui est utiliser à chaque fois !!
    est ce que ce problème vous sembles normal ?

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par bdptaki Voir le message
    est ce que ce problème vous sembles normal ?
    Le problème, oui il est normal :
    un id doit être unique dans la page.
    Conséquence directe : il n'est pas possible de générer un id "en dur" dans une boucle PHP Il faut que tu gères un compteur afin que chaque id généré dans la boucle reste unique ...

    A+

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    En complément (même si ce n'est pas à l'origine de ton problème) : il ne faut pas imbriquer les balises <form> et <tr> comme tu le fais : soit tu mets tout le form dans un td (entre <td> et </td>), soit tu sors le form de la table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form>
    <table>
    .....
    </table>
    </form>
    A+

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    tu veux dire un compteur en php pour le nom de l'ID !!

    j'ai essayé mais la syntaxe m'échappe lorsque je veux concaténer qqch du genre :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input TYPE="text" VALUE="" NAME="Hidden1" id="Hidden.$i" >
    j'ai essayé un peu tout mais sa ne fonctionne pas !
    Je me perds très vite la dedans !!

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par bdptaki Voir le message
    tu veux dire un compteur en php pour le nom de l'ID !!
    Oui.

    Mais pour la syntaxe PHP, c'est pas moi qui pourrait t'aider

    Je passe la main

    A+

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input TYPE="text" VALUE="" NAME="Hidden[]" id="Hidden<?php echo $i; $i++ ?>" >
    tu récupères en php avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach ($_POST['Hidden'] as $index=>$value)
    {
    //le traitement
    }

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Points : 209
    Points
    209
    Par défaut
    J'imagine que ton $row[id_ticket] est un identifiant unique ?
    Ca peut servir pour l'identifiant de ton champs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input TYPE="text" VALUE="" NAME="Hidden<?php echo $row["id_ticket"]; ?>" id="Hidden<?php echo $row["id_ticket"]; ?>" >
    Même modification à reporter sur le onchange du select, puisque tu y références Hidden1 qui n'existe plus, mais HiddenXXX, XXX étant la valeur d'id_ticket.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    J'ai lu toutes vos recommandation, et j'ai essayé de les appliquer, cependant rien en change.
    J'ai enlevé les form. J'ai remarqué que les forme influer sur la valeur du input !!
    A partir de là je ne comprends pas si les formes sont obligatoire ou non !!

    j'ai testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input TYPE="text" VALUE="" NAME="Hidden<?php echo $row["id_ticket"]; ?>" id="Hidden<?php echo $row["id_ticket"]; ?>" >
    et sa na pas fonctionner ainsi que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input TYPE="text" VALUE="" NAME="Hidden[]" id="Hidden<?php echo $i; $i++ ?>" >
    Il ne me semble pas que vos code soit mauvais, mais l'input réagit de maniére anormal... c'est à dire que je ne peux pas prévoir ce qu'il va prendre comme valeur !!

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <!--document.getElementById('liste').options[document.getElementById('liste').selectedIndex].value' <input type="submit" value="Envoyer" /> -->
    C'est censé faire quoi ça
    Le JavaScript doit être mis entre balises <script>

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    A partir de là je ne comprends pas si les formes sont obligatoire ou non !!
    Tu ne peux pas envoyer les données si tu ne mets pas les input dans un formulaire (Si tu n'utilises pas Ajax)

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/02/2013, 09h34
  2. Problème de SCANF dans une boucle WHILE
    Par FidoDido® dans le forum C
    Réponses: 4
    Dernier message: 30/12/2005, 17h42
  3. [Conception] Problème de test dans une boucle while
    Par Cyrius dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2005, 18h07
  4. Réponses: 6
    Dernier message: 17/06/2005, 16h51
  5. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo