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

> Редактирование записей в БД MySQL
TranceIT  
Дата
Цитировать сообщение

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



...Один я одинаковый...
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1733
Пользователь №: 19760
На форуме: 7 лет, 22 дня
Карма: 58




Kusss
В данном случае да, массив, но с одним единственным значением, которое выберет пользователь. Cдается мне ты путаешь radio с checkbox.

Кодом $edit[$value][] = $key; ты просто меняешь местами ключ значение и не задумываешься о том, что если у массива будут одинаковые значения, то в новом массиве ключи перезапишутся.

А вот этот код

foreach ($edit AS $value=>$num){
// обновляем ВСЕ num со значением ( 0, 1 ,2 )
$sql = "UPDATE `objects` SET `status`= '$value' WHERE num IN (".implode(', ' $num).") ";
mysqli_query($sql) or die( mysqli_error() );
}

Отработает три раза (вернее столько раз, сколько элементов в массиве), но в итоге в базе у всех $num будет значение последнего элемента массива $edit.


$update = "UPDATE `objects` SET `status` = CASE";
foreach ($_GET['group'] AS $key=>$value){

$update .= " WHEN num = $key THEN $value ";
$_num[] = $value['id'];
}
$update .= " END WHERE num IN (".implode(',',$_num).")";


Ты хоть проверяешь результат перед тем как советовать?


--------------------
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

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

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



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

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1357
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 10 дней
Карма: 77




TranceIT
похоже ты совершенно не разбираешься в массивах.

И спасибо что указал ошибку:
$_num[] = $value['id'];
заменить на
$_num[] = $key;
копипаст непобедим :(
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TranceIT  
Дата
Цитировать сообщение

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



...Один я одинаковый...
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1733
Пользователь №: 19760
На форуме: 7 лет, 22 дня
Карма: 58




Цитата (Kusss @ 4.02.2016 - 18:39)
похоже ты совершенно не разбираешься в массивах.

Аргументируй. Где я ошибся?

Зачем вот это вообще?
$_num[] = $key;

Почему ты не используешь все возможности языка? Если ты хочешь собрать все ключи в отдельном массиве, то есть array_keys().


--------------------
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

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

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



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

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1357
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 10 дней
Карма: 77




Цитата (TranceIT @ 5.02.2016 - 08:07)
Аргументируй. Где я ошибся?

Цитата
Кодом $edit[$value][] = $key; ты просто меняешь местами ключ значение и не задумываешься о том, что если у массива будут одинаковые значения, то в новом массиве ключи перезапишутся.

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

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

Опции темыСтраницы: (2) 1 [2]  Ответ в темуСоздание новой темыСоздание опроса