I hope that phpers will be not angry if I'm posting that maybe stupid question. I have the following script, an URL Directory Manager (PHP4 from Wrox Press). I'd like to pass the variable "category" into the TITLE META TAG from php_category when I select the corrispondent category_id into the URL Directory Manager, i.e. to display the right category everytime I call it from the script. As I'm an absolute beginner, I'd like someone could suggestme the most rapid way to do it whitout rewriting all the code. Thanks for all, Alessandro xxxxxxxxxxxx Tables of MySQL sample_db xxxxxxxxxxxxxxxxxxxxxxxxxxxx # Table structure for table 'php_category' CREATE TABLE php_category ( category varchar(30) NOT NULL, category_id varchar(15) NOT NULL, num_item int(5) NOT NULL, PRIMARY KEY (category_id) ); # Table structure for table 'php_directory' CREATE TABLE php_directory ( url_id int(10) NOT NULL auto_increment, category_id varchar(15) NOT NULL, title varchar(150) NOT NULL, url varchar(150) NOT NULL, description text NOT NULL, registerdate date, hit int(5) NOT NULL, lastaccesstime timestamp(14), password varchar(20) binary, email varchar(100) NOT NULL, approved char(1) NOT NULL, PRIMARY KEY (url_id), UNIQUE url (url, category_id) ); xxxxxxxxxxxxxxx php_directory.inc xxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx php_directory.php xxxxxxxxxxxxxxxxx "; $MYSQL_ERRNO = ''; $MYSQL_ERROR = ''; function directory_header() { global $new_window_width, $new_window_height; ?> alert(\"Error: $msg\");history.go(-1)"; directory_footer(); exit; } function user_message($msg, $url='') { directory_header(); if(empty($url)) echo "alert(\"$msg\");history.go(-1)"; else echo "alert(\"$msg\");self.location.href='$url'"; directory_footer(); exit; } function get_category_info($category_id) { global $default_dbname, $category_tablename, $root_category_id, $category_id_length, $welcome_message, $PHP_SELF; global $link_id; if(!$link_id) $link_id = db_connect($default_dbname); if($category_id == $root_category_id) { $category_info_array["category"] = "Top"; $category_info_array["num_item"] = 0; $query = "SELECT max(category_id), count(*) FROM $category_tablename WHERE length(category_id) = $category_id_length"; $result = mysql_query($query); if(!$result) echo sql_error(); $query_data = mysql_fetch_row($result); $sibling_id = $query_data[0]; $num_child = $query_data[1]; $category_info_array["num_child"] = $num_child; if(!$sibling_id) $next_category_id = '001'; else { $sibling_length = strlen($sibling_id); $next_category_id = $sibling_id + 1; for($i = strlen($next_category_id); $i " . $query_data[0] .""; $parent_array[$j] = $query_data[0]; $j++; } $category_info_array["href_fullname"] = implode("->", $parent_href_array); $category_info_array["fullname"] = implode("->", $parent_array); } return $category_info_array; } function get_url_info($url_id) { global $link_id, $default_dbname, $directory_tablename; if(!$link_id) $link_id = db_connect($default_dbname); $query = "SELECT url_id, category_id, title, url, description,registerdate, date_format(registerdate, '%M, %e, %Y') as formatted_registerdate, hit, lastaccesstime, date_format(lastaccesstime, '%M, %e, %Y %r') as formatted_lastaccesstime, password, email, approved FROM $directory_tablename WHERE url_id = '$url_id'"; $result = mysql_query($query); if(!$result) echo sql_error(); return mysql_fetch_array($result); } function search_form($category_id) { global $root_category_id, $PHP_SELF; if(!isset($category_id)) $category_id = $root_category_id; ?> "> Search: ">Current Category ">All Categories OR AND $category_href_fullname ($num_child_str, $num_item_str) \n"; else echo " $category_href_fullname ($num_child_str) \n"; search_form($category_id); $query = "SELECT category, category_id FROM $category_tablename WHERE (length(category_id) = $category_depth * $category_id_length) AND category_id LIKE '$category_id%' ORDER BY category"; $result = mysql_query($query); if(!$result) echo sql_error(); if(mysql_num_rows($result) > 0) { ?> \n"; echo "\n"; echo "<\"$PHP_SELF?action=show_list> category_id=$my_category_id\"> $my_category ($num_child_str, $num_item_str)\n"; echo "\n"; if(!($i % 2)) echo "\n"; $i++; } if(!($i % 2)) { echo " \n" ; echo ""; } ?> $found_str - Keyword(s): $keywords \n"; if($total_num > 0) echo " Displaying page $page_num out of $last_page_num \n"; $query = "SELECT url_id, category_id, title, url, description, date_format(registerdate, '%M, %e, %Y') as formatted_registerdate, hit, date_format(lastaccesstime, '%M, %e, %Y %r') as formatted_lastaccesstime, hit FROM $directory_tablename WHERE $category_str AND approved = 1 $keyword_str ORDER BY registerdate DESC $limit_str"; $result = mysql_query($query); if(!$result) echo sql_error(); $i = 1; while($query_data = mysql_fetch_array($result)) { $url_id = $query_data["url_id"]; $formatted_registerdate = $query_data["formatted_registerdate"]; $formatted_lastaccesstime = $query_data["formatted_lastaccesstime"]; $url = "http://" . $query_data["url"]; $title = $query_data["title"]; $description = $query_data["description"]; $hit = $query_data["hit"]; echo " <\"$PHP_SELF?action=go_url&url=$url&url_id=$url_id\">". ($i+($cur_page * $records_per_page)).".$title \n"; echo " > > \n"; echo $description; echo " > \n"; echo "Last Access: $formatted_lastaccesstime > \n"; echo "Hit(s): " . number_format($hit) . " > \n"; if($admin) echo "<\"$PHP_SELF?action=delete_url&url_id=$url_id> > category_id=$category_id&url=$url> title=$title&cur_page=$cur_page\"> [Delete] > \n"; echo "<\"javascript:open_window('$PHP_SELF? > action=modify_url_form&url_id=$url_id> > category_id=$category_id&cur_page=$cur_page');\"> [Modify] \n"; if(!$admin) > echo "<\"mailto:$dirmaster_email? subject=PHPDirectory]SiteMissing> > body=url_id:$url_id($url)\"> [Report Broken Link] \n"; echo " \n"; $i++; } if($search_on) $search_str = "&search_on=1&search_type=$search_type&keywords=$keywords&search_category=$s earch_category"; echo " "; if($page_num > 1) { $prev_page = $cur_page - 1; echo "<\"$PHP_SELF?action=show_list&category_id=$category_id&cur_page=0$search_st r\">[Top]"; echo "<\"$PHP_SELF?action=show_list&category_id=$category_id&cur_page=$prev_page$ search_str\">[Prev] "; } if($page_num [Next] "; echo "<\"$PHP_SELF?action=show_list&category_id=$category_id&cur_page=$last_page$ search_str\">[Bottom]"; } echo " "; echo " <\"$PHP_SELF?action=show_list\">[Directory Home] \n"; if($submittable) echo "<\"javascript:open_window('$PHP_SELF?action=add_url_form&category_id=$categ ory_id');\">[Submit a URL]\n"; echo " "; ?> "; list_sites('new', $category_id); ?> Submit a PHP Site! "> "> Category Title URL Email Password Retype Password Description ( Chars Max.) $max_desc_length) error_message("Description too long! $max_desc_length chars max!"); $title = addslashes($title); $description = addslashes($description); $password = crypt($password, '.v'); if(!$link_id) $link_id = db_connect($default_dbname); $query = "SELECT url FROM $directory_tablename WHERE url = '$url' AND category_id = '$category_id'"; $result = mysql_query($query); if(!$result) error_message(sql_error()); if(mysql_num_rows($result) != 0) error_message("$url already exists in the directory!"); $approved = 0; if($admin) { $query = "UPDATE $category_tablename SET num_item = num_item + 1 WHERE category_id = '$category_id'"; $result = mysql_query($query); if(!$result) error_message(sql_error()); $approved = 1; } $query = "INSERT INTO $directory_tablename VALUES(NULL, '$category_id', '$title', '$url', '$description', curdate(), 0, NULL, '$password', '$email', $approved)"; $result = mysql_query($query); if(!$result) error_message(sql_error()); if($send_mail){ $mail_subject = "PHP Directory>> Thank your for your listing."; $mail_body = "Thank you for sharing your resources with us.\n"; $mail_body = "Your contribution will be listed after review in a day or two.\n\n"; $mail_body .= "Title: $title\n"; $mail_body .= "URL: $url\n"; $mail_body .= "Description: $description"; mail($email, $mail_subject, $mail_body, "From: $dirmaster_email\nReply-to: $dirmaster_email"); } $num_rows = mysql_affected_rows($link_id); if($num_rows != 1) error_message(sql_error()); else echo " alert(\"$title($url) has been successfully submitted!\"); opener.location.href='$PHP_SELF?action=show_list&category_id=$category_id'; self.close(); "; } function modify_url_form() { global $PHP_SELF, $max_desc_length, $url_id, $category_id, $admin_script, $cur_page; directory_header(); if(basename($PHP_SELF) == $admin_script) $admin = 1; $url_info_array = get_url_info($url_id); $category_info_array = get_category_info($url_info_array["category_id"]); ?> Update your PHP site! * Submitted on: * Hits: * Last Access: "> "> "> Category Email Password Title " SIZE="30" MAXLENGTH="150"> URL " SIZE="30" MAXLENGTH="150"> Description ( Chars Max.) $max_desc_length) error_message("Description too long! $max_desc_length chars max!"); $url_info_array = get_url_info($url_id); if(!$admin >> (($url_info_array["password"] != crypt($password, '.v')) || ($url_info_array["email"] != $email))) error_message("You don't have permission to modify this URL!"); $title = addslashes($title); $description = addslashes($description); if(!$link_id) $link_id = db_connect($default_dbname); $query = "UPDATE $directory_tablename SET title='$title', url='$url', description='$description' WHERE url_id='$url_id'"; $result = mysql_query($query); if(!$result) error_message(sql_error()); $num_rows = mysql_affected_rows($link_id); if($num_rows != 1) error_message(sql_error()); else echo "alert(\"$title($url) has been successfully modified!\"); opener.location.href='$PHP_SELF?action=show_list&category_id=$category_id&cu r_page=$cur_page'; self.close();"; } function go_url() { global $default_dbname, $directory_tablename; global $url_id, $url; if(isset($url_id) >> isset($url)) { if(!$link_id) $link_id = db_connect($default_dbname); $result = mysql_query("UPDATE $directory_tablename SET hit = hit + 1 WHERE url_id=$url_id"); if(!$result) error_message(sql_error()); header("Location: $url"); exit; } } function list_sites($mode='top', $category_id='') { global $directory_tablename, $root_category_id, $PHP_SELF, $num_top_sites, $num_new_sites; if(!$link_id) $link_id = db_connect($default_dbname); if($mode=='top') { $order_by_str = 'ORDER BY hit DESC'; $limit_str = "LIMIT $num_top_sites"; } else { $order_by_str = 'ORDER BY registerdate DESC'; $limit_str = "LIMIT $num_new_sites"; } if($category_id == $root_category_id) $category_str = '1'; else $category_str = "category_id LIKE '$category_id%'"; $query = "SELECT url_id, title, url FROM $directory_tablename WHERE $category_str AND approved = 1 $order_by_str $limit_str"; $result = mysql_query($query); if(!$result) echo sql_error(); if(mysql_num_rows($result) > 0) { if($mode=='top') echo "Top $num_top_sites! "; else if($mode=='new') echo "New $num_new_sites! "; } $i = 1; while($query_data = mysql_fetch_array($result)) { $url_id = $query_data["url_id"]; $url = "http://" . $query_data["url"]; $title = $query_data["title"]; echo " - <\"$PHP_SELF?action=go_url&url=$url&url_id=$url_id\">$i. $title \n"; $i++; } } ?> xxxxxxxx dir_manager.php xxxxxxxxxxxxxxxxxxx Click on the level on which you want to add a new category. "; echo " > > \n"; echo > "<\"javascript:open_window('$PHP_SELF?action=add_category_form&parent=$roo > t_category_id')\">" . $category_info_array["category"] ." (" . > $category_info_array["num_child"] . ")"; } else { echo " > Click on the category you want to edit. > > "; echo " >> >> \n"; echo >> "<\"javascript:open_window('$PHP_SELF?action=edit_category_form&category_ >> id=$root_category_id')\">" . $category_info_array["category"] ." (" . >> $category_info_array["num_child"] . ")"; } echo " >> \n"; echo " >>> >>> \n"; while($query_data = mysql_fetch_array($result)) { $category_id = >>> $query_data[0]; $category_info_array = get_category_info($category_id); >>> for($i=0; $i X \n"; if($mode == 'add_category') echo >>> "<\"javascript:open_window('$PHP_SELF?action=add_category_form&parent=$c >>> ategory_id')\">" . $category_info_array["category"] ." (" . >>> $category_info_array["num_child"] . ")"; else echo >>> "<\"javascript:open_window('$PHP_SELF?action=edit_category_form&category >>> _id=$category_id')\">" . $category_info_array["category"] ." (" . >>> $category_info_array["num_child"] . ")"; echo " >>> \n"; } echo " >> >> \n"; echo " > > \n"; directory_footer(); } function add_category_form() { global > $default_dbname, $directory_tablename, $category_tablename, $PHP_SELF; global > $link_id, $parent; $category_info_array = get_category_info($parent); > $category_id = $category_info_array["next_id"]; $category_fullname = > $category_info_array["fullname"]; directory_header(); ?> > > Adding a New Category: > > "> "> > > Category ID > Category Name > > > alert(\"$category was successfully added!\"); > opener.location.href='$PHP_SELF'; self.close();"; directory_footer(); } > function edit_category_form() { global $default_dbname, $directory_tablename, > $category_tablename, $PHP_SELF; global $link_id, $category_id; > $category_info_array = get_category_info($category_id); directory_header(); > ?> > > Editing the Category: > > "> "> > > Category ID > Category Name " SIZE="20"> > Resources > > > alert(\"$category was successfully updated!\"); > opener.location.href='$PHP_SELF?mode=edit_category'; self.close();"; > directory_footer(); } function delete_category() { global $default_dbname, > $directory_tablename, $category_tablename, $PHP_SELF; global $link_id, > $category_id, $mode; if(empty($category_id)) error_message("Empty Category > ID!"); if(!$link_id) $link_id = db_connect($default_dbname); $query = "DELETE > FROM $category_tablename WHERE category_id LIKE '$category_id%'"; $result = > mysql_query($query); if(!$result) error_message(sql_error()); $del_subs = > mysql_affected_rows($link_id) - 1; $query = "DELETE FROM $directory_tablename > WHERE category_id LIKE '$category_id%'"; $result = mysql_query($query); > if(!$result) error_message(sql_error()); $del_items = > mysql_affected_rows($link_id); echo "alert(\"1 category, $del_subs > subcategories, and $del_items items were deleted!\"); > self.location.href='$PHP_SELF?mode=$mode';"; } function update_db() { global > $default_dbname, $directory_tablename, $category_tablename, $PHP_SELF; global > $link_id, $category_id, $mode; directory_header(); if(!$link_id) $link_id = > db_connect($default_dbname); $query = "SELECT category, category_id, num_item > FROM $category_tablename"; $result = mysql_query($query); if(!$result) > error_message(sql_error()); $num_revs = 0; while($query_data = > mysql_fetch_row($result)) { $category = $query_data[0]; $category_id = > $query_data[1]; $num_item = $query_data[2]; $query = "SELECT count(*) FROM > $directory_tablename WHERE category_id = '$category_id' AND approved = 1"; > $result2 = mysql_query($query); $query_data2 = mysql_fetch_row($result2); > $total = $query_data2[0]; if(!$result2) error_message(sql_error()); > if($num_item != $total) { $query = "UPDATE $category_tablename SET num_item = > $total WHERE category_id = '$category_id'"; $result2 = mysql_query($query); > if(!$result2) die(sql_error()); echo "Number of resources in \"$category\" > mismatch -> revised: $total resources. > \n"; $num_revs++; } } if(!$num_revs) echo "No inconsistency found. > \n"; else if($num_revs) echo "$num_revs inconsistency has been corrected. > \n"; else echo "$num_revs inconsistencies have been corrected. > \n"; echo "Done.\n"; directory_footer(); } function view_new() { global > $default_dbname, $directory_tablename, $category_tablename, > $records_per_page, $PHP_SELF, $link_id; global $cur_page; if(!$link_id) > $link_id = db_connect($default_dbname); $query = "SELECT count(*) FROM > $directory_tablename WHERE approved != 1"; $result = mysql_query($query); > if(!$result) echo error_message(sql_error()); $query_data = > mysql_fetch_row($result); $total_num = $query_data[0]; if(!$total_num) echo > error_message("No new listing!"); $limit_str = "LIMIT " . $cur_page * > $records_per_page . ", $records_per_page"; $query = "SELECT url_id, url, > title, description, category_id FROM $directory_tablename WHERE approved = 0 > ORDER BY registerdate $limit_str"; $result = mysql_query($query); > if(!$result) echo error_message(sql_error()); $page_num = $cur_page + 1; > $total_num_page = floor($total_num/$records_per_page); $last_page_num = > $total_num_page + 1; directory_header(); top_menu(); echo " > > Displaying the page $page_num out of $last_page_num. > > "; echo " > \n"; while($query_data = mysql_fetch_array($result)) { $url_id = > $query_data["url_id"]; $url = "http://" . $query_data["url"]; $title = > $query_data["title"]; $description = $query_data["description"]; $category_id > = $query_data["category_id"]; $category_info_array = > get_category_info($category_id); $category_fullname = > $category_info_array["fullname"]; echo " > * \n"; echo > "<\"javascript:open_window('$PHP_SELF?action=edit_new_form&url_id=$url_ > id&category_id=$category_id');\">[Edit] \n"; echo "<\"$url\">$title > ($category_fullname) - $description\n"; echo ""; } echo " > \n"; echo " > \n"; echo " > "; if($cur_page > 0) echo "<\"$PHP_SELF?action=view_new&cur_page=0\">[Top]"; > if($cur_page != 0) { $prev_page = $cur_page - 1; echo > "<\"$PHP_SELF?action=view_new&cur_page=$prev_page\">[Prev] "; } if($cur_page > [Next] "; } if($cur_page != $total_num_page) echo > "<\"$PHP_SELF?action=view_new&cur_page=$total_num_page\">[Bottom]"; echo " > "; directory_footer(); } function edit_new_form() { global $PHP_SELF, > $max_desc_length, $url_id, $category_id; directory_header(); $url_info_array > = get_url_info($url_id); $category_info_array = > get_category_info($url_info_array["category_id"]); ?> > > Editing a new listing. > > * Submitted on: > "> "> "> > > Category > Email "> > Title " SIZE="30" MAXLENGTH="150"> > URL " SIZE="30" MAXLENGTH="150"> > Description > ( Chars Max.) > Action Approve Delete > > > alert(\"$title($url) has been successfully deleted!\"); > opener.location.href='$PHP_SELF?action=view_new'; self.close();"; } else { > if(strlen($description) > $max_desc_length) error_message("Description too > long! $max_desc_length chars max!"); $title = addslashes($title); > $description = addslashes($description); $query = "UPDATE $category_tablename > SET num_item = num_item + 1 WHERE category_id = '$category_id'"; $result = > mysql_query($query); if(!$result) error_message(sql_error()); $query = > "UPDATE $directory_tablename SET title='$title', url='$url', > description='$description', approved = 1 WHERE url_id='$url_id'"; $result = > mysql_query($query); if(!$result) error_message(sql_error()); if($send_mail){ > $mail_subject = "PHP Directory>> Your contribution has been listed."; > $mail_body = "Thank you for sharing your resources with us.\n"; $mail_body = > "Your contribution has been listed. Thank you.\n\n"; $mail_body .= "Title: > $title\n"; $mail_body .= "URL: $url\n"; $mail_body .= "Description: > $description"; mail($email, $mail_subject, $mail_body, "From: > $dirmaster_email\nReply-to: $dirmaster_email"); } $num_rows = > mysql_affected_rows($link_id); if($num_rows != 1) error_message(sql_error()); > else echo "alert(\"$title($url) has been successfully approved!\"); > self.close();"; } } function delete_url() { global $default_dbname, > $directory_tablename, $category_tablename, $category_id, $url_id, $url, > $title; global $PHP_SELF, $link_id; if(!$link_id) $link_id = > db_connect($default_dbname); $query = "UPDATE $category_tablename SET > num_item = num_item - 1 WHERE category_id = '$category_id'"; $result = > mysql_query($query); if(!$result) error_message(sql_error()); $query = > "DELETE FROM $directory_tablename WHERE url_id = '$url_id'"; $result = > mysql_query($query); if(!$result) error_message(sql_error()); $num_rows = > mysql_affected_rows($link_id); if($num_rows != 1) error_message(sql_error()); > else echo "alert(\"$title($url) has been successfully deleted!\"); > self.location.href='$PHP_SELF?action=show_list&category_id=$category_id';"; } > function top_menu() { global $PHP_SELF; echo "<\"$PHP_SELF\">Admin "; echo "| > <\"javascript:open_window('$PHP_SELF?action=update_db');\">Update DB "; echo > "| <\"$PHP_SELF?mode=edit_category\">Edit Category Mode "; echo "| > <\"$PHP_SELF?mode=add_category\">Add Category Mode\n"; echo "| > <\"$PHP_SELF?action=view_new\">New Listings\n"; echo "| > <\"$PHP_SELF?action=show_list\">View Listings in Admin Mode\n"; echo " > > \n"; } switch($action) { case "add_category_form": add_category_form(); > break; case "add_category": add_category(); break; case "edit_category_form": > edit_category_form(); break; case "edit_category": edit_category(); break; > case "delete_category": delete_category(); break; case "view_new": > view_new(); break; case "edit_new_form": edit_new_form(); break; case > "edit_new": edit_new(); break; case "add_url_form": add_url_form(); break; > case "add_url": add_url(); break; case "modify_url_form": modify_url_form(); > break; break; case "modify_url": modify_url(); break; case "go_url": > go_url(); break; case "delete_url": delete_url(); break; case "update_db": > update_db(); break; case "show_list": directory_header(); top_menu(); > show_list(); directory_footer(); break; default: list_categories(); break; } > ?> -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php