hth about adding or deleting a category...
when u delete the category it cancel from database all pending categories of the one which u delete...
hth
PHP Code:
<form method="post" action="<?php $_SERVER["PHP_SELF"]; ?>">
<?php
include_once("config.php");
if(!empty($_POST["gocat"])) {
$catname = $_POST["pcat"];
if(empty($_POST["catsp"])) {
$ret = "INSERT INTO category VALUES('', '$catname', '0')";
$ret = mysql_query($ret);
} else {
foreach($_POST["catsp"] as $value) {
$ret = "INSERT INTO category VALUES('', '$catname', '$value')";
$ret = mysql_query($ret);
}
}
}
if(!empty($_POST["godelcat"])) {
foreach($_POST["catsp"] as $value) {
$ret = mysql_query("DELETE FROM category WHERE id = '$value'");
$var[] = $value;
}
# repeat the deletion if exsists more then 1 subcategories
for($i = 0; $i < count($var); ++$i) {
$ret = mysql_query("DELETE FROM category WHERE pid = '$var[$i]'");
}
}
function sub_cat($cat, $cr) {
$value = array();
if(empty($cat)) $cat = 0;
$ret = mysql_query("SELECT * from category WHERE pid = '$cat' ORDER BY id");
for($i = 0; $i < mysql_num_rows($ret); ++$i) {
$row = mysql_fetch_array($ret);
$value[$i] = str_repeat("---", $cr);
$value[$i] .= "<input type='checkbox' style='border:0px' name='catsp[]' value='".$row[0]."'> ".$row[1]."<br>\n";
# recursion
$var = sub_cat($row[0], $cr + 1);
# echoing the recursion array
for($j = 0; $j < count($var); ++$j) {
$value[$i] .= $var[$j];
}
}
return $value;
}
# calling the function with empty $cat and 1 for start the recursion counting
$var = sub_cat("", 1);
# echoing the function array
for($i = 0; $i < count($var); ++$i) {
echo $var[$i];
}
?>
<br><input type="text" name="pcat"> <input type="submit" name="gocat" value="Enter cat"> <input type="submit" name="godelcat" value="Delete cat"></form>
the table is
id cat pid
cheers
Bookmarks