Wyciągnąłem wszystkie rekordy z bazy do tabeli ( użytkownicy ), następnie po prawej stronie dodałem pole gdzie jest input z tekstem i submit czyli malutki formularz. Ma ona edytować dany rekord w którym to siedzi.
Formularz ma action ustawiony do do plik updateuser.php w którym zrobiłem cały kod który ma realizować edycję (update) danego użytkownika czyli danego rekordu w którym to ten forumlarz siedzi.
Screen:
Problem tkwi w tym że gdy coś wpisuje w tym polu to edytuje wszystkie naraz rekordy ALBO rekord o ID 22 .. nie wiem w czym problem. I czy w ogóle takie rozwiązanie jest dobre?
Kod: test.php
echo '<table width="1000" border="1" bordercolor="#d5d5d5" cellpadding="0" cellspacing="0">';
echo '<tr>';
echo '<td align="center" bgcolor="e5e5e5">ID</td>';
echo '<td align="center" bgcolor="e5e5e5">UserName</td>';
echo '<td align="center" bgcolor="e5e5e5">Email</td>';
echo '<td align="center" bgcolor="e5e5e5">DateRegister</td>';
echo '<td align="center" bgcolor="e5e5e5">IDAdmin</td>';
echo '<td align="center" bgcolor="e5e5e5"></td>';
echo '<td align="center" bgcolor="e5e5e5"></td>';
echo '</tr>';
foreach ($tbl as $value) {
$id = $value['id'];
$_SESSION['user'] = $value['user'];
$email = $value['email'];
$register = $value['dataRes'];
$id_admin = $value['adminid'];
//DATE register
//przekształcamy datę w przeszłości do formatu unix'owego
$date = strtotime($register);
//pobieramy bieżący czas
$now = time();
//różnice dzielimy przez jeden dzień czyli 60 s. * 60 m. * 24 godz.
$date_r = ($now - $date) / (60 * 60 * 24);
//część całkowita z dzielenia to liczba dni
$date_c = floor($date_r);
//wyswietlamy ile dni temu uzyt. sie zarejestrowal
$register_score = $date_c." dni temu"."<br /> (".$register." )";
//ID adminid
if ( $id_admin == 1 )
{
$group = "Group Admin";
}
else
{
$group = "Group User";
}
echo<<<END
<tr>
<td align="center">$id</td>
<td align="center">{$_SESSION['user']}</td>
<td align="center">$email</td>
<td align="center">$register_score</td>
<td align="center">$group</td>
<td align="center"><a class="button_red" href="delete_user.php?id='$id'">Delete</a></td>
<td align="center">
<form action="updateuser.php" method="post">
<input type="text" name="user" /><br />
<input type="submit" value="EDIT" name="submit" />
</form>
</td>
</tr>
END;
}
echo '</table>';
updateuser.php
<?php
session_start();
require_once "connect.php";
$con = @new mysqli($host, $db_user, $db_password, $db_name); //Połączenie z bazą danych
$user = $_POST['user'];
$query = "UPDATE users SET user='$user' WHERE user='" . $_SESSION['user'] . "'";
$result = $con->query($query);
echo "Succes";
header("Refresh:3; url=test.php");
//header("Refresh:3; url=admin-profil.php");
mysqli_close($con);
?>