Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Удаление записи, Удаление записи
neverchik  
 ۩  [x]    Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 42419
На форуме: 10 месяцев, 10 дней
Карма:




Здравствуйте! Написал код, но почему то удаляет не конкретную запись, а начиная снизу независимо от кнопки. Записи выводятся одна за одной с каждой кнопкой удаления.


$sql_ = $db->super_query("SELECT * FROM `".PREFIX."_count` ORDER BY id DESC", 1); //Выборка из БД
$b = 0; //Количество счетчиков в базе

//Перебрать и вывести

foreach($sql_ as $row){
$count .= '
<form action="/controlpanel.php?mod=count" method="post" name="form">
<h1 style="color:#5788B9;font-size: 11pt;">'
.$row['name'].'</h1>
<div class="fllogall">Название счетчика:</div><input type="text" name="name" value="'
.$row['name'].'" class="inpu" /><div class="mgcler"></div>
<div class="fllogall">Код счетчика:</div><textarea class="inpu" name="code">'
.$row['code'].'</textarea>
<div class="fllogall"> </div><input type="submit" value="Обновить" name="new" class="inp" style="margin-top:0px" />
<div class="fllogall"> </div><input type="submit" value="Удалить" name="del" class="inp" style="margin-top:0px" />
</form><br>'
;
$b++;
}

$id = $row['id']; //id с базы
//Кнопка удалить счетчик

if (isset($_POST['del'])) {
$db->super_query("DELETE FROM `".PREFIX."_count` WHERE id='$id'");
msgbox('Успешно!', 'Счетчик был успешно удален!', '?mod=count');
exit;
}
//Кнопка обновить счетчик
//htmlspecialchars($code, ENT_QUOTES) - чтобы вставить код

if (isset($_POST['new'])) {
$db->super_query("UPDATE `".PREFIX."_count` SET `name`='$name',`code`='".htmlspecialchars($code, ENT_QUOTES)."' WHERE id='$id'");
msgbox('Успешно!', 'Счетчик был успешно обновлен!', '?mod=count');
exit;
}


Это сообщение отредактировал neverchik - 23.01.2016 - 22:05

Присоединённое изображение
Присоединённое изображение
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 11 месяцев, 29 дней
Карма: 10




Цитата (neverchik @ 23.01.2016 - 22:04)
$id = $row['id']; //id с базы


в этом месте всегда пишется последняя id из выбранных, она то и попадает в запрос удаления, чего-то в форме не так.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
T1grOK  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2703
Пользователь №: 24406
На форуме: 6 лет, 1 месяц, 17 дней
Карма: 170




Вы никак не идентифицируете записи с которыми работаете. Вы говорите "Удали", "Обнови", но не говорите, что именно. И как было отмечено ранее вы просто берете последнюю запись и с ней работаете.


--------------------
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3375
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 170




в форму добавить

$count .= " .....
<input type='hidden' name='id' value='"
. $row['id'] . "'>
........"
;


удаление переписать на:
 if (isset($_POST['id'])) {
$id = (int)$_POST['id'];
....
// далее по тексту


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
neverchik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 42419
На форуме: 10 месяцев, 10 дней
Карма:




Цитата (AllesKlar @ 23.01.2016 - 22:18)
в форму добавить

$count .= " .....
    <input type='hidden' name='id' value='"
. $row['id'] . "'>
........"
;


удаление переписать на:
 if (isset($_POST['id'])) {
        $id = (int)$_POST['id'];
        ....
// далее по тексту

Спасибо помогло, только чуть изменил, а то ошибку выдавало. Вот так


$count .= " .....
<input type="
hidden" name="id" value="'.$row['id'].'">
........"
;
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14966
Пользователь №: 4190
На форуме: 8 лет, 9 месяцев, 27 дней
Карма: 443




Цитата (neverchik @ 23.01.2016 - 22:34)
Вот так

$count .= " .....
    <input type="hidden" name="id" value="'.$row['id'].'">
........";

Готов поспорить, что в браузер у тебя передается полная лабуда. При этом оно не должно работать. У AllesKlar было нормально написано, все кавычки правильные и на месте. А ты сделал "непоймичто".


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
neverchik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 42419
На форуме: 10 месяцев, 10 дней
Карма:




Цитата (sergeiss @ 24.01.2016 - 00:11)
Цитата (neverchik @ 23.01.2016 - 22:34)
Вот так

$count .= " .....
     <input type="hidden" name="id" value="'.$row['id'].'">
........";

Готов поспорить, что в браузер у тебя передается полная лабуда. При этом оно не должно работать. У AllesKlar было нормально написано, все кавычки правильные и на месте. А ты сделал "непоймичто".

Кавычки! $count .= " ..... а у меня $count .= ' ..... все работает
Если надо все таки наоборот, поправь меня. Переделаю с кавычками...

Это сообщение отредактировал neverchik - 24.01.2016 - 00:16
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса