Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
GORKOMXO3
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 24
#1

Не правильно отрабатывает скрипт

02.10.2014, 14:12. Просмотров 893. Ответов 6
Метки нет (Все метки)

Уважаемые форумчане, подскажите пожалуйста почему не правильно работает скрипт, сам я что-то не пойму.
Расскажу, что он должен делать:
В некой базе, есть таблица с записями, в таблице есть одно поле содержащее даты, это поле с самого начала было задано с неверным типом varchar, должно быть date. Так вот что бы изменить тип этого поля на нужный, мне сначало все даты имеющие формат 00-00-0000, нужно перевернуть в формат 0000-00-00.
Пытаюсь использовать данный скрипт:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
include("bd/bd.php");
 
$data_db = mysql_query("SELECT nomer_p_p, data_dog FROM body order by nomer_p_p");
 
 
    while ($data_dog = mysql_fetch_array($data_db))
        {
        $data_new_dog = implode('-', array_reverse(explode('-', $data_dog['data_dog'])));
        $rezidup = mysql_query("UPDATE `body` SET
        `data_dog` = '$data_new_dog'")or die(mysql_error());
         echo "Номер по порядку:".$data_dog['nomer_p_p']." Дата договора: ".$data_dog['data_dog']."</br>";
        }
 
?>
В итоге получаю, что даты то перевернулись, но почему то все имееют последнюю дату, допустим 2014-09-30.
Почему скрипт просто не переворачивал в нужный формат, а изменял сами даты и все одинаковые?

Добавлено через 1 час 34 минуты
Не ужели ни кто не знает?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2014, 14:12
Ответы с готовыми решениями:

Скрипт для рассылки email через smtp gmail, не отрабатывает до конца
Здравствуйте, написал небольшой скрипт, который подключаясь к почте на Gmail...

Скрипт не отрабатывает и не выдает ошибок
Здравствуйте. Переехали на новый сервер и обнаружились проблемы. 1. Не...

Скрипт не правильно ищет
Доброй ночи! Скрипт ищет только по кузову, что сделать что бы он как положено...

как правильно оформить скрипт
Всем привет! Я с таким сталкивалась всего один раз и работала тогда с yii...

Как правильно реализовать такой скрипт?
Приветствую всех пользователей форума! У меня такая проблема. У пользователя...

6
Lazy_Den
2931 / 2610 / 1317
Регистрация: 15.01.2014
Сообщений: 5,733
02.10.2014, 14:42 #2
Зачем какие-то циклы? Выполните один единственный запрос и не мучайтесь:

MySQL
1
UPDATE `my_table` SET `wrong_field`= STR_TO_DATE( `wrong_field` , '%d-%m-%Y' );
my_table - ваша таблица
wrong_field - поле, где нужно преобразовать дату
1
GORKOMXO3
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 24
02.10.2014, 14:47  [ТС] #3
Lazy_Den, во точно, спасибо сейчас попробую.
А все же интересно, почему в цикле неверно отрабатывает?
0
Lazy_Den
2931 / 2610 / 1317
Регистрация: 15.01.2014
Сообщений: 5,733
02.10.2014, 14:53 #4
Лучший ответ Сообщение было отмечено GORKOMXO3 как решение

Решение

Цитата Сообщение от GORKOMXO3 Посмотреть сообщение
А все же интересно, почему в цикле неверно отрабатывает?
Потому что вы не указывали для какой именно записи нужно изменить данные поля (типа ... WHERE `data_id` = $data_dog['data_id']).
1
GORKOMXO3
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 24
02.10.2014, 15:28  [ТС] #5
Ох точно, спасибо!!!

Добавлено через 20 минут
Lazy_Den, помогайте, не корректно говорит мне база Truncated incorrect date value: '16-05-2013'
вот так переворачиваю
PHP
1
2
$rezidup = "UPDATE `body` SET `data_dog` = STR_TO_DATE( `data_dog` , '%Y-%m-%d' )";
mysql_query($rezidup) or die(mysql_error());
0
Lazy_Den
2931 / 2610 / 1317
Регистрация: 15.01.2014
Сообщений: 5,733
02.10.2014, 15:34 #6
GORKOMXO3, Указывайте формат не тот, который хотите получить, а тот , который есть на входе.

Добавлено через 2 минуты
Если у вас дата в таком виде "00-00-0000", то указываете '%d-%m-%Y', если дата такая "0000.00.00", то маска '%Y.%m.%d' и т.д.
0
GORKOMXO3
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 24
02.10.2014, 17:45  [ТС] #7
Lazy_Den, спасибо в очередной раз.
0
02.10.2014, 17:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2014, 17:45

Как правильно написать php что бы на сайте выполнялся js скрипт(таймер)?
Как правильно написать 11.php что бы на сайте выполнялся js скрипт(таймер)??? ...

Как правильно написать скрипт для чтения файла с расширением .csv(Excel) ?
как правильно написать скрипт для чтения файла с расширением .csv(Excel) пишу...

Как наиболее правильно (или корректно) должна выглядеть строка запроса при передаче в скрипт параметров?
Как наиболее правильно (или корректно)должна выглядеть строка запроса при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru