Скрипты на SQLite

Печать RSS
1097


Господин ПЖ
0
привет всем, 67 твой способ очень плох, так как требует извлечь все данные в память, а если база очень большая
лучше на мой взгляд сделать так
 SELECT string FROM table
 WHERE string_id >= (abs(random()) % (SELECT max(string_id) FROM table))
 LIMIT 1;
тут нет никаких извлечений, все в одном запросе, abs и random такие функции есть в sqlite
знак забыл
Изменил: Вантуз-мен (06.11.2009 / 22:46)

ツ ツ ツ
0
73 спасибо

2000 лет д.н.э.
0
Гм.. Пошел искать мануалыsmile понял что знаю меньше чем думал...

2000 лет д.н.э.
0
Есть класс (кусок):
class ResultSQLite{
public $array;
function __construct($array){
$this->array;
return $this->array;
}
function numRows(){
return sqlite_num_rows($this->arr);
}
}
//два запроса
$q1 = $sqlite->query("SELECT * FROM table1;"); // первый
$q2 = $sqlite->query("SELECT * FROM table2;"); // второй 
//массивы обрабатываем в обратной очереди
$res2 = $q2->current(); //сначала второй
$res1 = $q1->numRows(); // потом первый
проблема:
после второго запроса в классе не остается данных от первого. Соответственно не возможно поменять местами вывод полученных массивов.
Catchable Fatal error Oject of class ResultSQLite: could not be converted to string
Подскажите как решить. Я даже что то ни чего придумать не могу..

2000 лет д.н.э.
0
Вобщем тут когда то Вантуз давал ссылку на класс который может ALTER TABLE выполнять, взял его и дописал до вида класса SqliteDatabase.
Может кому пригодиться, необходимые функции можно дописать по аналогии
function NameMethod(){
return sqlite_function($this->result);
}
вобщем кому интересно вот содержимое
http://smartoff.net/lib/index.php?count=63&
(библиотека на этом классе и работает)
С
Автор
Малиновые штаны
0
77, спс пригодится )

2000 лет д.н.э.
0
function as_array(&$a,$result){
$a[$result] = $result;
}
function as_rand(&$a){
return array_rand($a);
}
$sqlite->createAggregate('rand','as_array','as_rand');
echo $sqlite->singleQuery("SELECT rand(login) FROM user;");
вот еще вариант, выводит случайную ячейку из сказанного столбца. Проверил работает.

Землянин
0
Да ну этот SQLite. Я буду дальше на MySQLi сидеть :-P
С
Автор
Малиновые штаны
0
80, ну никто ж насильно не заставляет переходить. Я вот прям с файлов перешел на SQLite, думаю с мускулом не труднее

Оранжевые штаны
0
#80 Мужик! smile
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск