Problème de récupération dans une requête - Page 2

Résolu
Précédent
  • 1
  • 2
imer2008 Messages postés 20 Statut Membre
 
J'ai testé mon code en modifiant quelques trucs, ce qui donne :

Processus :
<select name="id_processus" id="id_processus"<?php if ($attention AND empty($id_processus)) {echo " style=\"background-color:#FF0000\"";}?> onChange="this.form.submit();">
<option value="" <?php if (empty($id_processus)) {echo "selected"; } ?>>Sélectionner...</option>
<?php
$sqlprocessus = "SELECT * FROM qualite_pole";
$resultatprocessus = mysql_query ($sqlprocessus, $connexion);
while ($tabprocessus = mysql_fetch_array($resultatprocessus, MYSQL_ASSOC)) {
echo "<option value=\"{$tabprocessus[id_pole]}\"";
if ($id_processus==$tabprocessus[id_pole]) {echo " selected";}
echo ">{$tabprocessus[pole]} {$tabprocessus[nompole]} </option>";
}
?>
</select><br>

<?php
if (isset($_POST["id_processus"]))
{
echo $_POST["id_processus"];
?>
<br>
<select name="processus" id="processus<?php if ($attention AND empty($processus)) {echo " style=\"background-color:#FF0000\"";}?>">
<option selected>Précisez le pôle concerné...</option>
<?php
$sqlpole="SELECT * FROM qualite_processus2 WHERE qualite_processus2.id_pole=".$_POST["id_processus"];
$resultatpole = mysql_query ($sqlpole, $connexion);
while ($tabpole = mysql_fetch_array($resultatpole, MYSQL_ASSOC)) {
?>
<option value="<?php echo "$tabpole[lettre_proc] - $tabpole[nom_proc]"; ?>"><?php echo "$tabpole[lettre_proc] - $tabpole[nom_proc]"; ?></option>
<?php
}
?>
</select>
<?php
}
?>

Et en image, ca fontionne sauf que...
http://www.monsterup.com/image.php?url=upload/1233218549.jpg

Le chiffre s'affiche bien (dans l'image "1"), mais je voudrais juste rajouter a cote la lettre du processus et le nom du processus. (genre 1 A situation administrative).

Je pense que ca doit etre tout simple cette fois ci.
0
974_Vin's_974 Messages postés 554 Statut Membre 102
 
Je vois ce que tu veux faire, mais j'ai du mal à comprendre ton code !!

Tu peux le commenté davantage stp
0
Mikey_UFC Messages postés 315 Statut Membre 1
 
Il faut juste que tu changes un petit truc avant ton 1er select pour que la sélection précédente reste :
<?php
if (isset($_POST["id_processus"])) $id_processus = $_POST["id_processus"];
?>


Mais j'avoue toujours avoir du mal entre tous tes champs ( id_pole et pole par exemple ).

Une solution pour le rendre un peu plus lisible serait une bonne indentation quelques commentaires et quelques require.
0
imer2008 Messages postés 20 Statut Membre
 
Je suis d'accord avec toi je m'y perds un peu aussi surtout que je ne fais que reprendre ce qui a été déjà fait par quelqu'un.

Alors pour essayer d'être clair, un pole X a plusieurs processus X1, X2, X3, Xn.

La liste des poles se trouve dans la table qualite_pole, table qui contient 3 champs:
- id_pole (n° automatique -> KEY)
- pole (qui représente la lettre : A, B,C etc.)
- nompole (qui est le nom du pole : Situation administrative, Conseils et information, etc.)
En tout et pour tout j'ai 16 poles (de A situation administrative à P management)

La liste des processus (les X1, X2, Xn) se trouvent dans la table qualite_processus2, table qui contient:
-id_proc (n° automatique -> KEY)
-id_pole (INT)
-lettre_proc (sur 2 caractères X1,X2,Xn etc.)
-nom_proc (nom du processus)

Pour l'instant, avec le code que j'ai créé, je choisis mon pole

