begin process at 2012 05 31 12:48:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Problème due à une boucle while...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème due à une boucle while...

mercredi 5 août 2009 à 11:39:43 | Problème due à une boucle while...

nanti

Bonjour à tous !

Je panique car je tente de récupérer une variable dans un champ input de type text et je n'y parviens pas... Voici donc mon code pour plus de clarté :

Code PHP :

$selEntrees = mysql_query("SELECT * FROM admin_entrees");
while ($readEntrees = mysql_fetch_array($selEntrees)) {
echo '<tr>';
echo '<td style="padding: 0 15px 5px 0;" colspan="5">'.htmlentities($readEntrees['Intitule_Entrees']).'</td>';
echo '<td style="padding: 0 5px 5px 0;">'.$readEntrees['Prix'].' &euro;</td>';
echo '<td style="padding: 0 5px 5px 0;"><input type="submit" name="supprEntrees" value="Supprimer" style="border: 1px solid #000000;" /></td>';
echo '</tr>';
echo '<tr>';
echo '<td style="padding: 0 5px 5px 0;" colspan="3">Intitul&eacute; : </td>';
echo '<td style="padding: 0 5px 5px 0;"><input type="text" name="intituleEntrees'.$readEntrees['ID'].'" id="intituleEntrees" style="border: 1px solid #000000;" /></td>';
echo '<td style="padding: 0 5px 5px 0;">Prix : ';
echo '<td style="padding: 0 5px 5px 0;"><input type="text" name="'.$readEntrees['ID'].'" id="prixEntrees" style="border: 1px solid #000000;" /></td>';
echo '<td style="padding: 0 5px 5px 0;"><input type="button" name="" id="modifEntrees" value="Modifier" style="border: 1px solid #000000;" /><td>';
echo '</tr>';
}


Là où je bloque, c'est au niveau de la récupération des valeurs contenues dans mes 2 derniers input de type text !!!

Est-ce possible de faire cela comme ça ??? Est-ce que je ne suis pas en train de me fourvoyer totalement ???? Et si ma solution pour nommer mes inputs dans la boucle n'est pas foireuse... quelle est la solution ????

Merci d'avance à tous ceux qui pourront m'aider dans cette quête qui me semble insoluble !!!

mercredi 5 août 2009 à 12:04:59 | Re : Problème due à une boucle while...

nanti

Petite précision...

Ce sont les valeurs dans les name qui me posent problème ; ainsi que la façon de les traiter pour que chaque champ soit bien identifié lors d'éventuels changements dans les valeurs ! (oula, je ne sais pas si c'est vraiment clair ce que j'explique là... ?)

Bref, le but est finalement d'avoir les valeurs des name afin d'isoler la partie de l'ID comme suit : intituleEntrees1 dont 1 est la valeur de l'ID pour le traiter en mysql du genre update... where id = le 1 de intituleEntrees1 !

Encore merci d'avance à ceux de bonne volonté qui peuvent me venir en aide !

mercredi 5 août 2009 à 13:51:35 | Re : Problème due à une boucle while...

InTheMix

Hello,

Pour être franc, je ne comprends pas très bien ce que tu veux dire.
Mais, en voyant ton code, je me demande si tu n'as pas fait d'inversions entre les quotes et double quotes :

J'aurais plutôt écrit comme ça :

Code PHP :


echo "<tr>";
echo "<td style='padding: 0 15px 5px 0;' colspan='5'>".htmlentities($readEntrees["Intitule_Entrees")."</td>";



Tu ne reçois pas un message d'erreur à ce niveau là ?

En relisant ta question, il me semble un peu mieux comprendre ce que tu veux.
Par contre, pour la solution, je ne sais pas trop t'aider.
En fait, ca revient à récupèrer le nom d'un champ dont tu ne connais pas le nom exact. (si j'ai bien compris)
Si tu expliques un peu dans quel but tu veux faire ça, ce serait peut-être plus facile pour t'aider.

InTheMix

mercredi 5 août 2009 à 14:32:13 | Re : Problème due à une boucle while...

nanti

Salut InTheMix !

Tout d'abord, je te confirme que je ne reçois pas d'erreur au niveau de l'interprétation entre les quotes et les doubles-quotes !

Sinon, tu as visiblement saisi le sens de ma question : il est vrai que je ne connais pas le nom exact des champs qui sont dans la boucle puisqu'en l'occurrence, j'ai 12 entrées en base. Ce qui fait que mes champs de formulaire se répètent autant de fois.

Ceci-dit, pour pouvoir traîter ces champs individuellement, j'ai besoin de parvenir à les identifier.

Suis-je plus clair ???? As-tu tout au moins un début de solution à m'apporter ???

Dans le but de faire avancer le chmilblique, j'ai tenté de bouclé sur les élément via un foreach, mais je ne dois pas bien m'y prendre car cela me génère une erreur !

Bref... HELP !!

mercredi 5 août 2009 à 15:16:08 | Re : Problème due à une boucle while...

InTheMix

oui, en fait, si j'ai bien compris :

Ta table admin_entrees contient un certain nombre d'enregistrements.
(Dans ce cas-ci, 12).

Tu affiche des éléments dans un tableau formaté html.
A priori, un enregistrement par ligne.
Sur chaque ligne, il y a un bouton supprimer et un bouton modifier.
Tu veux que si l'on clique sur l'un des boutons d'une ligne, tu retrouves de quelle ligne (ou plus précisément) quel enregistrement il s'agit pour pouvoir effectuer l'action.

Tu as un input qui correspond à "prixEntrees".
Par rapport à la variable PHP que tu as placé dans "name", je déduis qu'il s'agit de l'identifiant du record dans ta table puisque le nom est ID ?

Je pense que je serais plutôt parti sur un formulaire par ligne.
Et à la place de :

Code PHP :
echo '<td style="padding: 0 5px 5px 0;"><input type="text" name="'.$readEntrees['ID'].'" id="prixEntrees" style="border: 1px solid #000000;" /></td>';



j'aurais mis :

Code PHP :
echo "<td style='padding: 0 5px 5px 0;'><input type='hidden' name='prixEntrees' id='prixEntrees' value='".$readEntrees['ID']."' style='border: 1px solid #000000;' /></td>";



Ensuite, en début de script, vérifier la valeur de la variable POST["prixEntrees"] et effectuer le traitement qui correspond à sa valeur.

Code PHP :

if(!empty($_POST["prixEntrees"]))
{
... traitement
}


Et, à la place d'incrémenter le nom de l'input, tu peux incrémenter le nom des formulaires pour ne pas te retrouver avec plusieurs formulaires 'identiques' sur la même page.

J'espère que ca pourrait t'aider.


InTheMix

mercredi 5 août 2009 à 16:18:31 | Re : Problème due à une boucle while...

nanti

Merci pour tes réponses InTheMix,

Mais... Oulaaaa ! Je t'avoue que je n'ai pas vraiment compris le sens de ta dernière phrase... incrémenter le nom des formulaires pour ne pas avoir plusieurs formulaires identiques sur la même page... là, ça me dépasse un peu !

Sinon, la ligne du tableau que tu prends en exemple n'est certainement pas la meilleur. Si tu regarde la précédente, on a aussi un input, mais de name="intituleEntrees'.$readEntrees['ID'].'" pour bien différencier les name de cette ligne et de celle que tu as pris en exemple.

Cela-dit, d'après ce que je peux comprendre, il est impossible de récupérer indépendamment les nom dans chaque input généré par la boucle.

S'il faut donc que j'en passe par des champs cachés, je vais agir comme tu me le conseilles ! Ce que je testerai dans la soirée.

En tout cas, encore merci pour tes réponses !

mercredi 5 août 2009 à 16:33:32 | Re : Problème due à une boucle while...

InTheMix

Récupèrer le name directement est possible en javascript je pense. Mais la combinaison du javascript et php dans ce cas précis serait sûrement assez compliquée à faire puisque les deux langages ne sont pas interprétés de la même façon, ni au même moment.

Sinon tu peux aussi afficher le contenu du array POST et faire un traitement sur les noms retournés mais bof...

Et pour expliquer ma dernière phrase, par incrémentation, je voulais dire faire quelque chose du style :

form name=form1
puis form2
...

En bref, utiliser un compteur pour modifier le nom de chaque form.

Pas de quoi pour mes réponses.
Peut-être que quelqu'un d'autre trouvera de meilleures solutions que moi.

Bonne soirée


InTheMix



Cette discussion est classée dans : boucle, code, while, echo, readentrees


Répondre à ce message

Sujets en rapport avec ce message

boucle while et session [ par oceane751 ] bonjour à tous ;)voilà j'ai une boucle while (qui me retourne 2 résultats) que voici : [code]if($tab_com = mysql_query($sql1)) { while ($dispo=mysql_f Update avec boucle while [ par a44icus ] Bonjour, J'ai créé une sorte de blog sur mon site, que je veux rendre administrable. J'ai déjà commencé la page d'administration dont j'ai mis le cod Redimensionner une image, dans une boucle while [ par Nodoka ] Bonjour, Je voudrais savoir se qu'il ne vas pas dans mon code, au moment du rafraîchissement de la page une fois avoir codé ma boucle, une grosse er Boucle While une seule réponse [ par Const4ntine ] Bonjour,J'ai une petite erreur, ou disons que le résultat n'est pas à l'hauteur de mes espérances ;)J'ai une mauvaise connaissance des boucles while d Redimensionner une image, dans une boucle while [ par Nodoka ] Bonjour, Je voudrais savoir se qu'il ne vas pas dans mon code, au moment du rafraîchissement de la page une fois avoir codé ma boucle, une grosse err pouvez-vous m aider pour déclaration d une boucle while en php [ par jilou2008 ] bonjour j ai crée un petit jeux mot mystere mais j ai un probleme avec ma boucle while pouvez vous m aider merci d avance voici le code [code=php] <?p boucle while [ par tagadax ] Bonjour tout le monde!! J'ai un problème [^^yeuxenlair] voila je vous explique;j'ai une table MySql qui permet de stocké des noms de matériaux, à cett form qui appelle la page où il se trouve [ par Krasha ] Bonjour à tous, Je suis en train d'essayer d'installer un petit sondage sur mon site et sur la page de création des sondages j'ai une erreur : [i]Not problème mysql_fetch_array() [ par florianj54 ] Bonsoir, J'aimerais remplir un tableau en récupérant les valeurs dans ma base de données. ma base est construite comme ceci : TypeSport | VilleEv transfer fichier [ par dardarsalma ] mon code pour enregistrer un fichier ,Je tiens à envoyer des informations sur ce fichier.aidez moi svp voila mon code [code=php] <?php include "acce


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales