Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.05.2017, 23:12
Интересующийся
Отправить личное сообщение для allonemoon Посмотреть профиль Найти все сообщения от allonemoon
 
Регистрация: 07.04.2015
Сообщений: 18

Не записывается изменение записи UPDATE
Подскажите в чём проблема? Не работает редактирование записи....

<script type="text/javascript" src=".\js\hide.js"></script>
<?php

// Количество новостей на странице
$on_page = 10;


// Получаем количество записей таблицы news
$query = "SELECT COUNT(*) FROM gornaz_reg";
$res = mysql_query($query);
$count_records = mysql_fetch_row($res);
$count_records = $count_records[0];


// Получаем количество страниц
// Делим количество записей на количество новостей на странице
// и округляем в большую сторону
$num_pages = ceil($count_records / $on_page);


// Текущая страница из GET-параметра page
// Если параметр не определен, то текущая страница равна 1
$current_page = isset($_GET['page']) ? (int)$_GET['page'] : 1;

// Если текущая страница меньше единицы, то страница равна 1
if ($current_page < 1)
{
$current_page = 1;
}
// Если текущая страница больше общего количества страница, то
// текущая страница равна количеству страниц
elseif ($current_page > $num_pages)
{
$current_page = $num_pages;
}


// Начать получение данных от числа (текущая страница - 1) * количество записей на странице
$start_from = ($current_page - 1) * $on_page;


if (isset($_GET['red_id'])) { //Проверяем, передана ли переменная на редактирования
if (isset($_POST['role'])) { //Если новое имя предано, то обновляем и имя и цену
$sql = mysql_query('UPDATE gornaz_reg SET '
.'`role`= "'.$_POST['role'].'",'
.'WHERE `ID` = '.$_GET['red_id']);
}
}


// Формат оператора LIMIT <ЗАПИСЬ ОТ>, <КОЛИЧЕСТВО ЗАПИСЕЙ>
$query = "SELECT `id`, `login`, `status`, `role` FROM gornaz_reg ORDER BY `status` DESC LIMIT $start_from, $on_page";
$res = mysql_query($query);



if (isset($_GET['del_id'])) { //проверяем, есть ли переменная
$sql = mysql_query('DELETE FROM gornaz_reg WHERE `ID` = '.$_GET['del_id']); //удаляем строку из таблицы
}




// Вывод результатов
echo '<table border="0"><tr><th>ID</th><th>Логин</th><th>Активация почты</th><th>Права пользователя</th></tr>';
while ($row = mysql_fetch_assoc($res))
{
echo '<tr>';
echo '<td>'.$row['id'].'</td>';
echo '<td style="width:40%;">'.$row['login'].'</td>';

if ($row['status']==1) {echo "<td>активирована</td>";}
elseif ($row['status']==0) {echo "<td>нет активации</td>";}

if ($row['role']==3) {echo "<td name=".$row['id'].">Администртор</td>";}
elseif ($row['role']==2) {echo "<td>Модератор</td>";}
elseif ($row['role']==1) {echo "<td>Пользователь</td>";}

echo '<td><a href="?red_id='.$row['id'].'">Изменить</a></td>';


echo '<td><a href="?del_id='.$row['id'].'">Удалить</a></td></tr>';
echo "<br></td></tr>";

}
echo '</table>';



if (isset($_GET['red_id'])) { //Если передана переменная на редактирование
//Достаем запсись из БД
$sql = mysql_query("SELECT `id`, `role` FROM `gornaz_reg` WHERE `id`=".$_GET['red_id'], $db_connect); //запрос к БД
$result = mysql_fetch_array($sql); //получение самой записи ?>

<table>
<form action="" method="post">
<tr>
<td>Наименование:</td>



<td><input type="text" name="role" value="<?php echo ($result['role']); ?>"></td>
</tr>

<tr>
<td colspan="2"><input type="submit" value="OK"></td>
</tr>
</form>

</table>
<?php
}
?>


<?php
// Вывод списка страниц
echo '<p>';
for ($page = 1; $page <= $num_pages; $page++)
{
if ($page == $current_page)
{
echo '<strong>'.$page.'</strong> &nbsp;';
}
else
{
echo '<a href="?page='.$page.'">'.$page.'</a> &nbsp;';
}
}
echo '</p>';
?>
Ответить с цитированием
  #2 (permalink)  
Старый 03.05.2017, 03:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Причина не в SQL, а в ошибке сроки запроса - с чего вдруг в нем запятая после единственного параметра обновления?

WHERE `id`=".$_GET['red_id'] - это есть грубейшая ошибка. Прежде чем писать запросы к базе да еще к таблице пользователей, которая может хранить их конфиденциальные данные, и за неразглашение которых вы несете ответственность перед Законом, изучить обязательно этот раздел.

Выставляя код, форматируйте его, иначе никто его смотреть не станет.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
NotedOK.com: Быстрые записи в веб, сохраняются как текстовые файлы в Dropbox artemkv Ваши сайты и скрипты 0 06.12.2014 03:16
изменение картинки при изменении урла и наведении курсора ahid Элементы интерфейса 2 09.02.2014 14:53
Формирование номера записи в бд Mafa Серверные языки и технологии 7 27.09.2013 11:21
блокировка записи в БД на изменение в веб приложении igrok Серверные языки и технологии 8 04.07.2011 17:07
Динамическое изменение <input text> baal1988 Events/DOM/Window 4 24.08.2008 17:17