<select name="id_processus" id="id_processus"<?php if ($attention AND empty($id_processus)) {echo " style=\"background-color:#FF0000\"";}?> onChange="this.form.submit();">
<option value="" <?php if (empty($id_processus)) {echo "selected"; } ?>>Sélectionner...</option>
<?php
$sqlprocessus = "SELECT * FROM qualite_pole";
$resultatprocessus = mysql_query ($sqlprocessus, $connexion);
while ($tabprocessus = mysql_fetch_array($resultatprocessus, MYSQL_ASSOC)) {
echo "<option value=\"{$tabprocessus[id_pole]}\"";
if ($id_processus==$tabprocessus[id_pole]) {echo " selected";}
echo ">{$tabprocessus[pole]} {$tabprocessus[nompole]} </option>";
}
?>
</select>

et je peux sélectionner les processus correspondant.

<select name="processus" id="processus<?php if ($attention AND empty($processus)) {echo " style=\"background-color:#FF0000\"";}?>">
<option selected>Précisez le pôle concerné...</option>
<?php
$sqlpole="SELECT * FROM qualite_processus2 WHERE qualite_processus2.id_pole=".$_POST["id_processus"];
$resultatpole = mysql_query ($sqlpole, $connexion);
while ($tabpole = mysql_fetch_array($resultatpole, MYSQL_ASSOC)) {
?>
<option value="<?php echo "$tabpole[lettre_proc] - $tabpole[nom_proc]"; ?>"><?php echo "$tabpole[lettre_proc] - $tabpole[nom_proc]"; ?></option>
<?php
}
?>
</select>

Sauf que comme l'iamge l'indique, ce qui s'affiche dans le

