[PHP] Aligner bouton radio dans une colonne ?

Fermé
petit_blanc Messages postés 9 Date d'inscription vendredi 8 avril 2011 Statut Membre Dernière intervention 18 avril 2011 - 18 avril 2011 à 08:36
 petit_blanc - 20 avril 2011 à 11:09
Bonjour,

Je voudrais savoir comment je pourrais faire pour aligner les boutons radios dans ma dernière colonne 'choix'

Car en faite dans ma colonne qui la précède 'article' j'ai un colspan = '5' car j'ai 5 choix "entrée,menu,dessert,boisson,fromage".

Mais le problème c'est que lorsque je remplis pas un de ces 5 champs, bah mon bouton radio va donc remplacer ces cases vides et donc se retrouver sous la colonne 'article'.

Merci d'avance,

A voir également:

2 réponses

mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
18 avril 2011 à 09:17
Bonjour,

Il eut été judicieux de mettre le ch'tit bout de code en question.
0
petit_blanc Messages postés 9 Date d'inscription vendredi 8 avril 2011 Statut Membre Dernière intervention 18 avril 2011
18 avril 2011 à 09:26
echo "<td colspan ='5'>";
echo "<b>";
echo "<center>Article</center>";
echo "</b>";
echo "</td>";
echo "<td>";
echo "<b>";
echo "<center>Choix</center>";
echo "</b>";
echo "</td>";
echo "</tr>";
echo "</center>";
while (($donnees = mysql_fetch_array($reponse))!==false):




echo "<td style='". $couleur ."'>";
echo "<center>";
$mysql -> Nommer($article['ID_produit']);
echo "</center>";
echo "</td>";
endwhile;
$i = '0';
for($i = '0'; $i == $dif; $i++):
echo "<td>XxX</td>";
endfor;



echo "<td>";
$id = $donnees['ID_commande']; // cette variable doit aller sous 'Choix' //
echo "<center><input type='radio' name='choix' value='". $id ."' /></center>";
echo "</td>";
echo "</tr>";
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
18 avril 2011 à 10:29
Bonjour,

...pfiou.... C'est un peu, hummmmm, brouillon....

1) NE PLUS UTUILISER CENTER, JAMAIS,!!!! On remplace par la déclaration de style qui va bien, exemple:

<td style="text-align: center;">

CENTER est déprécié en HTML5. Google Chrome fait d'ailleurs une réécriture du code HTML pour lui substituer le style correspondant.

2) j'ai réécrit votre portion de code un peu plus correctement:

<tr>
    <td colspan ='5' style="text-align: center; font-weight: bold;">Article</td>
    <td style="text-align: center; font-weight: bold;">Choix</td>
</tr>
<tr>
<?php while (($donnees = mysql_fetch_array($reponse)) !== false): ?>
        <td style='text-align: center; color:<?php echo $couleur; ?>'>
            <?php $mysql->Nommer($article['ID_produit']); ?>
        </td>
    <?php endwhile; ?>
    <?php $i = '0';
    for ($i = '0'; $i == $dif; $i++): ?>
        <td>XxX</td>
    <?php endfor; ?>
    <td style="text-align: center;">
        <input type='radio' name='choix' value='<?php echo $donnees['ID_commande']; ?>'/>
    </td>
</tr>



Je pense que vous avez un problème d'imbrication au niveau des TR dans votre boucle WHILE.

Pour les boutons-radio, la portion ed code en question:

   <td style="text-align: center;">
        <input type='radio' name='choix' value='<?php echo $donnees['ID_commande']; ?>'/>
   </td>


Notez que PHP est utilisé ici comme le préconisent les pros en PHP/HTML (dixit conférence PHP de Paris 2010 - Paris La Vilette)... c'est à dire plutôt comme un moteur de template (ce qu'à déclaré Rasmus Lerdorf himself lors de cette conférence). Rasmus LERDORF est le créateur de PHP.

