Afficher un formulaire suivant le LVL et le type

126051
,

Bonjour,

Je n'arrive pas à afficher un formulaire correctement.

**mon idée de départ : **

http://www.hostingpics.net/viewer.php?id=732421tableaudesaisiegarage.png

puis avec de la chance je suis arrvivé à ceci :

http://www.hostingpics.net/viewer.php?id=458364tableaudesaisiegaragereel.png

*** le code du formumaire : ***

<head>
    <title>AW LCDA CLAN ENREGISTRE GARAGE</title>
    <link href="../../style/css/aw_page.css" rel="stylesheet" type="text/css"/>
    <link href="../../style/css/table.css"  rel="stylesheet" type="text/css"/>
</head>
<?php
require ("../../inc/header.php");
require ("../../inc/db.php");
require_once '../../inc/functions.php';
/* Acces à la base de données */
try
{
    $pdo = new PDO('mysql:host='.HOST.';dbname='.DB_NAME.';charset=utf8', ''.ROOT.'',''.MDPASS.'');
    $pdo ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // requête : TOUS les TANKS, avec leur FAMILLE et TYPE
    $sqlTOUT = "SELECT * FROM  aw_liste_tank     TANK
                   INNER JOIN  aw_famille_tank   FAMILLE ON TANK.idfam  = FAMILLE.idfam
                   INNER JOIN  aw_type_tank      TYPE    ON TANK.idtype = TYPE.idtype            ";
     $dbTOUT    = $pdo -> query($sqlTOUT);

}
catch (PDOException $e) {
    print "Erreur de conenxion, désolé: " . $e->getMessage() ; die();
}

$famid = $_GET['id'];
if ($famid == 1){$titre = " <font color=blue>Wölfi";}
if ($famid == 2){$titre = "<font color=yellow>Shishkin";}
if ($famid == 3){$titre = "<font color=red>Zhang Feng";}
if ($famid == 4){$titre = "<font color=white>Armored";}
$cpt=0;
?>

<h1>Création du Garage de <?=$_SESSION['auth']->username; ?><br><br></h1>

 <form action="saisgarage.php" method="POST">
   <fieldset>
   <legend class="legend"> Creation de votre garage : Revendeur <?=$titre; ?>  </legend>
     <?php while ($row = $dbTOUT->fetch()) {
         if ($row['idfam']==$famid) { ?>
            <section class="section">
                  <input type="hidden" value="<?=$_SESSION['auth']->iduser; ?>" name="data[<?= $cpt ?>][]">
                  <input type="hidden" value="<?php echo $row['idtank']; ?>" name="data[<?= $cpt ?>][]">
                  <font size="4px" style="bold" color="blue"><?php echo "Lvl ";echo $row['rangtank'];echo " - ";echo $row['nomtank']; ?></font><br>
                  <?php $imagetank="../../../images/".$row['logtank']; echo '<img src="'.$imagetank.'" alt="" />'; ?>
                  <input type="hidden" value="<?php echo $row['nomtank']; ?>"><br>
                  <label for="nomdutank">Débloqué  :</label>
                  <select name="data[<?= $cpt ?>][]" required>
                      <option value="NON">NON</option>
                      <option value="OUI">OUI</option>
                  </select><br>
                  <label for="nomdutank">Evolution :</label>
                  <select name="data[<?= $cpt ?>][]" required>
                     <option value="1">Non évolué</option>
                     <option value="2">Début</option>
                     <option value="3">A mi parcours</option>
                     <option value="4">Complète</option>
                  </select><br>
                  <label for="nomdutank">Acquis    :</label>
                  <select name="data[<?= $cpt ?>][]" required>
                      <option value="NON">NON</option>
                      <option value="OUI">OUI</option>
                  </select><br>
                  <label for="nomdutank">Préféré   :</label>
                  <select name="data[<?= $cpt ?>][]" required>
                      <option value="NON">NON</option>
                      <option value="OUI">OUI</option>
                  </select>
                <?php $cpt=$cpt+1 ?>
            </section>
  <?php } ?>
 <?php } ?>

 </fieldset>
     <td>
         <input type="submit" value="Enregistrez">
     </td>

 </form>
<?php
$dbTOUT->closeCursor();
require '../../inc/footer.php';
?>

Le css :

.legend{
    text-align:left;
    font-family: "Trebuchet MS",Arial,sans-serif;
    font-size: 28px;
}
.section{
    float:left;
    text-align:center;
    border: 1px solid red;
    color: black;
    width: auto;
    background-color: white;
}
input[type=submit] {
    width: 150px;
    padding: 10px;
    font-family: verdana,Arial,sans-serif;
    font-size: 20px;
}

Comment je peux arriver à réaliser mon form comme je le souhaite.

2 semaines que je galère à trouver.

je suis passer par des tables , des cellules, des div etc etc....

Merci de votre aide.

4 Réponse

107977
, Il a répondu à ma question !

Je ne peux pas te donner de code car c'est très spécifique.

Mais à première vu, tu as besoin de savoir gérer les fusions de cellules de ton tableau, tu as ce lien qui peux t'aider https://openclassrooms.com/forum/sujet/hthtml-fusionner-deux-lignes-dans-une-colonne

Pour la logique de ton while, tu dois réfléchir à comment l'adapter.

126051
, Il a répondu à ma question !

la fusion de mes tables est bonne.
Ma question n'est lié que sur la presentation de mon tableau dans le form.
je ne sais pas comment faire.

La seule idée est que je devrais peut etre traité la récupération des dats sql en dehors l'intégrer dans un tableau pour l'afficher...

je ne vois que ça mais là encore, je coince....

Merci Fukotaku

107977
, Il a répondu à ma question !

Ma question n'est lié que sur la presentation de mon tableau dans le form.

Du style CSS de ta balise table ?
J'ai un peu de mal à te comprendre sur la question, mais si tu veux un conseil, il serai plus judicieux de gérer les données avant l'ajout dans le <table>, comme ça tu pourras mieux gérer la personnalisation de chaque blocks et se sera moins moche coté code.

126051
, Il a répondu à ma question !

c'est ce que je pense aussi au vu de tes remarques.
je me suis fourvoyer assayer d'intégrer les datas sql pour envoyer mon form et non la forme de mon formulaire.
en faite c'est le resultat qui ne me convient pas.
Le premier lien montre ce queje veux faire
le deuxieme lien montre le resultat de mon code, c'est une cata..... lol
merci de ton aide.