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

> Массовое изменение данных полей - переворачивание, Подскажите делаю запрос изменения данных в БД - но меняет не
drey19061984  
 ۩  Дата
Цитировать сообщение

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



Новичок
*

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




подскажите пожалуйста как сделать? вопрос такой в БД хранятся новости сайта, есть поле data, в ней хранятся даты новостей в виде - 03.05.16 (дата/месяц/год), с помощью кода переворачиваю строку в - год/месяц/дата - сам понимаю что в коде ошибка (не хватает цикла прохода по БД) - но я сам только учусь и не могу логически понять где он должен быть, т.к. при выполнении php-скрипта он берет дату из первой строки данных и переписывает дату всем новостям а не одной отдельной, а надо чтоб брал дату каждой новости и переворачивал, подскажите если можно с кодом как это сделать??? вот сам код

<?PHP  
$select_query = "SELECT data FROM NEWS"; // Запуск запроса $result = mysql_query($select_query); if ($result) { $row = mysql_fetch_array ($result);

$data = $row['data']; $array_string = explode('.', $data); $Mass = array_reverse($array_string); $string = implode('.', $Mass);

$select_query = "UPDATE NEWS SET data='$string'"; // Запуск запроса $result = mysql_query($select_query) or die('Ошибка!!!)'); if ($result) { $row = mysql_fetch_array ($result); $data = $row['data']; }}

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

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



че?
******

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




дату в базе хранить нужно в поле типа дата, а не в таком виде "03.05.16"

а ошибка у тебя в update запросе
UPDATE NEWS SET data='$string'

всем строкам присваивается одна и та же дата, чтобы определенной строке поменять, нужно использовать идентификатор строки через условие WHERE
UPDATE NEWS SET `data`='$string' WHERE `id`='{$row["id"]}'


еще есть функция STR_TO_DATE, через нее можно даты к нормальному виду привести одним запросом


--------------------
"internet explorer всех правильней отображает страницы" ©
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

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



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25988
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 22 дня
Карма: 725

Не курю:
1 год, 2 месяца, 8 дней


1 data - данные date - дата
2 хранить нужно дату в одном формате datetime - формат 2016-03-19 22:33:19 или date

при выводе можешь выводит их как угодно
либо в sql запросе - DATE_FORMAT(date,format) http://www.w3schools.com/sql/func_date_format.asp
либо в php http://php.net/manual/ru/datetime.format.php

формат поля с датой в бд очень важен - сортировка по дате и тд., если тебя формат varchar() - ты много горя хапнешь потом

в твоём случае - я бы сначала прогнал по таблице такой скрипт

update mytable set `date` = DATE_FORMAT(STR_TO_DATE(`date`), '%Y-%m-%d %H:%i:%s')


а потом бы конвертнул поле в нормальный формат

alter table mytable modify `date` datetime


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
drey19061984  
 ۩  Дата
Цитировать сообщение

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



Новичок
*

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




всем спасибо мне уже помогли, чувствую себя идиотом - ударился в ПХП и забыл про SQL, вот что подсказали, я б никогда не додумался(


Эту операцию можно выполнить одним SQL-запросом

UPDATE NEWS
SET data = CONCAT(SUBSTR(data, 7, 2), '.', SUBSTR(data, 4, 2), '.', SUBSTR(data, 1, 2));
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

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



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25988
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 22 дня
Карма: 725

Не курю:
1 год, 2 месяца, 8 дней


drey19061984
ты с датой как с датой работать не сможешь при таком раскладе.

вот понадобиться сортировка или вывод данных за период - и всё.


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

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



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

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




Цитата (Игорь_Vasinsky @ 13.03.2016 - 00:20)
вот понадобится сортировка или вывод данных за период - и всё.

Как это ни печально, но эти твои слова вряд ли будут услышаны. Ведь ему же "уже помогли". Готов спорить, что он уже "решил задачу", по его мнению.


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

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

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

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

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



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25988
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 22 дня
Карма: 725

Не курю:
1 год, 2 месяца, 8 дней


sergeissя 2 раза пытался. потом поймёт.


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

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

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

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