05:51
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: AXE, Weddew  
Help me[MySQL]
MckenzyДата: Суббота, 29.09.2012, 20:08 | Сообщение # 1
Советчик
Группа: I'm V.I.P.
Сообщений: 1212
Награды: 130
Город: Ярославль
Репутация: 2125
Замечания: 80%
Статус:
Вообщем суть такова, пишу команду удаления авто, которая будет смещать все ID в таблице на -1, т.е допустим идут машинки по порядку (auto_increment) 1 2 3 4 5, и если я удаляю 3, то последующие, т.е 4 и 5 смещаются на -1.
Вот код, до которого додумался, но как смещать ид на -1, не довариваю.
Code
if(strcmp(cmd, "/deletecar", true) == 0)  
     {  
         new destroycar, sql[256], carid;  
          destroycar = GetPlayerVehicleID(playerid);  
          carid = GetPlayerVehicleID(playerid);  
          if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)  
         {  
               DestroyVehicle(destroycar);  
               for( new i = CarInfo[carid][id]; i < MAXVEHICLES; i++ )  
             {  
                 format(sql, sizeof(sql), "DELETE FROM `carinfo` WHERE `ID` = %d LIMIT 1", CarInfo[carid][id]);  
                 return mysql_query(sql);  
             }  
         }  
     }  

DrevenДата: Суббота, 29.09.2012, 20:28 | Сообщение # 2
Гуру
Группа: Продвинутые
Сообщений: 1096
Награды: 205
Город: od.ua
Репутация: 1099
Замечания: 0%
Статус:
Mckenzy, автоинкримент вроде нельзя изменить, видел кто-то делал сток чтобы находить свободный id


www.samp-rpg.com
FiLEДата: Суббота, 29.09.2012, 21:42 | Сообщение # 3
Группа: Разработчики
Сообщений: 681
Награды: 70
Город: Одесса
Замечания: 0%
Статус:
Quote (Mckenzy)
смещать все ID в таблице на -1

Я бы сделал так: после того, как удаляем запись о машине, делаем следующее...: узнаем сколько строк в таблице => циклом проходим и выбираем те тачки у которых ID больше чем CarInfo[carid][id] => и выбранную запись апдатим id-1. Потом нужно же еще все записи CarInfo[carid][id] тоже апдатить в моде (обновить).




DrevenДата: Суббота, 29.09.2012, 22:06 | Сообщение # 4
Гуру
Группа: Продвинутые
Сообщений: 1096
Награды: 205
Город: od.ua
Репутация: 1099
Замечания: 0%
Статус:
FiLE, даже если ты поставишь ид 4, автоинкримент поставит столько сколько он считает нужным xD вообщем ты понял =D


www.samp-rpg.com
FiLEДата: Суббота, 29.09.2012, 22:36 | Сообщение # 5
Группа: Разработчики
Сообщений: 681
Награды: 70
Город: Одесса
Замечания: 0%
Статус:
Dreven, ты пробовал изменять иды в таблицах через phpmyadmin? Попробуй. В теме идет речь о смещении уже существующих записей. Если создавать запись, то это тоже можно учесть и установить нужный ид, путем update записи.





Сообщение отредактировал FiLE - Суббота, 29.09.2012, 22:37
MckenzyДата: Суббота, 29.09.2012, 22:46 | Сообщение # 6
Советчик
Группа: I'm V.I.P.
Сообщений: 1212
Награды: 130
Город: Ярославль
Репутация: 2125
Замечания: 80%
Статус:
На оффе говорят, что категорически запрещается изменять инкремент, может нарушиться структура БД O_o
[RD]ChezДата: Суббота, 29.09.2012, 23:49 | Сообщение # 7
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
а зачем тебе использовать уникальный ид для динамических расчетов?
используй many to many и one to many

Добавлено (29.09.2012, 23:49)
---------------------------------------------
да и вообще в базе должны храниться данные статические
а на сервере в массиве зранить как ключ массива ид машины а одно из полей значения по ключу будет хранить инкрементный ид


