Теперь, когда я реализовал ваш код, опубликованный в вопросе, я изменил несколько вещей, чтобы заставить его работать должным образом, все мелкие проблемы, я опубликую их здесь в комментариях.
Теперь, когда я реализовал ваш код, опубликованный в вопросе, я изменил несколько вещей, чтобы заставить его работать должным образом, все мелкие проблемы, я опубликую их здесь в комментариях. [110] обновление: теперь это тот же код, все в стиле ООП и с повторным использованием соединения:
Теперь, когда я реализовал ваш код, опубликованный в вопросе, я изменил несколько вещей, чтобы заставить его работать должным образом, все мелкие проблемы, я опубликую их здесь в комментариях. [110] обновление: теперь это тот же код, все в стиле ООП и с повторным использованием соединения:
[111] Подсказка: в реальном мире, никогда не храните пароли в виде простого текста, ищите и читайте подробнее о хешировании
POST['delete'])) //first: test if any delete request, delete and then render the table
{ //if a delete request received
$id = Теперь, когда я реализовал ваш код, опубликованный в вопросе, я изменил несколько вещей, чтобы заставить его работать должным образом, все мелкие проблемы, я опубликую их здесь в комментариях.
[110] обновление: теперь это тот же код, все в стиле ООП и с повторным использованием соединения:
[111] Подсказка: в реальном мире, никогда не храните пароли в виде простого текста, ищите и читайте подробнее о хешировании
POST['id']; //primary key of this row, where 'id' index must be case-sensitivly equal to the hidden input name 'id'
//check connection
if (mysqli_connect_errno()) //if connection error existed
{
printf("Connect failed: %s\n", mysqli_connect_error()); //print error
exit(); //exit the program 'in this case you wouldn't see the table either'
}
//compose sql statement
$stmt = $conn->prepare("DELETE FROM users WHERE ID=?"); //notice that sql statements are NOT case sensitive
$stmt->bind_param('i',$id); //now add the $id to the statement 'i' stands for integer
$stmt->execute();
$stmt->close();
}
$sql = "SELECT * FROM users;";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
echo "
ID
EMAIL
NAME
IS ADMIN
PASSWORD
CONTROLS
";
// output data of each row
while($row = $result->fetch_assoc())
{
echo "";
echo "".$row["id"]." "; //php is case-sensitive so you should use $row['ID'] according to your scheme
echo "".$row["email"]." ";//php is case-sensitive so you should use $row['EMAIL'] according to your scheme
echo "".$row["name"]." ";//for simplicity, I made one field, change it according to your scheme
echo "".$row["is_Admin"]." ";//php is case-sensitive so you should use $row['IS_ADMIN'] according to your scheme
echo "".$row["password"]." ";//same as above
echo "
";
echo "
";
}
echo "
";
}
else
{
echo "DATABASE IS EMPTY!";
}
//all done
$conn->close();
?>
Подсказка: в реальном мире, никогда не храните пароли в виде простого текста, ищите и читайте подробнее о хешировании
POST['delete'])) //first: test if any delete request, delete and then render the table
{ //if a delete request received
$id = Теперь, когда я реализовал ваш код, опубликованный в вопросе, я изменил несколько вещей, чтобы заставить его работать должным образом, все мелкие проблемы, я опубликую их здесь в комментариях.
[110] обновление: теперь это тот же код, все в стиле ООП и с повторным использованием соединения:
Теперь, когда я реализовал ваш код, опубликованный в вопросе, я изменил несколько вещей, чтобы заставить его работать должным образом, все мелкие проблемы, я опубликую их здесь в комментариях. [110] обновление: теперь это тот же код, все в стиле ООП и с повторным использованием соединения:
[111] Подсказка: в реальном мире, никогда не храните пароли в виде простого текста, ищите и читайте подробнее о хешировании
POST['delete'])) //first: test if any delete request, delete and then render the table
{ //if a delete request received
$id = Теперь, когда я реализовал ваш код, опубликованный в вопросе, я изменил несколько вещей, чтобы заставить его работать должным образом, все мелкие проблемы, я опубликую их здесь в комментариях.
[110] обновление: теперь это тот же код, все в стиле ООП и с повторным использованием соединения:
[111] Подсказка: в реальном мире, никогда не храните пароли в виде простого текста, ищите и читайте подробнее о хешировании
POST['id']; //primary key of this row, where 'id' index must be case-sensitivly equal to the hidden input name 'id'
//check connection
if (mysqli_connect_errno()) //if connection error existed
{
printf("Connect failed: %s\n", mysqli_connect_error()); //print error
exit(); //exit the program 'in this case you wouldn't see the table either'
}
//compose sql statement
$stmt = $conn->prepare("DELETE FROM users WHERE ID=?"); //notice that sql statements are NOT case sensitive
$stmt->bind_param('i',$id); //now add the $id to the statement 'i' stands for integer
$stmt->execute();
$stmt->close();
}
$sql = "SELECT * FROM users;";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
echo "
ID
EMAIL
NAME
IS ADMIN
PASSWORD
CONTROLS
";
// output data of each row
while($row = $result->fetch_assoc())
{
echo "";
echo "".$row["id"]." "; //php is case-sensitive so you should use $row['ID'] according to your scheme
echo "".$row["email"]." ";//php is case-sensitive so you should use $row['EMAIL'] according to your scheme
echo "".$row["name"]." ";//for simplicity, I made one field, change it according to your scheme
echo "".$row["is_Admin"]." ";//php is case-sensitive so you should use $row['IS_ADMIN'] according to your scheme
echo "".$row["password"]." ";//same as above
echo "
";
echo "
";
}
echo "
";
}
else
{
echo "DATABASE IS EMPTY!";
}
//all done
$conn->close();
?>
Подсказка: в реальном мире, никогда не храните пароли в виде простого текста, ищите и читайте подробнее о хешировании
POST['id']; //primary key of this row, where 'id' index must be case-sensitively equal to the hidden input name 'id'
/////// Connectivity /////////
$servername = "localhost";
$username = "root";
$password = "root";
$db = "user_delete";
// Create connection (procedural style)
$conn = mysqli_connect($servername, $username, $password, $db);
//check connection
if (!$conn) //if NOT connected
{
printf("Connect failed: %s\n", mysqli_connect_error()); //print error
exit(); //exit the program 'in this case you wouldn't see the table either'
}
//compose sql statement
$stmt = mysqli_prepare($conn, "DELETE FROM users WHERE ID=?"); //notice that sql statements are NOT case sensitive
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, row deleted
}
include "connection.php";
$sql = "SELECT * FROM users;";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
echo "
ID
EMAIL
NAME
IS ADMIN
PASSWORD
CONTROLS
";
// output data of each row
while($row = $result->fetch_assoc())
{
echo "";
echo "".$row["id"]." "; //php is case-sensitive so you should use $row['ID'] according to your scheme
echo "".$row["email"]." ";//php is case-sensitive so you should use $row['EMAIL'] according to your scheme
echo "".$row["name"]." ";//for simplicity, I made one field, change it according to your scheme
echo "".$row["is_Admin"]." ";//php is case-sensitive so you should use $row['IS_ADMIN'] according to your scheme
echo "".$row["password"]." ";//same as above
echo "
";
echo "
";
}
echo "
";
}
else
{
echo "DATABASE IS EMPTY!";
}
//all done
$conn->close();
?>
обновление: теперь это тот же код, все в стиле ООП и с повторным использованием соединения:
Теперь, когда я реализовал ваш код, опубликованный в вопросе, я изменил несколько вещей, чтобы заставить его работать должным образом, все мелкие проблемы, я опубликую их здесь в комментариях. [110] обновление: теперь это тот же код, все в стиле ООП и с повторным использованием соединения:
[111] Подсказка: в реальном мире, никогда не храните пароли в виде простого текста, ищите и читайте подробнее о хешировании
POST['delete'])) //first: test if any delete request, delete and then render the table
{ //if a delete request received
$id = Теперь, когда я реализовал ваш код, опубликованный в вопросе, я изменил несколько вещей, чтобы заставить его работать должным образом, все мелкие проблемы, я опубликую их здесь в комментариях.
[110] обновление: теперь это тот же код, все в стиле ООП и с повторным использованием соединения:
[111] Подсказка: в реальном мире, никогда не храните пароли в виде простого текста, ищите и читайте подробнее о хешировании
POST['id']; //primary key of this row, where 'id' index must be case-sensitivly equal to the hidden input name 'id'
//check connection
if (mysqli_connect_errno()) //if connection error existed
{
printf("Connect failed: %s\n", mysqli_connect_error()); //print error
exit(); //exit the program 'in this case you wouldn't see the table either'
}
//compose sql statement
$stmt = $conn->prepare("DELETE FROM users WHERE ID=?"); //notice that sql statements are NOT case sensitive
$stmt->bind_param('i',$id); //now add the $id to the statement 'i' stands for integer
$stmt->execute();
$stmt->close();
}
$sql = "SELECT * FROM users;";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
echo "
ID
EMAIL
NAME
IS ADMIN
PASSWORD
CONTROLS
";
// output data of each row
while($row = $result->fetch_assoc())
{
echo "";
echo "".$row["id"]." "; //php is case-sensitive so you should use $row['ID'] according to your scheme
echo "".$row["email"]." ";//php is case-sensitive so you should use $row['EMAIL'] according to your scheme
echo "".$row["name"]." ";//for simplicity, I made one field, change it according to your scheme
echo "".$row["is_Admin"]." ";//php is case-sensitive so you should use $row['IS_ADMIN'] according to your scheme
echo "".$row["password"]." ";//same as above
echo "
";
echo ""; //must be added in a form with method=post
echo ""; //differntiate between input name `id` and mysql field name you have `ID`, input field name is the index you will fetch in line 4: Теперь, когда я реализовал ваш код, опубликованный в вопросе, я изменил несколько вещей, чтобы заставить его работать должным образом, все мелкие проблемы, я опубликую их здесь в комментариях.
[110] обновление: теперь это тот же код, все в стиле ООП и с повторным использованием соединения:
[111] Подсказка: в реальном мире, никогда не храните пароли в виде простого текста, ищите и читайте подробнее о хешировании
POST['id']
echo ""; //type: submit, not button
echo "
";
}
echo "
";
}
else
{
echo "DATABASE IS EMPTY!";
}
//all done
$conn->close();
?>
Подсказка: в реальном мире, никогда не храните пароли в виде простого текста, ищите и читайте подробнее о хешировании
Попробуйте вызвать setUniformRowHeights (true)
для представления в виде дерева:
https://doc.qt.io/qt-4.8/qtreeview.html#uniformRowHeights- prop
Также существует инструмент C ++ под названием modeltest от qt labs. Я не уверен, есть ли что-нибудь для python: