2 votes

Comment mettre en évidence une ligne du tableau lorsque l'on récupère toutes les informations avec un tableau ?

Je vais chercher toutes les lignes dans la base de données mysql avec mysql_fetch_array() puis en les montrant en tableau.

while($row = mysql_fetch_array( $data )) { 
  echo "<td>" . $row['name']."</td>";
}

Dans ce cas, si l'utilisateur met à jour un enregistrement du tableau avec mon formulaire php, je veux mettre en évidence cette ligne du tableau. (changer la couleur de fond est suffisant.) Comment puis-je faire cela ? Ou puis-je intervenir dans la boucle while pour un seul enregistrement ?

2voto

jcubic Points 11141

Si vous avez inséré en haut du script alors

//insert to mysql here
$id = mysql_insert_id($resource);
...
while($row = mysql_fetch_array( $data )) { 
  if ($id == $row['id']) {
    echo '<td style="color:red">' . $row['name'] . "</td>";
  } else {
    echo "<td>" . $row['name']."</td>";
  }
}

1voto

Kaffee Points 1503

Essayez quelque chose comme ceci pour comparer vos données dans le formulaire (cette partie est $_POST['id'] - changez-la avec votre code) où l'utilisateur a envoyé ses mises à jour avec les données de la ligne actuelle (je suppose que vous avez quelque chose comme un id dans le résultat de la ligne sql) et changez le style de la ligne.

while($row = mysql_fetch_array( $data )) { 
  $style = ($row['id'] == $_POST['id']) ? 'style="background-color: red;"' : '';
  echo "<td $style>" . $row['name']."</td>";
}

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