дополнительное поле с dbTree

Minuta

Guest
дополнительное поле с dbTree

Подскажите как с dbTree осуществлять insert(), если Таблица имеет 1 дополнительное поле INDEX [id, title, index, cleft, cright, clevel]
PHP:
$Tree->insert(array("title"=>"Objekte","index"=>"2"));
так?...не идёт, что ещё изменить нужно?[
 

alexhemp

Новичок
а что именно не идет?
Какие ошибки?

выведи SQL запрос и посмотри что в нем.
 

Макс

Старожил PHPClub
возможно проблема в том, что index - зарезервированное слово.
Попробуй прописать так :
PHP:
$Tree->insert(array("title"=>"Objekte","`index`"=>"2"));
 

Minuta

Guest
error: "phpDbTree error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'index,cleft,cright,clevel) VALUES('Objekte','2',1,2,0)' at line"

MAX:
phpDbTree error: Unknown column 'index' in 'field list'


Думаю тут надо что-то изменить (в dbtree.php)
PHP:
// preparing data to be inserted
if(sizeof($data)) {
$fld_names = implode(',', array_keys($data)).',';
if(sizeof($data)) $fld_values = '\''.implode('\',\'', array_values($data)).'\',';
		}
 

Макс

Старожил PHPClub
Minuta
покажи, какой SQL-запрос получается, если указать
$Tree->insert(array("title"=>"Objekte","`index`"=>"2"));
 

Minuta

Guest
INSERT INTO tree(title,ind,cleft,cright,clevel) VALUES('Objekte','2',1,2,0)
phpDbTree error: Unknown column 'ind' in 'field list'
???("Index" na "ind" uzhe zamenila...)
 

Minuta

Guest
CREATE TABLE `tree` (
`cid` int(10) unsigned NOT NULL auto_increment,
`title` varchar(128) NOT NULL default '',
`ind` int(10) unsigned NOT NULL default '0',
`cleft` int(10) unsigned NOT NULL default '0',
`cright` int(10) unsigned NOT NULL default '0',
`clevel` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`cid`),
KEY `cleft` (`cleft`,`cright`,`clevel`)
) TYPE=MyISAM
 
Сверху