#php #mysql
#php #mysql
Вопрос:
в настоящее время у меня есть база данных SQL, в которой я храню некоторые данные. Эти данные просматриваются на веб-сайте со следующим кодом:
echo "<tr><td>" . $row["project"]. " " . "</td><td>" . " ". $row[ "project_desc"]. " " . "</td><td>" . " ". $row["hours"]. "</td><td>" . " ". $day. "</td></tr>";
Но теперь я хочу, чтобы у него была дополнительная вкладка, где вы можете удалить строку, которая отображается на веб-сайте, из базы данных.
Как я могу это сделать?
если вам это нужно, я использую MySQL
И я использую mysqli
Комментарии:
1. Вы уже используете mysqli или PDO для вставки в базу данных?
2. Добавьте свою дополнительную вкладку также в код, чтобы это было полезно для получения лучших результатов
3. @Nordy Vlasman. Я предоставил вам четкое объяснение того, что вам нужно, и также внес свои предложения. Посмотрите и поделитесь мыслями. Если вы столкнетесь с какими-либо препятствиями, дайте мне знать.
Ответ №1:
Вы должны добавить этот код в свою строку-
<td><a href="delete.php?id=<?echo $row['id'];?>">Delete</a></td>
когда пользователь нажимает «Удалить», то delete.php вызывается, поэтому идентификатор покупки, который нужно удалить, должен быть передан через delete.php,
delete.php
$id = $_GET['id'];
mysql_query("DELETE from purchase WHERE id='$id'");
Комментарии:
1. Если я сделаю это, я получу пустую страницу
2. вам нужно создать
delete.php
файл3. вы должны создать delete.php страница, и вы должны подключиться к базе данных, и после этого вы должны выполнить эту операцию — $result = mysql_query(«УДАЛИТЬ из покупки, ГДЕ id=’$id'»); if($result) { перенаправить («);}
Ответ №2:
Примечание: это расширение устарело в PHP 5.5.0, и оно было удалено в PHP 7.0.0. Вместо
MySQLi
PDO_MySQL
этого расширение or следует использовать вместе сprepared statements
.
Поэтому я предлагаю вам изучить руководство по PDO по этой ссылке, и это очень полезно для разработки в будущих проектах.
Чтобы удалить одну строку в таблице, вы используете оператор DELETE с предложением WHERE, которое указывает, какую строку удалить.
Пример для удаления MySQL: http://www.phpeasystep.com/mysql/7.html
Удалить пример с использованием mysql:
- На странице списка, где вы отображаете данные, вам нужно добавить код для отправки его на
delete.php
страницу, или вы можете удалить его на той же странице, где вы перечисляете данные. - Ниже я предоставлю вам два метода передачи данных.
Метод первый: удаление той же страницы
<td><a href="?id=<?echo $row['id'];?>">Delete</a></td>
Способ второй: Delete.php удаление страницы
<td><a href="delete.php?id=<?echo $row['id'];?>">Delete</a></td>
PHP-код для удаления данных из таблицы:
Если вам нужно удалить данные с самой страницы списка или вы собираетесь удалить на delete.php
странице, вам нужно выполнить тот же код, чтобы получить REQUEST
из URL.
<?php
if(isset($_REQUEST['id']))
{
$id = $_REQUEST['id'];
$query="DELETE FROM TABLENAME WHERE `id`='".$id."'";
$execute = mysql_query($query);
echo "Data Delete Successfully";
}
?>
Если вы собираетесь удалить на delete.php
странице, вам необходимо подключить database.php файл на эту страницу.
delete.php
<?php
include('database.php');
//Followed by Delete Code over Here.
// And then you have to redirect the page using the header location
header('Location: BACK TO YOUR LIST PAGE');
?>
Надеюсь, что мое объяснение будет понятным для вашего понимания, и вы сможете заставить его работать над следующими проектами на лету.
Удалить пример с помощью PDO:
<?php
/**
* PHP MySQL Delete Data Demo
*/
class DeleteDataDemo {
const DB_HOST = 'localhost';
const DB_NAME = 'classicmodels';
const DB_USER = 'root';
const DB_PASSWORD = '';
/**
* PDO instance
* @var PDO
*/
private $pdo = null;
/**
* Open a database connection to MySQL
*/
public function __construct() {
// open database connection
$conStr = sprintf("mysql:host=%s;dbname=%s", self::DB_HOST, self::DB_NAME);
try {
$this->pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD);
} catch (PDOException $e) {
die($e->getMessage());
}
}
/**
* Delete a task based on a specified task id
* @param int $id
* @return bool true on success or false on failure
*/
public function delete($id) {
$sql = 'DELETE FROM tasks
WHERE task_id = :task_id';
$q = $this->pdo->prepare($sql);
return $q->execute([':task_id' => $id]);
}
/**
* close the database connection
*/
public function __destruct() {
$this->pdo = null;
}
}
$obj = new DeleteDataDemo();
// delete id 2
$obj->delete(2);
Здесь я нашел очень хороший учебник для целей обучения, пожалуйста, ознакомьтесь с этой ссылкой.