[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Почему не работает кнопка "Редактировать"
Stanislav333
Прошу помощи, подскажите почему не работает кнопка "Редактировать"?
Ниже прилагаю весь код:
Первый файл всех функций: fn.php
<?php
/*
* подключение к базе
*
*/


function connect_db(){
$mysqli = new mysqli('localhost','root','12345','mybase');
$mysqli->set_charset("cp1251");
if($mysqli->connect_error){
die('Connect Error: '.$mysqli->connect_error);
}
return $mysqli;
}
function select_list(){
$mysqli = connect_db();
$sql = "SELECT * FROM list";
if($res = $mysqli->query($sql)){
if($res->num_rows > 0){

$row= $res->fetch_all(MYSQLI_ASSOC);
}

}
else {
echo 'Запрос не прошел' . $mysqli->error;
}
return $row;
}
/*
* Удаление записей
*
*/

function del(){
$mysqli = connect_db();
if(isset($_GET['del'])){

$id = $_GET['del'];
$sql = "DELETE FROM list WHERE id = ? LIMIT 1";
if($stmt = $mysqli->prepare($sql)){
$stmt->bind_param("i",$id);
$stmt->execute();
$stmt->close();
header("Location: view.php");

} else{
echo "Запрос к базе данных не прошел".$mysqli->error;
}
}
}

/*
* добавление новой записи
*
*/

function record(){
$mysqli = connect_db();

if(isset($_POST['firstname'])){
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$firstname = mysqli_real_escape_string($mysqli, $firstname);
$lastname = mysqli_real_escape_string($mysqli, $lastname);
if($firstname != '' && $lastname != ""){
$sql = "INSERT INTO list VALUES(NULL, '$firstname', '$lastname')";
if($mysqli->query($sql)){

header("Location: view.php");

} else {
echo "Запрос не прошел ". $mysqli->error;
}

}
else {

echo "<h3>Необходимо заполнить поля</h3>";
}
}
}

/*
* обновление записи
*
*/

function edit(){
$mysqli = connect_db();
if(isset($_POST['id'])){
$id = $_POST['id'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];

$sql = "UPDATE list SET firstname = ?, lastname = ? WHERE id = ?";
if($stmt = $mysqli->prepare($sql)){
$stmt->bind_param("ssi",$firstname,$lastname,$id);
$stmt->execute();
$stmt->close();
header("Location: view.php");
}

}
else{
echo "Запрос не прошел";
}
}

/*
*
*вывод одной записи
*/

function select_one(){
$mysqli = connect_db();
if(isset($_GET['edit'])){
$id = $_GET['edit'];

$sql = "SELECT * FROM list WHERE id = '$id' LIMIT 1";
if($res = $mysqli->query($sql)){
if($res->num_rows > 0) {

$row = $res->fetch_assoc();

}else{

echo "Запрос к базе данных не прошел ".$mysqli->error;

}
}
}

return $row;
}

?>

Главная страница: view.php
<?php
require_once 'fn.php';

?>
<!DOCTYPE html>
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html;
charset=cp1251"
>
<
title>Список</title>
<
script type="text/javascript" src="jquery.js"></script>
<
script type="text/javascript" src="myscript.js"></script>
</
head>
<
body>
<
h2>MYSQLI CRUD</h2>


<
h3 style="text-align: center;">Список</h3>
<
div style="margin: 0 auto; width:400px;">
<
table border="2">
<
tr>

<
th>ID</th>
<
th>Имя</th>
<
th>Фамилия</th>
<
th>Редактировать</th>
<
th>Удалить</th>

</
tr>
<?php foreach(select_list() as $val):?>
<tr>


<
td><?php echo $val['id']?></td>
<
td><?php echo $val['firstname']?></td>
<
td><?php echo $val['lastname']?></td>
<
td><button><a href="edit.php?edit=<?php echo $val['id']?>">Редактировать</a></button></td>
<
td><button data-del="<?php echo $val['id']?>">Удалить</button></td>

</
tr>
<?php endforeach; ?>


</table>
</
div>
<
p><a href="record.php">Добавить запись</a></p>
</
body>
</
html>

Файл редактирования: edit.php
<?php
include_once 'fn.php';
if(isset($_POST['id'])){
edit();
}
if(isset($_GET['edit'])){
$row = select_one();

?>
<!DOCTYPE html>
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html;
charset=cp1251"
>
<
title></title>
</
head>
<
body>
<
h2>Редактируем запись</h2>

<
div style="margin:0 auto; width:450px;">
<
fieldset>
<
legend>Редактируем запись</legend>
<
form method="POST" action="<?php $_SERVER['PHP_SELF']?>">
<
label>Введите имя *:</label><br/>
<
input type="text" name="firstname" value="<?php echo $row['firstname']?>"/><br/>

<
label>Введите фамилию *:</label><br/>
<
input type="text" name="lastname" value="<?php echo $row['lastname']?>" /><br/>

<
input type="hidden" name="id" value="<?php echo $row['id ']?>"/>
<
input type="submit" value="Сделать запись" />

</
form>
<
p>Поля отмеченные * требуют заполнения</p>
</
fieldset>
</
div>
</
body>
</
html>
<?php
}else{
header("Location: view.php");
}
?>

Всё работает отлично, кроме кнопки "редактировать".
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.