За последние 24 часа нас посетили 19988 программистов и 1708 роботов. Сейчас ищут 1580 программистов ...

Релизация UPDATE table_name SET **** WHERE ****

Тема в разделе "PHP и базы данных", создана пользователем Lancellot, 10 июн 2010.

  1. Lancellot

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

    С нами с:
    10 июн 2010
    Сообщения:
    5
    Симпатии:
    0
    Приветствую всех форумчан!
    Заранее приношу извинения! Вы можете меня послать штудировать соответствующую литературу, но вдруг найдётся тот, кто сможет мне написать как это сделать, если сам сталкивался с этим.

    Есть БД

    | id | name | coords | lat | ltd |
    ---------------------------------------------|
    | 1 | name1 | 23.22;10.11 | 00 | 00 | <---- 23 | 10 | (пример)после преобразования substr
    | 2 | name2 | 18.22;13.11 | 00 | 00 | <---- 18 | 13 | (пример) после преобразования substr
    | 3 | name3 | ****;***** | 00 | 00 |
    | .. | name.. | ****;***** | 00 | 00 |
    | n | namen | ****;***** | 00 | 00 |
    ------------------------------------------------------------


    Что нужно:
    Нужно в каждую строку ( по lat и ltd) внести запись. Запись не простая. Она берется из столбца coords каждой строки, преобразуется и вносится в lat и ltd этой же строки. И нужно я так понимаю замутить цикл который всё это будет делать. Хочу заметить что за преобразование, это изменение coords через substr.

    Тоесть например, я беру coords у id=1, изменяю его и записываю в lat и ltd этого же самого id=1.
    Дальше также но с id=2 и так до конца.

    Суть преобразования, мне нужно отфилитровать coords, без знака ;... тоесть разбить его на два значения.

    Вот функция:
    Код (Text):
    1.  
    2. // Выборка всех записей из таблицы jos_estateagent
    3. $result = mysql_query("SELECT * FROM jos_estateagent");
    4. $myrow = mysql_fetch_array($result);
    5.  
    6. $conv = $myrow["coords"];
    7.  
    8. $string1 = substr("$conv", 0, 9);
    9. $string2 = substr("$conv", 10, 9);
    10.  
    11. echo ($string1);
    12. echo ($string2);
    13. ?>
    Вопрос: как сотворить такое?
     
  2. Einbaukueche

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

    С нами с:
    14 апр 2010
    Сообщения:
    34
    Симпатии:
    0
    Адрес:
    Там, где много гор и пива.
  3. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Если это обычное явление:
    1)Нужна ли такая денормализация? Нельзя ли вычислять данные в момент когда они нужны?
    2)Нельзя ли сразу заносить все данные?

    Если это разовое преобразование:
    3)В mysql должен быть аналог substr:
    [sql]update table set field=func(field2, arg1, arg2), field1=func(field2, arg1, arg3)[/sql]
    где func этот самый аналог.
    Пока писал как раз привели ссылку.
     
  4. Lancellot

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

    С нами с:
    10 июн 2010
    Сообщения:
    5
    Симпатии:
    0
    спасибо за помощь! Буду разбираться.