Page 1 sur 1

Valeur dynamique dans un champ de texte ...

Posté : 13 déc. 2005, 22:05
par 3LpH4Ri0N
Bonsoir,
Je voudrais que mes managers d'équipes puissent modifier les infos de leurs équipes.
Afin d'éviter qu'ils n'aient à tout retaper, je voudrais que les valeurs soient déja dans les champs de texte et donc qu'ils ne changent que qu'ils le désire.
Pour aller chercher mes données j'utilise :
<?
//Infos de connexion
require ('_files/_db/config.php');
//Requête
$req = mysql_query("SELECT nom from lao_teams
WHERE nom = '". $_SESSION['team2'] ."'") or die(mysql_error());
//Conversion vers contenu 
while($contenu = mysql_fetch_array ($req)){
}
//je referme la connexion
mysql_close();
?>
Donc je voudrais que la valeur $contenu[nom] apparaisse dans mon champ de texte comme valeur à défaut, soit quelque chose comme ceci :

Code : Tout sélectionner

<input name="web" type="text" class="field" id="web" value="$contenu[nom]" maxlength="128" />
Seulement je n'arrive pas à intégrer ma valeur.
De plus je souhaiterais ne faire qu'une seule requête car j'ai d'autre informations en plus du nom (tag, e-mail, web, etc)

Si vous savez comment faire ... :)
Merci d'avance

Posté : 13 déc. 2005, 22:08
par Cyrano
Essaye en remplçant $contenu[nom] par $contenu['nom'] : en ne mettant pas les apostrophes (tu pourrais aussi utiliser des guillemets), PHP interprête l'index comme une constante dont la valeur est inexistante.

Posté : 13 déc. 2005, 22:15
par 3LpH4Ri0N
oui j'avoue que j'ai écrit ca vire, a ce point la je suis d'accord mais en fait, je ne sais pas trop comment mettre mon
//Conversion vers contenu 
while($contenu = mysql_fetch_array ($req)){ 
} 
et quand ouvrir et fermer les { -> en bref je ne sais pas trop comment structurer le tout car
je voudrais avoir ca (ce n'est que le début) :
<table id="container" cellspacing="0" cellpadding="0">
          <form action="_files/_db/modifier_team.php" name="form1" method="post" >
            <tr>
              <td class="titre">&nbsp;</td>
              <td id="skyscraper">&nbsp;</td>
            </tr>
            <tr>
              <td class="content"><table width="100%" border="0" cellspacing="0" cellpadding="4" class="address">
                  <tr>
                    <td class="col1">Id : </td>
<td><?
//Infos de connexion
require ('_files/_db/config.php');
//Requête
$req = mysql_query("SELECT id,nom,tag,devise,web from lao_teams
WHERE nom = '". $_SESSION['team2'] ."'") or die(mysql_error());
//Conversion vers contenu 
while($contenu = mysql_fetch_array ($req)){
echo $contenu[id];
}
//je referme la connexion
mysql_close();
?></td>
                  </tr>
                  <tr>
                    <td class="col1">Nom  : </td>
                    <td><input name="nom2" type="text" class="field" value="<? echo $contenu['id']; ?>" id="nom2" maxlength="25" /></td>
                  </tr>
                  <tr>
                    <td class="col1">Tag : </td>
                    <td><input name="tag" type="text" class="field" id="tag" value="" maxlength="128" /></td>
[...]
Je ne sais pas comment faire...

Posté : 13 déc. 2005, 22:26
par Cyrano
Il faut procéder avec ordre. En premier lieu, respecter la syntaxe HTML : la balise <form> n'a rien à faire entre <table> et <tr> > soit ton formulaire est dans une cellule, soit il englobe tout le tableau.

Ensuite, tu dois créer le début de la structure du tableau avant ta boucle, la refermer après, et à l'intérieur, tu mets les éléments qui contiendront ls données récupérées. Ce qui donnerait quelque chose comme ceci:
<form action="_files/_db/modifier_team.php" name="form1" method="post" >
  <table id="container" cellspacing="0" cellpadding="0">
    <tr>
      <td class="titre">&nbsp;</td>
      <td id="skyscraper">&nbsp;</td>
    </tr>
    <tr>
      <td class="content">
        <table width="100%" border="0" cellspacing="0" cellpadding="4" class="address">
<?php
//Infos de connexion
require ('_files/_db/config.php');
//Requête
$req = mysql_query("SELECT id, nom, tag, devise, web FROM lao_teams
WHERE nom = '". $_SESSION['team2'] ."'") or die(mysql_error());
//Conversion vers contenu
while($contenu = mysql_fetch_array ($req))
{
?>
          <tr>
            <td class="col1">Id : </td>
            <td><?php echo $contenu['id']; ?>
            </td>
          </tr>
          <tr>
            <td class="col1">Nom : </td>
            <td><input name="nom2" type="text" class="field" value="<? echo $contenu['nom']; ?>" id="nom2" maxlength="25" /></td>
          </tr>
          <tr>
            <td class="col1">Tag : </td>
            <td><input name="tag" type="text" class="field" id="tag" value="<?php echo($contenu['tag']); ?>" maxlength="128" /></td>
          </tr>
          <!-- etc... -->
<?php
}
//je referme la connexion
mysql_close();
?>

Posté : 13 déc. 2005, 22:45
par 3LpH4Ri0N
Okay je prend note, merci beaucoup pour ton aide, bonne soirée

Posté : 13 déc. 2005, 23:31
par 3LpH4Ri0N
là j'ai essayé sur un truc tout simple (pour me tester)
<? 
//Infos de connexion
require ('_files/_db/config.php');
//Requête
$req = mysql_query("SELECT manager,leader,membre2,membre3,membre4,membre5 from lao_teams
WHERE nom = '". $_SESSION['team2'] ."'") or die(mysql_error());
//Conversion vers contenu 
while($contenu = mysql_fetch_array ($req))
{
?>
<?php echo $contenu['manager']; ?>
			</td>
            </tr>
            <tr>
              <td class="col1"><span class="Style5">Leader : </span></td>
              <td><? echo $contenu['leader']; ?></td>
            </tr>
            <tr>
              <td class="col1"><span class="Style5">Membres : </span></td>
              <td><? echo $contenu['membre2']; ?></td>
            </tr>
            <tr>
              <td class="col1">&nbsp;</td>
              <td><? echo $contenu['membre3']; ?></td>
            </tr>
            <tr>
              <td class="col1">&nbsp;</td>
              <td><? echo $contenu['membre4']; ?></td>
            </tr>
            <tr>
              <td class="col1">&nbsp;</td>
              <td><? echo $contenu['membre5'];
					}
					//je referme la connexion
					mysql_close(); ?>
et cela ne fonctionne pas... je n'ai pas du comprendre alors :(

Posté : 13 déc. 2005, 23:51
par Cyrano
... cela ne fonctionne pas...
Ça ne m'avance pas des masses pour te donner une piste de solution: Il serait utile de me préciser ce que tu obtiens en pointant sur les points que tu attends avec une valeur différente.

Es-tu d'abord sûr que le retour de MySQL contient bien les données attendues par exemple ?

Sinon, as-tu des messages d'erreurs et le cas échéant, lesquels ?

Posté : 14 déc. 2005, 21:21
par 3LpH4Ri0N
NOn c'est réglé, j'avais une petite erreur dans ma requête :)
Merci