Re: Category/SubCategory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Javascript/php seems to work nice for me (i give it to you as it is with no explainations... It's also a bit old so I don't know why I did it just like this and not in any other way):

function advancedSearch_js() {
 global $link_id;
 print ("<script language='JavaScript1.2' type='text/javascript'>\n");

 // RESET_FORM()
 print("\tfunction reset_form(theForm) {\n".
  "\t\tvar f = theForm;\n".
  "\t\tf.namn.value=\"\";\n".
  "\t\tf.beskrivning.value=\"\";\n".
  "\t\tf.h_grupp.selectedIndex=0;\n".
  "\t\tf.u_grupp.options.length=1;\n".
  "\t\tf.u_grupp.options[0].value=\"err\";\n".
  "\t\tf.u_grupp.options[0].text=\"------------------------------------------\";\n".
  "\t\tf.eplanta[1].checked = true;\n".
  "\t\tf.zon.selectedIndex=0;\n".
  "\t\tf.grannzon.checked = true;\n".
  "\t\tf.match[1].checked = true;\n".
  "\t}\n\n");

// SWITCH_UGRUPP()
print("\tfunction switch_ugrupp(theForm) {\n".
"\t\tswitch (theForm.h_grupp.value) {\n".
"\t\t\tcase \"alla\":\n".
"\t\t\t\ttheForm.u_grupp.options.length=1;\n\n".
"\t\t\t\ttheForm.u_grupp.options[0].value=\"err\";\n".
"\t\t\t\ttheForm.u_grupp.options[0].text=\"------------------------------------------\";\n".
"\t\t\tbreak;\n");
for ($i = 0; $i <= 6; $i++) { // this is probably some ugly hardcoded values that should be dynamic...
print ("\t\t\tcase \"".$i."\":\n");
$question = "SELECT ug_key AS id, ugrupp_namn AS text FROM sort_ugrupp WHERE f_key = '".$i."' ORDER BY ugrupp_namn";
$result = mysql_query($question, $link_id);
$rows = mysql_num_rows($result);
$j = 1;
print("\t\t\t\ttheForm.u_grupp.options.length=".($rows+1).";\n".
"\t\t\t\ttheForm.u_grupp.options[0].value=\"err\";\n".
"\t\t\t\ttheForm.u_grupp.options[0].text=\"------------------------------------------\";\n");
while ($ug = mysql_fetch_object($result)) {
print ("\t\t\t\ttheForm.u_grupp.options[".$j."].value=\"".$ug->id."\";\n".
"\t\t\t\ttheForm.u_grupp.options[".$j."].text=\"".$ug->text."\";\n");
$j++;
}
mysql_free_result($result);
print ("\t\t\tbreak;\n");
}
print ("\t\t}\n".
"\t\ttheForm.u_grupp.selectedIndex = 0;\n".
"\t\treturn true;\n".
"\t}\n".
"</script>\n");
}



So, about presentation of categories I have the following table with three fields setup in a db:


|    id    |    root_id    |    name    |
   1            0            cat1
   2            1            subcat to cat1
   3            2            subcat to subcat
   4            0            cat2

id is an autoincr.int exept for the root category with a fixed id. root_id is the id for a subcategory's parent category. the root category itself is not presented in the table... all categories with root_id 0 is placed directly in the root...

to print out a string looking something like:
"cat1 : subcat to cat1 : subcat to subcat"
when given the id of "subcat to subcat" I do by the following code:

function catPathRec($id, $show_lnk = false, $rtn_val="") {
global $link_id;
$katname = strtoupper(mysql_result(mysql_query("SELECT kat_namn AS kat FROM text_kat WHERE id = ".$id, $link_id), "kat"));
$hid = mysql_result(mysql_query("SELECT h_id AS hkat FROM text_kat WHERE id = ".$id, $link_id), "hkat");
if ($rtn_val == "") {
if ($show_lnk) { return ($hid == 0) ? ("<a href='text.php?action=kat&kat_id=".$id."' style='font-weight:normal;' onfocus='this.blur()'>".$katname."</a>") : (catPathRec($hid, $show_lnk, " : <a href='text.php?action=kat&kat_id=".$id."' style='font-weight:normal;' onfocus='this.blur()'>".$katname."</a>")); }
else { return ($hid == 0) ? ($katname) : (catPathRec($hid, $show_lnk, " : ".$katname)); }
}
else if ($hid != 0) { return catPathRec($hid, $show_lnk, " : <a href='text.php?action=kat&kat_id=".$id."' style='font-weight:normal;' onfocus='this.blur()'>".$katname."</a>".$rtn_val); }
return "<a href='text.php?action=kat&kat_id=".$id."' style='font-weight:normal;' onfocus='this.blur()'>".$katname."</a>".$rtn_val."\n";
}


----- Original Message ----- From: "Tony Devlin" <tdevlin@xxxxxxxxxxxxx>
To: "Php-Windows" <php-windows@xxxxxxxxxxxxx>
Sent: Thursday, December 02, 2004 9:17 PM
Subject: Category/SubCategory



Hello to all my fellow PHP friends,

 I'm embarking on yet another trecherous adventure.  This time Categories,
Sub-Categories and Sub-Sub Categories..

This is for a shopping cart module where the admin can create categories,
sub-categories, and sub-sub categories and then place in a certain sub-sub
category. This is a two fold question, first I will draw an example display
of what I am trying to accomplish.


Example:

Main Category
        |
         ---> Sub Category
                       |
                        ---> Sub-Sub Category
                                             |
                                             ---> Product
Main Category2
        |
        ---> Sub Category2
                       |
                       ---> Sub-Sub Category2
                                            |
                                            ---> Product2

Question 1:
Admin needs to be able to create new sub categories and assign them to a
main category and be able to create a sub-sub category to assign to a sub
category and then a product to assign to a sub-sub category. When adding a
new product the admin needs to select a main category which then creates a
dropdown box for a subcategory, which then (IF admin chooses) create a
dropdown box for a sub-sub category. Any ideas on how to create a function
to handle this? I've seen lots of unstable javascript code to do this (not
to mention difficult to manage)


Question 2:
When displaying the category/sub/sub-sub category listing to the viewers,
whats the best way to handle the output?


Thanks in advance for all your help,

Tony Devlin


-- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Database Programming]     [PHP Install]     [Kernel Newbies]     [Yosemite Forum]     [PHP Books]

  Powered by Linux