1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
IInkvizitorДата: Воскресенье, 30.09.2012, 03:00 | Сообщение # 8
Советчик
Группа: I'm V.I.P.
Сообщений: 1177
Награды: 7
Город: Санкт-Петербург
Репутация: 493
Замечания: 0%
Статус:
О боже... Обходить всю таблицу чтобы изменить поле?
MckenzyДата: Воскресенье, 30.09.2012, 16:17 | Сообщение # 9
Советчик
Группа: I'm V.I.P.
Сообщений: 1212
Награды: 130
Город: Ярославль
Репутация: 2125
Замечания: 80%
Статус:
IInkvizitor, смотри какая ситуация. На сервере, ид у машины равен 2, и при апдейте в дебаге WHERE `ID` = 2, вроде все хорошо. Но стоит допустим из трех тачек удалить одну (из трех вторую), то следующая созданная занимает ее место на сервере, а в таблице уже 4 ид (ибо инкремент пробелы в порядковой последовательности не забивает, а так и херачит +1). Как тут быть?
zEscДата: Воскресенье, 30.09.2012, 16:41 | Сообщение # 10
Global Elite
Группа: Ангел Хранитель
Сообщений: 896
Награды: 20
Репутация: 856
Замечания: 0%
Статус:
Mckenzy, не используи инкримент например, сам формируй ид


MckenzyДата: Воскресенье, 30.09.2012, 16:50 | Сообщение # 11
Советчик
Группа: I'm V.I.P.
Сообщений: 1212
Награды: 130
Город: Ярославль
Репутация: 2125
Замечания: 80%
Статус:
Escalante, ну а как например?
zEscДата: Воскресенье, 30.09.2012, 17:27 | Сообщение # 12
Global Elite
Группа: Ангел Хранитель
Сообщений: 896
Награды: 20
Репутация: 856
Замечания: 0%
Статус:
создаёшь переменную в массиве, когда в массив добавляешь инфо о тачке, приравниваешь её еденице, а потом при сохранении смещаешь. Пишу с телефона, мог неправильно выразится

Добавлено (30.09.2012, 17:27)
---------------------------------------------
Посмотри валакас тракер там так реализовано


MckenzyДата: Воскресенье, 30.09.2012, 20:09 | Сообщение # 13
Советчик
Группа: I'm V.I.P.
Сообщений: 1212
Награды: 130
Город: Ярославль
Репутация: 2125
Замечания: 80%
Статус:
Quote (Escalante)
Посмотри валакас тракер там так реализовано

Да где ты там такое увидел?

Kw33ckДата: Воскресенье, 30.09.2012, 21:33 | Сообщение # 14
Местный
Группа: Продвинутые
Сообщений: 620
Награды: 8
Город: Empire Bay
Репутация: 1405
Замечания: 60%
Статус:
Mckenzy, если ты непротив, я немножко пооффтоплю.
Почитал тут твой лог разработки и у меня возник вопрос, нафига ты переписываешь заного уже изобретенные системы?
Смысл писать моды с нуля был не в том, что ты переписывал код вручную, а в том, что изобреталось нечто новое.
Ты просто себя переутруждаешь лишний раз и бестолку.



>>> Внимание: GTA 5 Online на пиратке! <<<

>>> Внимание: Mafia 2 Multiplayer ВКонтакте! <<<

Мои завистники:
1 место - Eakwarp (постоянная зависть в сторону моих успехов и уровня развития) - Стаж > 4х лет!
2 место - PeRaN (подлиза, признавшая моё превосходство, но не желающая что-либо исправлять по моим советам) - Стаж > 3х лет!
3 место - Тут можешь оказаться ты!
MckenzyДата: Воскресенье, 30.09.2012, 21:51 | Сообщение # 15
Советчик
Группа: I'm V.I.P.
Сообщений: 1212
Награды: 130
Город: Ярославль
Репутация: 2125
Замечания: 80%
Статус:
Kw33ck, уникальность проекта будет заключаться немного в другом. Простота и минимализация основных систем (дома, бизнесы и машины) это даже хорошо скорее, чем плохо. А вырезать из чужих модов я все равно ничего не буду, легче самому.


Сообщение отредактировал Mckenzy - Воскресенье, 30.09.2012, 21:51
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua