sawyerford Posted November 13, 2010 Share Posted November 13, 2010 Hi, I have created a table named multipath with database name "mydatabase".. I have created a table to store the data in the tables. Check boxes are created to select one row each to delete. But I am unable to delete the rows. Why?? Here's my PHP code <?php $host="localhost"; // Host name $username="root"; // Mysql username $password=""; // Mysql password $db_name="mydatabase"; // Database name $tbl_name="multipath"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $sql="SELECT * FROM $tbl_name"; $result=mysql_query($sql); $count=mysql_num_rows($result); ?> <table width="400" border="0" cellspacing="1" cellpadding="0"> <tr> <td><form name="form1" method="post" action=""> <table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td bgcolor="#FFFFFF"> </td> <td colspan="4" bgcolor="#FFFFFF"><strong>Delete multiple rows in mysql</strong> </td> </tr> <tr> <td align="center" bgcolor="#FFFFFF">#</td> <td align="center" bgcolor="#FFFFFF"><strong>Path ID</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>Path</strong></td> </tr> <?php while($rows=mysql_fetch_array($result)){ ?> <tr> <td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['id']; ?>"></td> <td bgcolor="#FFFFFF"><?php echo $rows['path_id']; ?></td> <td bgcolor="#FFFFFF"><?php echo $rows['path']; ?></td> </tr> <?php } ?> <tr> <td colspan="5" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" id="delete" value="Delete"></td> </tr> <? // Check if delete button active, start this if($delete){ for($i=0;$i<$count;$i++){ $del_id = $checkbox[$i]; $sql = "DELETE FROM $tbl_name WHERE id='$del_id'"; $result = mysql_query($sql); } // if successful redirect to delete.php if($result){ echo "<meta http-equiv=\"refresh\" content=\"0;URL=delete.php\">"; } } mysql_close(); ?> </table> </form> </td> </tr> </table> Please u can reply me at sawyerford007ATgmail DOTcom Quote Link to comment Share on other sites More sharing options...
Vitamin Posted November 13, 2010 Share Posted November 13, 2010 Try and echo the variables in question to make sure they are what you expect. Quote Link to comment Share on other sites More sharing options...
brianlange Posted November 13, 2010 Share Posted November 13, 2010 after mysql_query($sql) add an or statment. mysql_query($sql) or die(mysql_error()); If there's something wrong with your sql you'll receive a message about it. Quote Link to comment Share on other sites More sharing options...
johnsmith153 Posted November 13, 2010 Share Posted November 13, 2010 I don't see where you set $delete. Are you trying to execute this part of the script when you press the delete submit button? Quote Link to comment Share on other sites More sharing options...
sawyerford Posted November 13, 2010 Author Share Posted November 13, 2010 Thanks all to the reply: @Vitamin and @brianlange : the echo variables print the values successfully in the table.. I am not getting what's the error, and Why am I failing to delete the rows @JohnSmith: Yes may be I am unable to delete because the $delete is not set.. I am a newbie to PHP and HTML and its taking time for me to do. Can you please create a table and try to delete the rows with the same code.. you will come to know what happens I have a screen shot uploaded which shows an PHP snippet displayed with the table.. is the the problem occuring due to it?? [attachment deleted by admin] Quote Link to comment Share on other sites More sharing options...
Vitamin Posted November 13, 2010 Share Posted November 13, 2010 Though I don't general do homework for people. As you just said $delete is not set but you do a if statement on it. Therefor you will not run through that for loop and that is where delete query is. Quote Link to comment Share on other sites More sharing options...
Pikachu2000 Posted November 13, 2010 Share Posted November 13, 2010 You have a short open tag in the code below. Change it to the full <?php open tag and see if that makes any difference. </tr> <? // Check if delete button active, start this Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.