<?php
if (isset($_POST["id_processus"]))
{
echo $_POST["id_processus"];
?>

C'est uniquement le chiffre (1,2,3, etc.) ce qui est normal puisque dans ma première requete, j'ai ca:
if ($id_processus==$tabprocessus[id_pole]) {echo " selected";}

Or moi j'aimerais juste rajouter un truc du genre:
<?php
if (isset($_POST["id_processus"]))
{
echo $_POST["id_processus"] "lettre du pole" "nom du pole";
?>

Voilà où j'en suis.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mikey_UFC Messages postés 315 Statut Membre 1
 
As-tu ajouté ça avant ton premier select ?
<?php
if (isset($_POST["id_processus"])) $id_processus = $_POST["id_processus"];
?>


Si tu le fais, normalement, dans ta première boite de sélection, tu devrais garder la sélectoin et tu auras donc bien ce que tu as précédemment choisi dans la boite de sélection ( pas besoin de l'écrire à côté je pense ).
0
imer2008 Messages postés 20 Statut Membre
 
J'ai testé mais ca ne fonctionne pas non plus.

Je pense encore à une chose mais dites moi si je me trompe.

Jusque la quand je fais le echo du $id_processus, j'obtiens par exemple "1 A Situation administrative"
donc ma variable $id_processus est "1 A Situation administrative".

Est-il possible de créer une variable "decoup" qui serait le découpage de cette chaine (avec un split) en ne prenant que les caractères avant le premier espace (en gros, ca récupère le chiffre)
Et du coup, dans ma deuxième requete avoir quelque chose comme :

$sqlpole="SELECT * FROM qualite_processus2 WHERE qualite_processus2.id_pole = $decoup;

Vous voyez ce que je veux dire ?
0
974_Vin's_974 Messages postés 554 Statut Membre 102
 
Je vois ce que tu veux dire, j'ai voulu faire la meme chose, mais je m'y suis pris autrement, en faite pour que ta variable taffiche un truc lon kom ca, c'est parce ke a la base, tu lui a doné la valeur de plusieur infos.. Ben tu reprends cette info qui t'interesse, et tu le mets dans une variable. Comme ca kan té à là, tu pe lutiliser !!!!
0
Mikey_UFC Messages postés 315 Statut Membre 1
 
J'essaie de reprendre ce morceau de code et je te le reposte
0
imer2008 Messages postés 20 Statut Membre
 
Alors... je ne sais strictement plus ce que j'ai fait mais il semblerait que maintenant ca marche !!! :DDDD

Voilà le code:

Processus :
<?php
if (isset($_POST["id_processus"])) $id_processus = $_POST["id_processus"];
?>
<select name="id_processus" id="id_processus"<?php if ($attention AND empty($id_processus)) {echo " style=\"background-color:#FF0000\"";}?> onChange="this.form.submit();">
<option value="" <?php if (empty($id_processus)) {echo "selected"; } ?>>Sélectionner...</option>
<?php
$sqlprocessus = "SELECT * FROM qualite_pole";
$resultatprocessus = mysql_query ($sqlprocessus, $connexion);
while ($tabprocessus = mysql_fetch_array($resultatprocessus, MYSQL_ASSOC)) {
echo "<option value=\"{$tabprocessus[id_pole]}\"";
if ($id_processus==$tabprocessus[id_pole]) {echo " selected";}
echo ">{$tabprocessus[pole]} {$tabprocessus[nompole]} </option>";
}
?>
</select>
<br>
<?php
if (isset($_POST["id_processus"]))
{
?>
<select name="processus" id="processus<?php if ($attention AND empty($processus)) {echo " style=\"background-color:#FF0000\"";}?>">
<option selected>Précisez le pôle concerné...</option>
<?php
$sqlpole="SELECT * FROM qualite_processus2 WHERE qualite_processus2.id_pole = ".$_POST["id_processus"];
$resultatpole = mysql_query ($sqlpole, $connexion);
while ($tabpole = mysql_fetch_array($resultatpole, MYSQL_ASSOC)) {
?>
<option value="<?php echo "$tabpole[lettre_proc] - $tabpole[nom_proc]"; ?>"><?php echo "$tabpole[lettre_proc] - $tabpole[nom_proc]"; ?></option>
<?php
}
?>
</select>
<?php
}
?>
0
Mikey_UFC Messages postés 315 Statut Membre 1
 
<select name="id_processus" id="id_processus" onChange="this.form.submit();">
<option value="">Sélectionner...</option>
<?php
if (isset($_POST["id_processus"])) $id_processus = $_POST["id_processus"];

$sqlprocessus = "SELECT * FROM qualite_pole";
$resultatprocessus = mysql_query ($sqlprocessus, $connexion);

while ($tabprocessus = mysql_fetch_array($resultatprocessus, MYSQL_ASSOC))
{
  echo "<option value=\"{$tabprocessus[id_pole]}\"";
  if ($id_processus==$tabprocessus["id_pole"]) {echo " selected";}
  echo ">{$tabprocessus[pole]} {$tabprocessus[nompole]} </option>";
}
echo "</select>";
if (isset($_POST["id_processus"]))
{
  ?>
  <select name="processus" id="processus">
  <option selected>Précisez le pôle concerné...</option>
  <?php
  $sqlpole="SELECT * FROM qualite_processus2 WHERE qualite_processus2.id_pole=".$id_processus;
  $resultatpole = mysql_query ($sqlpole, $connexion);
  while ($tabpole = mysql_fetch_array($resultatpole, MYSQL_ASSOC))
    echo "<option value=\"".$tabpole["id_proc"]."\">".$tabpole["lettre_proc"]."-".$tabpole["nom_proc"]."</option>";
  echo "</select>";
}


Pour le traitement, après soumission du formulaire, tu récupères :
dans $_POST["id_processus"] id_pole
dans $_POST["processus"] id_proc
Tu as donc les 2 identifiants choisis si besoin est.

Teste, et dis moi ce que ça donne.
0
imer2008 Messages postés 20 Statut Membre
 
Avec ce que tu as écris, ca marche aussi !!!

C'est impec les gars merci énormément pour votre aide !!!! :)

Ya plus qu'a tester le tout et ca devrait rouler.

Merci encore !!! :D
0
Précédent
  • 1
  • 2