Помогите с запросом к БД для замены текстов

Тема в разделе "Базы данных", создана пользователем Ozz99, 5 фев 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Ozz99

    Ozz99

    Регистр.:
    15 май 2009
    Сообщения:
    201
    Симпатии:
    168
    В таблице post есть графа komment.

    Задача Вытащить оттуда все комментарии в текстовый файл (худо-бедно с этим я бы справился), но после обработки эти комментарии надо засунуть обратно в том же порядке. Вот тут напряг. Поможете составить скрипт. Всё на локале
     
  2. x@nder

    x@nder Постоялец

    Регистр.:
    3 апр 2007
    Сообщения:
    128
    Симпатии:
    5
    Ни чего не понял.
    Вам нжно считать несколько записей, при этом удалив их затем обработав и вставить обратно? (тут проблем вообще ни каких не должно быть. Если взять в оборот уникальное поле ID или Дату добавления)

    Или вам нужно эти записи просто обновить (тут вообще нет ни каких проблем. Читаете а потом апдейтите по тому же полю ID)


    Если хотите кода. То
    1)потрудитесь сначала выложить структуру базы.
    2)Хотя бы пример 5 записей.
    3) И последовательность действий которую нужно с этими записями произвести(хотя бы на пальцах)
     
  3. Ozz99

    Ozz99

    Регистр.:
    15 май 2009
    Сообщения:
    201
    Симпатии:
    168
    Примерно вот это и надо. Берём все записи по порядку по id, затем в txt их, затем я их обрабатываю и потом обратно в таблицу по тому же id, с заменой тех что были

    Структура таблицы (знать бы что вы хотите)
    В таблице много полей. называется post
    Поле id 1,2 и т,д
    Поле data - в нём дата записана
    ещё какие то поля не помню сейчас, но к вечеру гляну если надо.
    И поле komment в нём тексты символов по 100 - 250

    Вот и вся структура.
     
  4. EnGeLs

    EnGeLs Постоялец

    Регистр.:
    30 апр 2008
    Сообщения:
    87
    Симпатии:
    21
    Зачем их в текстовый файл сохранять? Можно после обработки UPDATE запросом по WHERE `id` вставлять обратно.
    Но если так надо, то из текстового можно вытаскивать функциями php fopen и fgets(или fgetcsv).
     
  5. deniua

    deniua Создатель

    Регистр.:
    5 янв 2009
    Сообщения:
    11
    Симпатии:
    0
    через php fopen все получится
     
  6. Ozz99

    Ozz99

    Регистр.:
    15 май 2009
    Сообщения:
    201
    Симпатии:
    168
    Как UPDATE запросом по `id` загнать в базу один комент я знаю, но проблема не знаю как загнать туда их сотня.
    как должен выглядеть исходник и как сам запрос.

    например вот так я могу получить
    id=1
    koment=текст
    id=2
    koment=текст
    и т.д
    Или надо другую структуру получить?

    И как должен выглядеть сам запрос UPDATE что бы он всё это обратно загнал одним нажатием кнопки или как должен цикл выглядеть, что бы сначала взяло пост с id=1 потом с id=2 и т.д
     
  7. Sanuch

    Sanuch

    Регистр.:
    25 май 2009
    Сообщения:
    207
    Симпатии:
    70
    почему нельзя сделать обработку комментариев в самом скрипте?
    получили все необходимые данные из базы, прошлись по ним в цикле, обработали и каждую запись обновили в базе.
    в противном случае, для вашего варианта с работрй через файл, желательно в одной строке сохранять и идентификатор, и сам комментарий
    id:koment
     
  8. lout

    lout Создатель

    Регистр.:
    9 дек 2009
    Сообщения:
    10
    Симпатии:
    2
    цикл обычный:
    для всех от i=1 до "количество строк"
    -делаете SELECT нужные данные FROM нужная таблица WHERE id=i
    -делаете обработку полученных данных
    -делаете UPDATE нужная таблица SET нужные данные WHERE id=i
    конец для всех

    Это если "в лоб". А лучше одним селектом выбрать все нужные строки и затем уже по полученому рекордсету в цикле пройти с построчной обработкой и апдейтами.
     
    Ozz99 нравится это.
  9. Ozz99

    Ozz99

    Регистр.:
    15 май 2009
    Сообщения:
    201
    Симпатии:
    168
    Может это совсем тупой вопрос, но не знаю как должна выглядеть эта строка i=1 до "количество строк"
    Как i присвоить значение от и до? Может кто то напишет. (два часа ковырялся, прежде чем написать тут, так что не сочтите за набор постов.
     
  10. Yozik

    Yozik

    Регистр.:
    5 дек 2007
    Сообщения:
    239
    Симпатии:
    65
    -делаете SELECT COUNT(id) FROM нужная таблица.
    - счётчик - for($i=1; $i < предыдущая выборка); $i++){
    -делаете SELECT нужные данные FROM нужная таблица WHERE id=i
    }
     
    Ozz99 нравится это.
Статус темы:
Закрыта.