2 votes

Comment afficher les données d'un tableau HTML créé à partir de PHP ?

.
.
.
while ( $row = mysql_fetch_array($res) )
{                   
    echo "<tr>";
    echo "<td><input type=\"radio\" name=\"mod\" /></td>";
    echo "<td>" . $row['a'] . "</td>";
    echo "<td>" . $row['b'] . "</td>";
    echo "<td>" . $row['c'] . "</td>";
    echo "<td>" . $row['d'] . "</td>";
    echo "<td>" . $row['e'] . "</td>";
    echo "</tr>";
}
echo "</table>

Impression des données de la base de données dans un tableau HTML avec PHP "echo".

Par exemple, lors de l'affichage, il y aura X lignes de 6 colonnes (5 données et un bouton radio).

Pour la ligne sélectionnée avec le bouton radio, j'ai besoin que toutes les données de cette ligne spécifique soient envoyées vers une autre page .php.

Ma première idée était de créer une fonction onClick() pour le bouton radio, avec les données en tant que paramètres des fonctions, puis de faire en sorte que la fonction effectue un POST AJAX avec ces données.

ou dois-je créer un formulaire autour de la table ? Si c'est le cas, comment puis-je obtenir les données de la ligne en tant que données du formulaire ?

Existe-t-il une meilleure solution ?

2voto

Scott Stevens Points 2216

La meilleure façon de procéder serait probablement de faire correspondre la valeur du bouton radio au numéro de ligne. Une fois le formulaire soumis, récupérez cette ligne dans la base de données.

.
.
.
echo "<tr>";
echo "<td><input type=\"radio\" name=\"mod\" value=\""./*row number*/."\" /></td>";
echo "<td>" . $row['a'] . "</td>";
echo "<td>" . $row['b'] . "</td>";
echo "<td>" . $row['c'] . "</td>";
echo "<td>" . $row['d'] . "</td>";
echo "<td>" . $row['e'] . "</td>";
echo "</tr>";
.
.
.

Et dans le gestionnaire de formulaire

$rownumber = $_POST["mod"]
// whichever mysql function - make the same query as the first page
// get row $rownumber

2voto

aaa Points 766

Si vous disposez d'un identifiant pour chaque ligne, il vous suffit de l'associer au bouton radio et, une fois soumis, votre script PHP sera en mesure de déterminer lequel a été sélectionné sur la base de l'identifiant envoyé.

echo "<td><input type=\"radio\" name=\"mod\" value=\"" . $row['id'] . "\" /></td>";

D'une manière générale, je suggère de ne pas imprimer le code HTML à partir de PHP, mais de l'intégrer comme il se doit.

<?php while ( $row = mysql_fetch_array($res) ) : ?>
<tr>
<td><input type="radio" name="mod" value="<?php echo $row['id'] ?>" /></td>
<td><?php echo $row['a'] ?></td>
<td><?php echo $row['b'] ?></td>
<td><?php echo $row['c'] ?></td>
<td><?php echo $row['d'] ?></td>
<td><?php echo $row['e'] ?></td>
</tr>
<?php endwhile; ?>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X