Hello everybody,
I have topics and each topic has many subtopics and each subtopic has articles.
Ok now, I'm listing all the topic names and select a topic name to show all the subtopics under them.Now, I select a subtopic name and press the button delete.If there are no articles under this subtopic then the subtopic is deleted else it has to show me the message that there are articles under them.I found a simple error which I'm not able to figure out that is, when I select a subtopic name which has articles under it and press the button delete, I get the mesg: There are articles existing under this sub-topic. and also it shows me the "QUERY IS EMPTY"
How can I avoid this one??
Thanks in advance
I have topics and each topic has many subtopics and each subtopic has articles.
Ok now, I'm listing all the topic names and select a topic name to show all the subtopics under them.Now, I select a subtopic name and press the button delete.If there are no articles under this subtopic then the subtopic is deleted else it has to show me the message that there are articles under them.I found a simple error which I'm not able to figure out that is, when I select a subtopic name which has articles under it and press the button delete, I get the mesg: There are articles existing under this sub-topic. and also it shows me the "QUERY IS EMPTY"
How can I avoid this one??
Thanks in advance
PHP Code:
<?
include "../dbconnection.dam"
?>
<?php
// if you have chosen subtopics to delete
if(isset($HTTP_POST_VARS['action'])){
$subtopic_id = $HTTP_POST_VARS['SUBTOPIC_ID'];
$qry3 = "SELECT TOPIC_ID FROM subtopic WHERE SUBTOPIC_ID='$subtopic_id'";
$result_3 = mysql_query($qry3) or die(mysql_error()."<br />SQL: $qry3" );
// begin the query
foreach( $HTTP_POST_VARS[ "to_delete" ] as $key => $value )
{
$sql = "SELECT SUBTOPIC_ID FROM articles WHERE SUBTOPIC_ID = '" . $value . "'";
$result_sub = mysql_query($sql) or die(mysql_error()."<br />SQL: $sql" );
if ( mysql_num_rows( $result_sub ) > 0 )
{
echo 'There are articles existing under this sub-topic';
}else
// there are no articles - safe to delete
$qry4 = "DELETE FROM subtopic WHERE subtopic_id IN('" . implode("','", $HTTP_POST_VARS['to_delete']) . "')";
while( $row_4 = mysql_fetch_row($result_3) ){
if( isset($HTTP_POST_VARS[$row_4->SUBTOPIC_ID]) ){
// the checkboxes were named for the subtopic_id
$qry4 .= "OR SUBTOPIC_ID=".$row_4->SUBTOPIC_ID;
// add this subtopic to the query string
}
}
mysql_query($qry4) or die(mysql_error());
}
}
// get the list of topic names
$qry1="SELECT TOPIC_ID, TOPIC_NAME FROM topic ORDER BY TOPIC_NAME";
$result_1=mysql_query($qry1) or die(mysql_error());
// if you have chosen a topic, get the list of subtopics
if(isset($HTTP_POST_VARS['TOPIC_ID'])){
$qry3="SELECT SUBTOPIC_ID, SUBTOPIC_NAME, TOPIC_ID FROM subtopic WHERE TOPIC_ID='".$HTTP_POST_VARS['TOPIC_ID']."' ORDER BY SUBTOPIC_NAME";
$result_3=mysql_query($qry3) or die(mysql_error());
}
?>
<HTML>
<!--- create the topic select box --->
<form name="topic_form" action="<?=$PHP_SELF?>" method="post">
<select name="TOPIC_ID">
<option value="">Choose a topic</option>
<?
while($row=mysql_fetch_object($result_1)){
echo "<option value=\"".$row->TOPIC_ID."\">".$row->TOPIC_NAME."</option>";
}
?>
</select>
<input type="submit" value="Set Topic">
</form>
<!--- include topic_ID for continuity --->
<input type="hidden" name="TOPIC_ID" value="<?=$HTTP_POST_VARS['TOPIC_ID']?>">
</form>
<!--- create the list of subtopics --->
<form name="delete_form" action="<?=$PHP_SELF?>" method="post">
<?
if(isset($HTTP_POST_VARS['TOPIC_ID'])){
while($row_3=mysql_fetch_object($result_3)){
// subtopics named for the subtopic_id (aids in ease of retrieval after submittal
echo "<input type=\"checkbox\" name=\"to_delete[]\" value=\"".$row_3->SUBTOPIC_ID."\">".$row_3->SUBTOPIC_NAME."<BR>";
}
}
?>
<input type="hidden" name="TOPIC_ID" value="<?=$HTTP_POST_VARS['TOPIC_ID']?>">
<!--- "action" defined so there is a definite switch to determine if things should be deleted --->
<input type="hidden" name="action" value="delete">
<input type="submit" value="Delete">
<FORM>
<INPUT TYPE="Button" VALUE="Back"
onClick="window.location= 'menu.php' ">
</FORM>
</form>
</HTML>
Comment