За последние 24 часа нас посетили 51025 программистов и 2784 робота. Сейчас ищут 1224 программиста ...

несколько запросов sql

Тема в разделе "PHP для новичков", создана пользователем kr3v3tkus, 18 окт 2008.

  1. QQQ

    QQQ Активный пользователь

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    kr3v3tkus

    почитать:
    http://ru.php.net/manual/ru/function.preg-match.php
    http://ru.php.net/manual/ru/function.preg-replace.php

    А почему не хавает то? Вроде корректный формат даты.
    Ну вот:
    Код (Text):
    1.  
    2. $var = "2008-10-21";
    3.  
    4. preg_match("/^([0-9]{4})\-([0-9]{2})\-([0-9]{2})$/", $var, $result);
    5.  
    6. $year = $result[1];
    7. $month = $result[2];
    8. $day = $result[3];
    9.  
    10. echo "$day/$month/$year\n<br>\n";
    11.  
    12.  
    13. // Или так:
    14.  
    15. $new_format = preg_replace("/^([0-9]{4})\-([0-9]{2})\-([0-9]{2})$/", "$3.$2.$1", $var); // В каком тебе формате надо
    16.  
    17. echo $new_format;
     
  2. kr3v3tkus

    kr3v3tkus Активный пользователь

    С нами с:
    8 окт 2008
    Сообщения:
    32
    Симпатии:
    0
    пробовал - без масок тяжко, смотрится тарабарщиной :) вот маски почитаю и мб чёто пойму :)

    ну у меня почемуто с "-" не принимало, а с "." принимало из пма... но в общем то вставил
    $new_format = preg_replace("/^([0-9]{4})\-([0-9]{2})\-([0-9]{2})$/", "$3.$2.$1", $var);
    всё правильно выводит... но в базу опять же не добавляет Т___Т я уже не знаю в чём искать причину...
     
  3. QQQ

    QQQ Активный пользователь

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    ну я хз даже...

    попробуй в phpmyadmin'e выполни:

    Код (Text):
    1.  
    2. insert into currency(`ticker`,`date`,`price`) values('AUD', '2008-10-21', '18.2731 ') # только так, как выдаётся сейчас с твоими точками
    если внесёт данные, то выполни весь запрос целиком, который генериться щас (с точками) и посмотри что будет..
     
  4. kr3v3tkus

    kr3v3tkus Активный пользователь

    С нами с:
    8 окт 2008
    Сообщения:
    32
    Симпатии:
    0
    опа\ вывод надо было сделать не $3.$2.$1 а $1.$2.$3, теперь с датой всё ок, а пишет
    запрос видица там так
    [sql]INSERT INTO currency( `ticker` , `date` , `price` )
    VALUES (
    'AUD', '2008.10.22', '18.1443 '
    ), (
    'BYR', '2008.10.22', '12.5109 '
    ), (
    'CAD', '2008.10.22', '22.1047 '
    ), (
    ...[/sql]
    что за пробел в конце чисел? =\ price типа double...
    зы вроде понил... ща диапазон расшырю :)
     
  5. kr3v3tkus

    kr3v3tkus Активный пользователь

    С нами с:
    8 окт 2008
    Сообщения:
    32
    Симпатии:
    0
    м... менял менял на разные - ошибки не вылазяет только при decimal, real ваще почемуто даже при пустой базе не ставица(или ему нельзя длинну выставлять?) где лучше хранить такого типа запись?
     
  6. QQQ

    QQQ Активный пользователь

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    ну я уже хз... )))

    дамп базы в студию! ))
     
  7. kr3v3tkus

    kr3v3tkus Активный пользователь

    С нами с:
    8 окт 2008
    Сообщения:
    32
    Симпатии:
    0
    --
    -- Структура таблицы `currency`
    --

    CREATE TABLE IF NOT EXISTS `currency` (
    `ticker` varchar(3) collate utf8_unicode_ci NOT NULL,
    `date` date NOT NULL,
    `price` float NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

    --
    -- Дамп данных таблицы `currency`
    --

    это? :[
     
  8. Mete0

    Mete0 Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    Сделай в скрипте SET NAMES сразу после того как выбрал БД (mysql_select_db()).

    PHP:
    1. <? mysql_query('SET NAMES utf8'); ?>
     
  9. kr3v3tkus

    kr3v3tkus Активный пользователь

    С нами с:
    8 окт 2008
    Сообщения:
    32
    Симпатии:
    0
    неа в утф тоже не катит :(