08.01.2013, 10:22
PHP код:
new string[64];
new DBResult:Result = db_query(DataBase,"SELECT * FROM table ORDER BY RAND() LIMIT 1");
db_get_field_assoc(Result,"ID",string,sizeof(string));
printf("%d",strval(string));
new string[64];
new DBResult:Result = db_query(DataBase,"SELECT * FROM table ORDER BY RAND() LIMIT 1");
db_get_field_assoc(Result,"ID",string,sizeof(string));
printf("%d",strval(string));
new string[64];
new DBResult:Result = db_query(DataBase,"SELECT * FROM table WHERE ID = 1");
db_get_field_assoc(Result,"ID",string,sizeof(string));
printf("%d",strval(string));
new string[64];
new DBResult:Result = db_query(DataBase,"SELECT * FROM table");
new SelectedRow = random(db_num_rows(Result)); ////////////////////////
db_get_field(Result,SelectedRow,string,64); ////////////////////////
printf("%d",strval(string));
IsFind[id] = true;
Где в твоем коде используется SelectedRow и зачем два раза ID получать? (может я ошибаюсь, объясни).
|
Да, связано с изначальным вопросом, но с этим у меня тоже возникли проблемы. Созданные ID в массиве
PHP код:
|
//////////////////////////////////////////////////////////////
// GLOBAL
new MyIDS[200], SizeMyIDS = 0;
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
new Result[64];
new DBResult:myquery = db_query(DataBase,"SELECT * FROM table");
while(db_next_row(myquery)) {
db_get_field_assoc(myquery, "ID", Result, 64);
SizeMyIDS[++SizeMyIDS] = strval(Result);
printf("DEBUG WHILE ID: %d",strval(Result));
}
db_free_result(myquery);
printf("DEBUG RANDOM ID: %d", MyIDS[random(SizeMyIDS)]);
//////////////////////////////////////////////////////////////
// Обрати внимание на Result и myquery. В DBResult имя Result менее подходящее.
Нет, это не вариант, тем более и не скомпилируется.
Почему не надо через IsFind[id] = true; из этих id раные true доступные ID. из них надо как-нибудь сделать. |
new Result[64];
new DBResult:myquery = db_query(DataBase,"SELECT * FROM table");
while(db_next_row(myquery)) {
db_get_field_assoc(myquery, "ID", Result, 64);
MyIDS[++SizeMyIDS] = strval(Result);
printf("DEBUG WHILE ID: %d",strval(Result));
}
db_free_result(myquery);
printf("DEBUG RANDOM ID: %d", MyIDS[random(SizeMyIDS)]);
//////////////////////////////////////////////////////////////
// GLOBAL
new MyIDS[200], InMyIDS[200], SizeMyIDS = 0;
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
new Result[64];
new DBResult:myquery = db_query(DataBase,"SELECT * FROM table");
while(db_next_row(myquery)) {
db_get_field_assoc(myquery, "ID", Result, 64);
new ID_From = strval(Result);
MyIDS[++SizeMyIDS] = ID_From;
InMyIDS[ID_From] = true;
printf("DEBUG WHILE ID: %d",strval(Result));
}
db_free_result(myquery);
printf("DEBUG RANDOM ID: %d", MyIDS[random(SizeMyIDS)]);
//////////////////////////////////////////////////////////////
/*
Таким образом можно проверить доступность любого IndexID из таблицы. Например:
if(InMyIDS[25]) {
ид 25 существует
}
*/