Всем доброго времени суток. В данный момент пишу систему организаций, и в процессе реализации динамического создания организаций, возникла проблема. Прям никак не могу додуматься как такое сделать, раньше делал такое, но сейчас не могу вспомнить ничего.
Я хочу реализовать вот что:
К примеру в базе данных у меня 2 организации с ID 0 и 3, и когда я создам еще 4 организации, они займут ID 1, 2, 4, 5 (в базе данных и в коде).
Но при создании у них получается ID 2, 3, 4, 5.
Знаю что делаю что - то не так, но понять что - не могу
Вот диалог с созданием:
PHP код:
case Dialog_Create:
{
if(!response) return 1;
switch(listitem)
{
case 0:
{
for(new i = 0; i < sizeof(Organization_Info); i++)
{
if(Organization_Info[i][Organization_Created] == true) continue;
Organization_Info[i][Organization_ID] = i;
strmid(Organization_Info[i][Organization_Name], "No Name", 0, strlen("No Name"), 64);
static const format_query_string[] = "INSERT INTO `organizations` (`Organization_ID`, `Organization_Name`) VALUES ('%d', '%s')";
new query_string[sizeof(format_query_string) + (- 2 + 11) + (- 2 + 64)];
format(query_string, sizeof(query_string), format_query_string, Organization_Info[i][Organization_ID], Organization_Info[i][Organization_Name]);
mysql_tquery(mysql_connect_id, query_string, "", "");
static const format_string[] = "Вы создали организацию под ID '%d'\n\
Для редактирования организации используйте команду '/edit'";
new string[sizeof(format_string) + (- 2 + 11)];
format(string, sizeof(string), format_string, Organization_Info[i][Organization_ID]);
SendClientMessage(playerid, -1, string);
Organization_Info[i][Organization_Created] = true;
break;
}
}
}
}
А вот загрузка:
PHP код:
forward Load_Organizations();
public Load_Organizations()
{
new rows;
cache_get_row_count(rows);
if(rows)
{
for(new i = 0; i < rows; i++)
{
cache_get_value_name_int(i, "Organization_ID", Organization_Info[i][Organization_ID]);
cache_get_value_name(i, "Organization_Name", Organization_Info[i][Organization_Name], 64);
Organization_Info[i][Organization_Created] = true;
}
print("[Загрузка организаций] Все организации загружены.");
}
else print("[Загрузка организаций] В базе данных организации не найдены.");
return 1;
}
В итоге должно было получится вот что:
Переменная Organization_ID у организации в моде должна быть равна полю Organization_ID в базе данных, всегда так.