A+
0
petit_blanc Messages postés 9 Date d'inscription vendredi 8 avril 2011 Statut Membre Dernière intervention 18 avril 2011
18 avril 2011 à 14:04
[URL=http://www.hostingpics.net/viewer.php?id=973829test.jpg][IMG]http://img4.hostingpics.net/pics/973829test.jpg[/IMG][/URL]
0
petit_blanc Messages postés 9 Date d'inscription vendredi 8 avril 2011 Statut Membre Dernière intervention 18 avril 2011
18 avril 2011 à 14:07
Enorme merci pour les conseils des balises <center> et du fonctionnement du PHP mais j'ai fait tout mon projet ainsi :( il me prendrait trop de temps de le recommencer, ça me servira pour le futur.

Hélas mon problème persiste encore.... :(

Voila mon code complet



<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="stylegestion.css" />
<title></title>
</head>
<body>
<div id="en-tete"></div>
<div id="sidebar"></div>
<div id="content">


<?php
include("/mysql.php");
include("/colorie.php");
$mysql = new mysql( "localhost", "gestionresto", "root", "");
$mysql ->connect();
mysql_query("SET NAMES UTF8");
$rqt = "SELECT * FROM commande_resto";
$reponse = $mysql -> queryreturn($rqt);

echo "<center>";
echo "<table border = 'true'>";
echo "<form method='POST' action='gerer_etat2.php'>";
echo "<tr>";
echo "<td>";
echo "<b>";
echo "<center>Reference Commande</center>";
echo "</b>";
echo "</td>";
echo "<td>";
echo "<b>";
echo "<center>Date de la Commande</center>";
echo "</b>";
echo "</td>";
echo "<td colspan ='5'>";
echo "<b>";
echo "<center>Article</center>";
echo "</b>";
echo "</td>";
echo "<td>";
echo "<b>";
echo "<center>Choix</center>";
echo "</b>";
echo "</td>";
echo "</tr>";
echo "</center>";
while (($donnees = mysql_fetch_array($reponse))!==false):
echo "<tr>";


echo "<td>";
echo "<center>";
echo $donnees['ID_commande'];
echo "</center>";
echo "</td>";


echo "<td>";
echo "<center>";
echo $donnees['date_commande'];
echo "</center>";
echo "</td>";


$plat = "SELECT * FROM achat_resto WHERE ID_commande='". $donnees['ID_commande'] ."'";
$tmp = $mysql -> queryreturn($plat);
$nbplat = "SELECT COUNT(*) FROM achat_resto WHERE ID_commande='". $donnees['ID_commande'] ."'";
$nb = $mysql -> queryreturn($nbplat);
$nbr = mysql_fetch_array($nb);
$dif = 5 - $nbr[0];
while (($article = mysql_fetch_array($tmp))!==false):

$couleur = Coloriser($article['etat_com']);

echo "<td style='". $couleur ."'>";
echo "<center>";
$mysql -> Nommer($article['ID_produit']);
echo "</center>";
echo "</td>";
endwhile;
$i = '0';
for($i = '0'; $i == $dif; $i++):
echo "<td>XxX</td>";
endfor;


echo "<td>";
$id = $donnees['ID_commande'];
echo "<center><input type='radio' name='choix' value='". $id ."' /></center>";
echo "</td>";
echo "</tr>";

endwhile;
echo "</table>";
echo "<br>";
echo "<input type='submit' value='Definir Etats'>";
echo "</form>";



$mysql ->disconnect();

?>
</div>
</body>
</html>
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
18 avril 2011 à 14:35
bonjour,

Commencez par structurer correctement votre code HTML. Je vous aai dit de supprimer DEFINITIVEMENT les CENTER.

Ensuite, FORM doit être en dehors de TABLE

Prenez exemple sur mon modèle de code, et testez au fur et à mesure...

ATtention, les strcutures en php:
- structure { } si tout code php
- structure: endstructure; si php utilisé en template

Exemple:

code full-php:
  if($test) {
      mon code php
  }


code HTML avec PHP en "moteur" de template:
  <?php if($test): ?>
     ... mon code HTML ....
  <?php endif; ?>


Essayez avant de me relancer, merci.

A+
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
18 avril 2011 à 14:38
un mot sur votre copie écran: et si vous mettiez la colonne avec les boutons-radio en début de ligne (première colonne)...?

Et puis, ne serait-il pas plus judicieux de mettre des case à cocher?

input type="checkbox"....


A+
0