Remember that this is my first script, but here's how I extracted and
associated category hierarchies:
include 'c:\apache2\adodb\adodb\adodb.inc.php';
$ADODB_CACHE_DIR = 'c:\apache2\adodb\adodb-cache';
$db = ADONewConnection( 'mysql' );
$db - Connect( 'localhost', 'root', 'mysql', 'reach');
$sql_cats = SELECT cat_id, cat_title FROM phpbb_categories ORDER BY
cat_id;
$sql_fora = SELECT forum_id, cat_id, forum_name FROM phpbb_forums ORDER BY
cat_id;
$sql_topics = SELECT forum_id, topic_id, topic_title FROM phpbb_topics
ORDER BY forum_id;
$db - SetFetchMode( ADODB_FETCH_ASSOC );
$rs_cats = $db - Execute( $sql_cats );
$rs_fora = $db - Execute( $sql_fora );
$rs_topics = $db - Execute( $sql_topics );
$cat_id = ;
$forum_id = ;
$cats_inc = 1;
$fora_inc = 1;
$topics_inc = 1;
while( $cats_row = $rs_cats - FetchNextObject() ) {
$cat_id = $cats_row - CAT_ID;
print trtd align='left' .
input type='text' value='+ . $cats_row - CAT_TITLE . ' name='
.
$cats_row - CAT_TITLE .
' readonly onclick='change_value( this, this.name, this.value )'
.
style='border:none;cursor:hand;color:#99;font-weight:600';
$rs_fora - MoveFirst();
while( $fora_row = $rs_fora - FetchNextObject() ) {
if( $cat_id == $fora_row - CAT_ID ) {
$forum_id = $fora_row - FORUM_ID;
print br/nbsp;nbsp;nbsp;nbsp;nbsp;input
type='text' value='+ .
$fora_row - FORUM_NAME . ' name=' . $fora_row -
FORUM_NAME . ' readonly .
onclick='change_value( this, this.name, this.value
)' .
style='border:none;cursor:hand;color:#99;font-weigth:600';
}
$rs_topics - MoveFirst();
while( $topics_row = $rs_topics - FetchNextObject() ) {
if(( $topics_row - TOPIC_TITLE != ) (
$forum_id == $topics_row - FORUM_ID )){
print
br/nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; .
input type='text' value='= .
$topics_row - TOPIC_TITLE . ' name=' .
$topics_row - TOPIC_TITLE . ' readonly .
onclick='change_value( this, this.name,
this.value )' .
style='border:none;cursor:hand;color:#99;font-weigth:600';
}
}
}
print /td/trtrtdnbsp;/td/tr;
}
?
I'm sure this can be refactored, but I don't know PHP well enough to
optimize it right now.
Cheers!
Mark
-Original Message-
From: John W. Holmes [mailto:[EMAIL PROTECTED]
Sent: Friday, March 19, 2004 11:42 AM
To: [EMAIL PROTECTED]; Age Bosma
Subject: Re: [PHP-DB] MySQL category tree db sorting
From: Age Bosma [EMAIL PROTECTED]
I'm trying to work out what the most efficient way will be to get the
complete tree structure from top to bottom of a category tree db.
Search the archives or Google for nested sets. That's going to be the most
efficient database scheme to use. Any parent-child-relationship solution is
going to require a lot of queries when your trees get large.
I second the recommendation for SQL for Smarties by Joe Celko, too.
Excellent book.
---John Holmes...
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php