User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the PHP section within the Web Development category of DaniWeb, a massive community of 391,912 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,666 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our PHP advertiser: Lunarpages PHP Web Hosting
Views: 4639 | Replies: 10
Reply
Join Date: Dec 2006
Posts: 6
Reputation: zed420 is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
zed420 zed420 is offline Offline
Newbie Poster

How to delete using checkboxes

  #1  
Dec 6th, 2006
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 >&nbsp";

$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]
AddThis Social Bookmark Button
Reply With Quote  
Join Date: Jul 2004
Location: North East Indiana
Posts: 491
Reputation: Puckdropper is an unknown quantity at this point 
Rep Power: 5
Solved Threads: 20
Puckdropper Puckdropper is offline Offline
Posting Pro in Training

Re: How to delete using checkboxes

  #2  
Dec 6th, 2006
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.
www.uncreativelabs.net

Old computers are getting to be a lost art. Here at Uncreative Labs, we still enjoy using the old computers. Sometimes we want to see how far a particular system can go, other times we use a stock system to remind ourselves of what we once had.
Reply With Quote  
Join Date: Dec 2006
Posts: 6
Reputation: zed420 is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
zed420 zed420 is offline Offline
Newbie Poster

Re: How to delete using checkboxes

  #3  
Dec 6th, 2006
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
Reply With Quote  
Join Date: Oct 2006
Location: London
Posts: 42
Reputation: UrbanSky is an unknown quantity at this point 
Rep Power: 2
Solved Threads: 4
UrbanSky UrbanSky is offline Offline
Light Poster

Re: How to delete using checkboxes

  #4  
Dec 7th, 2006
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.
Last edited by UrbanSky : Dec 7th, 2006 at 6:55 am.
Reply With Quote  
Join Date: Dec 2006
Posts: 6
Reputation: zed420 is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
zed420 zed420 is offline Offline
Newbie Poster

Re: How to delete using checkboxes

  #5  
Dec 7th, 2006
Thanks a million Chuck I'll do this, see how it goes.
Reply With Quote  
Join Date: Dec 2006
Posts: 6
Reputation: zed420 is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
zed420 zed420 is offline Offline
Newbie Poster

Re: How to delete using checkboxes

  #6  
Dec 8th, 2006
Just tried every thing what you suggested but still no joy.
Reply With Quote  
Join Date: Dec 2006
Posts: 34
Reputation: php_coder is an unknown quantity at this point 
Rep Power: 2
Solved Threads: 0
php_coder php_coder is offline Offline
Light Poster

Solution Re: How to delete using checkboxes

  #7  
Dec 15th, 2006
Originally Posted by zed420 View Post
Just tried every thing what you suggested but still no joy.

<?
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
Reply With Quote  
Join Date: Dec 2006
Posts: 6
Reputation: zed420 is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
zed420 zed420 is offline Offline
Newbie Poster

Re: How to delete using checkboxes

  #8  
Dec 15th, 2006
Thanks coder I'm gonna have a go at your code.
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

DaniWeb PHP Marketplace
Thread Tools Display Modes

Similar Threads
Other Threads in the PHP Forum

All times are GMT -4. The time now is 7:52 am.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC