![]() |
| ||
| How to delete using checkboxes Hi Everyone I'm fairly new to PHP and struggling a bit. I'm trying to delete some records from MySQL via php and checkboxes my code is below if anyone can help me. Thanks in advance [PHP] <?php include("config.php"); include("contentdb.php"); $id= $_POST["id"]; $question= $_POST["question"]; $opt1= $_POST["opt1"]; $opt2= $_POST["opt2"]; $opt3= $_POST["opt3"]; $answer= $_POST["answer"]; $Query="INSERT into qtable (id,question,opt1,opt2,opt3,answer) values ('$id','$question', '$opt1' , '$opt2', '$opt3' , '$answer')"; $result = mysql_query($Query) ; if (!$result) { print ("Your information has been passed into current database!<BR>\n"); } else { print ("The query could not be executed for inserting your data!<BR>"); } $query = "SELECT * FROM qtable ORDER BY id"; $result = mysql_query($query) or die ("Couldn't execute query for collecting your data."); /* Display results in a table */ print ("<TABLE BORDER=1 WIDTH=\"90%\" CELLSPACING=2 CELLPADDING=2 ALIGN=CENTER>\n"); print ("<TR ALIGN=CENTER onmouseover=blue>\n"); print ("<TD ALIGN=CENTER ><b><font color=red>No</font></TD>\n"); print ("<TD ALIGN=CENTER ><b><font color=red>Question</font></TD>\n"); print ("<TD ALIGN=CENTER ><b><font color=red>Option 1</font></TD>\n"); print ("<TD ALIGN=CENTER ><b><font color=red>Option 2</font></TD>\n"); print ("<TD ALIGN=CENTER ><b><font color=red>Option 3</font></TD>\n"); print ("<TD ALIGN=CENTER ><b><font color=red>Answer</font></TD>\n"); print ("<TD ALIGN=CENTER ><font color=blue size=2>Del/Edit</font></TD>\n"); print ("</TR>\n"); if ($result = mysql_query($query)) { // see if any rows were returned if (mysql_num_rows($result) > 0) { while ($row = mysql_fetch_array($result)) { extract($row); print ("<TR ALIGN=CENTER >\n"); print( "<TD ALIGN=CENTER >$row[id]</TD>\n"); print ("<TD ALIGN=CENTER >$row[question]</TD>\n"); print ("<TD ALIGN=CENTER >$row[opt1]</TD>\n"); print ("<TD ALIGN=CENTER >$row[opt2]</TD>\n"); print ("<TD ALIGN=CENTER >$row[opt3]</TD>\n"); print ("<TD ALIGN=CENTER >$row[answer]</TD>\n"); print ("<TD ALIGN=CENTER ><input type=checkbox name=delete value=\"$id\"></font></TD>\n"); print ("</tr>"); } mysql_free_result($result); } else { echo "Error in query: $query. ".mysql_error(); // print error message } } print ("</TABLE>\n"); echo "<input type=submit value=Delete > "; $id= $_POST["id"]; if (isset($Delete)) { $toDelete = implode(', ', $_POST['id']); $query = "DELETE FROM `qtable` WHERE ID IN ($toDelete)"; if(mysql_query($query)) { echo 'Hooray, the filthy rows were deleted'; } else echo 'Bad luck schmuck<br>' . mysql_error(); } // close connection mysql_close($db); ?> [/PHP] |
| ||
| Re: How to delete using checkboxes Ok, what is your problem, exactly? You should always quote your HTML properly. Don't skip out on the double quotes because PHP's echo/print statements don't play nice. Escape your double quotes with \" I had problems with editing values from checkboxes because I skipped out on the quotes. |
| ||
| Re: How to delete using checkboxes Sorry I didn't explain very well, the problem is nothing happens when I'm pressing the Delete button. It doesn't delete, laugh or cry (lol) Cheers |
| ||
| Re: How to delete using checkboxes Well unless I am beening really blind (which is not unusal as I am only on my second coffee of the day). You do not seem to have a form tag, so when you are clicking the submit button the browser has no idea what to do. I guess that you are trying to load the page on to itself so try wrapping the input fields in <form method="post" action="<?= $_SERVER['PHP_SELF']?>\" > </form> Also i am not sure wheather isset($Delete) will work. you will need to use isset($_POST['submit']) (and add the value name="submit" to your submit button otherwise the $_POST key is not set. After that we are on to the delete query itself. $_POST['id'] exists but i do not think that it is the value that you want because the checkbox is named delete. so you will want to referance $_POST['delete']. You also need to reoder you script I think so that the delete is done before you out put the form other wise it will take an extra reload to view the changes. |
| ||
| Re: How to delete using checkboxes Thanks a million Chuck I'll do this, see how it goes. |
| ||
| Re: How to delete using checkboxes Just tried every thing what you suggested but still no joy. |
| ||
| Re: How to delete using checkboxes Quote:
<? switch($action) { case 'delete': $checklist = $_POST["checkme"]; for($i=0; $i<count($checklist); $i++) { echo "print"; $remove = $checklist[$i]; $query=mysql_query("DELETE FROM materialmaster WHERE material_code='$remove'"); } if(!$query){ echo "failed connection"; } else header("location:showmm.php"); break; } // declare the checkbox as an array in the table <td><input type="checkbox" name="<?='checkme[]';?>" value="<?php echo $row["material_code"];?>"> </Td> //where $row is $sql="SELECT * FROM materialmaster order by material_code"; $result=mysql_query($sql); $row=mysql_fetch_array($result) You need to replace the table,field names etc.... the catch is that checkbox is an array.hope it solves |
| ||
| Re: How to delete using checkboxes Thanks coder I'm gonna have a go at your code. |
| ||
| Re: How to delete using checkboxes Quote:
Hi Was that useful? |
| ||
| Re: How to delete using checkboxes I've tried it mate didn't quite work but some thing did work here it is Quote:
|
| All times are GMT -4. The time now is 10:17 pm. |
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC