Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 9 из 9
  1. #1
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±

    Снова вопрос по sscanf

    Доброго времени суток, в связи с тем, что я уже был разобрался с загрузкой из базы данных, теперь не могу разобраться со сохранением в неё же, помогите написать сохранение.

    Суть вот в чём:
    В базе данных в одной строке я храню 3 названия, т.е
    PHP код:
    Test1,Test2,Test3 
    При загрузке из базы данных разделяю их по разным переменным.

    Образно говоря:
    Загрузил я эти 3 названия в переменную:
    PHP код:
    new TEST_ID[3][30]; 
    Потом с помощью sscanf раскинул т.е
    PHP код:
    new ID_TEST[3][30];
    sscanf(TEST_ID[1], "p<,>s[20]s[20]s[20]"ID_TEST[0], ID_TEST[1], ID_TEST[2]); 
    Вопрос теперь вот в чём, я допустим, хочу изменить название Test1

    Иду в диалоги, там провожу изменения:
    PHP код:
    strmid(ID_TEST[0], inputtext0strlen(inputtext), 20); 
    А вот как теперь это всё дело изменить в базе данных, не пойму... прошу помощи...

  2. #2
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Так сразу сохраняй Test1,Test2,Test3 одной строкой

  3. Пользователь сказал cпасибо:
    Сергей (09.12.2018)
  4. #3
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±
    Набил пост?

    Вопрос и просьба помочь была конкретной, я хочу по пробовать сделать, именно так, если я редактирую Test2 то мне его в БД и нужно отредактировать(перезаписать) как хотите...

    А те одной строкой сохранять

  5. #4
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Но все равно перезапишется вся ячейка

  6. Пользователь сказал cпасибо:
    Сергей (09.12.2018)
  7. #5
    Аватар для Seviel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2016
    Адрес
    Казахстан
    Сообщений
    148
    Репутация:
    26 ±
    Ну вроде так
    PHP код:
    #define MAX_TEST 3
    new string[MAX_TEST 30 MAX_TEST];
    for(new 
    iMAX_TESTi++)
    {
        if(
    != 0strcat(string",");
        
    strcat(stringID_TEST[i]);

    Запрос:
    PHP код:
    UPDATE `tableSET `column`='%s' 
    Последний раз редактировалось Seviel; 30.11.2018 в 01:10.

  8. Пользователь сказал cпасибо:
    Сергей (09.12.2018)
  9. #6
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±
    Цитата Сообщение от Seviel Посмотреть сообщение
    Ну вроде так
    PHP код:
    #define MAX_TEST 3
    new string[MAX_TEST 30 MAX_TEST];
    for(new 
    iMAX_TESTi++)
    {
        if(
    != 0strcat(string",");
        
    strcat(stringID_TEST[i]);

    Запрос:
    PHP код:
    UPDATE `tableSET `column`='%s' 
    Отпишусь, как по пробую.

  10. #7
    Аватар для UnO
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.01.2018
    Сообщений
    52
    Репутация:
    7 ±
    Цитата Сообщение от Сергей Посмотреть сообщение
    Набил пост?

    Вопрос и просьба помочь была конкретной, я хочу по пробовать сделать, именно так, если я редактирую Test2 то мне его в БД и нужно отредактировать(перезаписать) как хотите...

    А те одной строкой сохранять
    Ты если не понимаешь, что тебе советуют, так не агрись
    Как загружаешь, так и сохранять надо, только в обратном порядке
    PHP код:
    format(strsizeof str"UPDATE table SET rank0 = '%s,%s,%s'"ID_TEST[0], ID_TEST[1], ID_TEST[2]);
    mysql_tquery(1str); 

  11. Пользователь сказал cпасибо:
    Сергей (09.12.2018)
  12. #8
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±
    Дак зачем перезаписывать опять же всё? Если можно только 1 строчку поменять?

    Причём тут агрится? Если я ясно дал понять, какой конкретно результат я хочу увидеть...

  13. #9
    Аватар для UnO
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.01.2018
    Сообщений
    52
    Репутация:
    7 ±
    ТРИ названия хранятся в ОДНОЙ строке в бд. Если хочешь поменять ОДНО название, надо перезаписать всю строку.
    Нельзя и рыбку съесть, и на хрен не сесть
    Хочешь другой результат увидеть? Храни все названия в отдельных ячейках и меняй их сколько душе угодно.
    Последний раз редактировалось UnO; 01.12.2018 в 16:08.

  14. Пользователь сказал cпасибо:
    Сергей (09.12.2018)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •