Я очень новичок в программировании на PHP / HTML / CSS, и в приведенном ниже коде я попытаюсь создать базовую функциональность панели администрирования для веб-сайта.
Что я хочу сделать, так этораспечатать таблицу со всеми ее строками и столбцами и иметь дополнительный столбец с элементами управления, который позволил бы мне удалить указанную строку из базы данных.В конце концов я хотел бы сделать возможным изменение имени, пароля и прав администратора для каждого пользователя.
Кроме того, я действительно не знаю, как заставить каждую кнопку хранить значение, связывающее ее с соответствующей строкой.
Возможно, из-за того, что я поразительно неопытный программист, все мои попытки имеют либоне удалось или удалил последнюю строку (возможно, так как это было последнее значение в имени переменной $email
).Друг предложил использовать либо JavaScript, либо перейти на другую платформу (его предложила Angular JS), чтобы достичь своих целей, но сейчас мне бы очень хотелось, чтобы это было просто (если это действительно так) с PHPи CSS.
Вот изображение того, как выглядит панель администрирования:
![Click here to see an ugly administration panel.](https://i.stack.imgur.com/YnCAu.png)
Вотмой генератор таблиц (или настолько, насколько мне удалось его получить):
<?php
include "connection.php";
$sql = "SELECT * FROM users;";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
echo "<table class='sqltable'>
<tr class='sqltable'>
<th class='sqltable'>ID</th>
<th class='sqltable'>EMAIL</th>
<th class='sqltable'>NAME</th>
<th class='sqltable'>IS ADMIN</th>
<th class='sqltable'>PASSWORD</th>
<th class='sqltable'>CONTROLS</th>
</tr>";
// output data of each row
while($row = $result->fetch_assoc())
{
echo "<tr class='sqltable'>
<td class='sqlcell'>".$row["ID"]."</td>
<td class='sqlcell'>".$row["EMAIL"]."</td>
<td class='sqlcell'>".$row["FIRST_NAME"]." ".$row["MID_NAME"]." ".$row["LAST_NAME"]."</td>
<td class='sqlcell'>".$row["IS_ADMIN"]."</td>
<td class='sqlcell'>".$row["PASSWORD"]."</td>
<td class='sqlcell'>
<center>
<div style='border: 1px solid lightgray;' method='POST'>
<input type='hidden' name='ID' value='".$row['ID']." '/>
<input type='button' name='delete' value='DEL ".$row['ID']." '/>
</div>
</center>
</td>
</tr>";
}
echo "</table>";
}
else
{
echo "DATABASE IS EMPTY!";
}
$conn->close();
if (isset($_POST['delete']))
{ //if a delete request received
$id = $_POST['id']; //primary key of this row
/////// Connectivity /////////
$servername = "127.0.0.1";
$username = "root";
$password = "";
$db = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $db);
//check connection
if ($conn)
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
//compose sql statement
$stmt = mysqli_prepare($conn, "DELETE FROM users WHERE ID=?");
mysqli_stmt_bind_param($stmt,'i',$id); //now add the $id to the statement 'i' stands for integer
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
mysqli_close($conn); //connection closed
}
?>
Это то, что я начал делать, и я уже почти уверен, что выбрал неправильный путь для этого.
function delete()
{
$del = "DELETE FROM '".$table."' WHERE EMAIL='".$email."';";
$conn->query($del);
}