•
•
•
•
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,660 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 2,818 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: 5486 | Replies: 7
![]() |
•
•
Join Date: Nov 2006
Posts: 35
Reputation:
Rep Power: 2
Solved Threads: 1
hey all! i've got a CMS i'm working on and i have a couple of HTML tables that are populated via php loops communicating with the SQL database. got it? good.
at the end of each row in the HTML table there is a checkbox. i need to be able to click as many of them as i want, and then press "delete" and have them all be deleted, and then immediately returned to the exact same page.
each HTML table row is exactly like the SQL row. each row has an ID, so that is probably the way i'd identify each row (it's worked for me so far =P).
so can i get any advice, or direction. i'm almost positive i'm gonna have to store the value of the checkboxes in an array of somesort, somehow but i have NO idea where to even start. thanks!
at the end of each row in the HTML table there is a checkbox. i need to be able to click as many of them as i want, and then press "delete" and have them all be deleted, and then immediately returned to the exact same page.
each HTML table row is exactly like the SQL row. each row has an ID, so that is probably the way i'd identify each row (it's worked for me so far =P).
so can i get any advice, or direction. i'm almost positive i'm gonna have to store the value of the checkboxes in an array of somesort, somehow but i have NO idea where to even start. thanks!
declare the checkboxes as array
e.g.
now you have three check boxes with the same name
post it to a page
and then use
Where k is the key here, or the index,
you can set the primary key as the key. or you can even use hidden text boxes to hide the corrosponding ID of the checkbox. however this is the main idea.
hope it will be of use.
e.g.
<html> <body> <form> <input type = 'checkbox' name = 'mychk[]'> <input type = 'checkbox' name = 'mychk[]'> <input type = 'checkbox' name = 'mychk[]'> <input type ='submit'> </form> </body> </html>
now you have three check boxes with the same name
post it to a page
and then use
php Syntax (Toggle Plain Text)
foreach ( $_POST['mychk'] as $k=> $c) { if ($c == 'On') { pSQL = "DELETE FROM YOUR TABLE WHERE NAME = $k" //execute the sql } }
Where k is the key here, or the index,
you can set the primary key as the key. or you can even use hidden text boxes to hide the corrosponding ID of the checkbox. however this is the main idea.
hope it will be of use.
Last edited by the_count : Nov 22nd, 2006 at 5:17 am.
The day will soon come.
•
•
Join Date: Nov 2006
Posts: 35
Reputation:
Rep Power: 2
Solved Threads: 1
does NOT work. what is wrong with my code before i shoot somebody!!!!!
[php]
/*****DEBUG INFO*******
echo "<pre>";
print_r($_POST['delete']);
echo implode($_POST['delete'], ", ");
echo "</pre>";
**********************/
foreach($_POST['delete'] as $k => $c)
{
// echo $k ." / ". $c ." || "; <-- prints the EXACT correct information for the sql query to be properly executed.
$sql = "DELETE FROM my_search_table WHERE uID = ". $c ."";
mysql_query($sql);
}
[/php]
it should work. but it doesn't. WHAT THE HE77!!!!!!
[php]
/*****DEBUG INFO*******
echo "<pre>";
print_r($_POST['delete']);
echo implode($_POST['delete'], ", ");
echo "</pre>";
**********************/
foreach($_POST['delete'] as $k => $c)
{
// echo $k ." / ". $c ." || "; <-- prints the EXACT correct information for the sql query to be properly executed.
$sql = "DELETE FROM my_search_table WHERE uID = ". $c ."";
mysql_query($sql);
}
[/php]
it should work. but it doesn't. WHAT THE HE77!!!!!!
try to put the index as your id 
like this
now you can use the "$k"
maybe you will get use of our internet project
this is the checkbox part of it
viewsection.php
this code contains a part which can accept more then one request using checkboxes same as your idea

like this
<html> <body> <form> <input type = 'checkbox' name = 'mychk[6]'> <input type = 'checkbox' name = 'mychk[9]'> <input type = 'checkbox' name = 'mychk[10]'> <input type ='submit'> </form> </body> </html>
now you can use the "$k"
maybe you will get use of our internet project

this is the checkbox part of it
viewsection.php
this code contains a part which can accept more then one request using checkboxes same as your idea
php Syntax (Toggle Plain Text)
<?php session_start();?> <html> <head> <script language = "javascript"> function sure (stid) { y = confirm ("ARE YOU SURE YOU WANT TO DELETE THIS STUDENT WITH ID " + stid + " FROM THE DATABASE?"); if (y) { w = window.open ("delstudent.php?stu=" + stid); w.opener.location = "viewsection.php"; } } function checkall () { //alert("called"); for (i = 0; i < document.forms[0].elements.length; i ++ ) document.forms[0].elements[i].checked=1; } </script> </head> <? $iid=$_SESSION['iid']; $s = $_SESSION["s"]; $isroot = $_SESSION["theroot"]; $pend = $_SESSION['pend']; $cntrec=0; if (!isset($iid)) { header("Location:anauthorized.html"); die(""); } include('DB_connectscript.php'); include 'calc.php'; //check if he actually can view this section or not (if he is not root ONLY) if (!$isroot) { $ret = mysql_query ("SELECT * FROM SECTION WHERE SNUM = ".$s." AND INSID = ".$iid); if(!mysql_num_rows($ret)) { echo "<h1 align = 'center' > Tring to view others sections? </h1>"; exit; } } echo "<body background='back.jpg' >"; echo "<form name = 'frm' method = 'POST' action = 'acceptrequest.php'>"; if ($pend != "STUDENT"){ $result = mysql_query("SELECT NAME, SID, EMAIL, MAJOR FROM ".$pend." WHERE SNUM = ".$s) or die(mysql_error()); echo "<H2 align=center><font color='#0'>Section #".$s."<br>Pending Students</font></H2><BR><BR>"; } else{ echo "<H2 align=center><font color='#0'>Section #".$s."</font></H2><BR><BR>"; $result = mysql_query("SELECT NAME, SID, EMAIL, GRADE, MAJOR, COMMENT, ATTN FROM ".$pend." WHERE SNUM = ".$s) or die(mysql_error()); } echo "<table border=1 align ='center'>\n"; $cnt=0; if ($pend == "STUDENT") echo "<tr><th>Section #</th><th> Student Name </th><th>StudentID #</th><th>Email</th><th>Grade</th><th>Major</th><th> Instructor comments </th><th> Attendance</th><th>Option</th></tr>"; else {echo "<tr><th>Section #</th><th> Student Name </th><th>StudentID #</th><th>Email</th><th>Major</th><th>Enrollment</th></tr>"; $cnt=5; } while ($myrow = mysql_fetch_row ($result)) { echo "<tr align = 'center'>\n"; echo "<td>".$s."</td>"; printf ("<td>%s</td>\n", !$myrow[0]? "-" : $myrow[0]); echo "<td>".$myrow[1]."</td>\n"; //echo "<td><a href = 'mailto:".$myrow[2]."'>".$myrow[2]."</a></td>\n"; printf ("<td>%s</td>\n", !$myrow[2]? "-" : "<a href = 'mailto:".$myrow[2]."'>".$myrow[2]."</a>"); if ($pend == "STUDENT") { printf ("<td>%s</td>\n", !$myrow[3]? "-" : $myrow[3]); printf ("<td>%s</td>\n", !$myrow[4]? "-" : $myrow[4]); echo "<td>".$myrow[5]."<small> <a href = 'tmpcomment.php?sid=".$myrow[1]."'> edit comment? </a></small></td>\n"; echo "<td>".$myrow[6]."<small> <a href = 'attn.php?sid=".$myrow[1]."&at=".$myrow[6]."'>edit attendance? </a></small></td>\n"; echo "<td><img border = 0 src = 'delete.gif' onclick = 'sure(".$myrow[1].")'> </td>"; } else { printf ("<td>%s</td>\n", !$myrow[3]? "-" : $myrow[3]); //echo "<td><small> <a href = 'acceptrequest.php?sid=".$myrow[1]."'> Accept Request? </a></small></td>\n"; echo "<td><input type = 'checkbox' name = acc[".$myrow[1]."]></td>"; $cntrec++; } echo "</tr>\n\n"; } if ($pend == "STUDENT") { echo "</table><br><br>"; echo "<p align = center><a href = 'addstudent1.php'> Add student </a></p>"; echo "<p align = 'center'><a href = 'showgrade.php'> Show Assignment(s) Grade </a></p>"; echo "<p align = 'center'><a href = 'addassif.php'> Add/Hand New Assignment </a></p>"; echo "<p align = 'center'><a href = 'showpgrade.php'> Show Project(s) Grade </a></p>"; echo "<p align = 'center'><a href = 'addproject.php'> Add/Submit New Project</a></p>"; echo "<p align = 'center'><a href = 'showegrade.php'> Show Exam(s) Grade </a></p>"; echo "<p align = 'center'><a href = 'addexam.php'> Add/Submit New Exam</a></p>"; echo "<p align = 'center'><a href = 'uploadlecture.php'> Upload Lectures </a>"; echo "<br><p align='center'><a href = 'allstudents.php'><img border=0 src='backa.gif'></a></p>"; } else { if ($cntrec) { echo "<tr>"; for ($i = 0; $i < $cnt ; $i++) echo "<td></td>"; echo "<td><input type = 'submit' name = 'submit' value = 'Accept'><input type = 'button' name = 'ck' value = 'Check All' onClick = 'checkall()' ></td></tr>"; } echo "</table><br><br></form>"; echo "<br><p align='center'><a href = 'request.php'><img border=0 src='backa.gif'></a></p>"; } ?> </body></html>
The day will soon come.
•
•
Join Date: Nov 2006
Posts: 35
Reputation:
Rep Power: 2
Solved Threads: 1
here's what my HTML checkbox looks like...
here's my foreach loop...
[php]
foreach($_POST['delete'] as $k => $c){
//echo $k ." / ". $c ." || "; //<-- prints the EXACT correct information for the sql query to be properly executed.
$sql = "DELETE * FROM my_search_table WHERE uID = ". $c ."";
mysql_query($sql);
}
[/php] when i uncomment the debugging line and comment out the other two lines, and click a couple of checkboxes, then press delete, this is the output it gives me...
so, what i see is that it's passing the correct information to the foreach loop ($c is the uID), but for some reason or another, my SQL query won't process the request, and i can't figure out why. i'm thinkin the problem resides in my SQL query... can anybody help?
<TD align=center><input type=checkbox name=delete[] value=". $row['uID'] .">
here's my foreach loop...
[php]
foreach($_POST['delete'] as $k => $c){
//echo $k ." / ". $c ." || "; //<-- prints the EXACT correct information for the sql query to be properly executed.
$sql = "DELETE * FROM my_search_table WHERE uID = ". $c ."";
mysql_query($sql);
}
[/php] when i uncomment the debugging line and comment out the other two lines, and click a couple of checkboxes, then press delete, this is the output it gives me...
0 / 3ZFc7FmpYiGpyTybHKXix14teZsQlQ || 1 / FVWxsWALHwtzWjKX23NsMXwbjImaqh || 2 / pSWURh1EsraukzZwYHwiF4DHJnaB3B ||
so, what i see is that it's passing the correct information to the foreach loop ($c is the uID), but for some reason or another, my SQL query won't process the request, and i can't figure out why. i'm thinkin the problem resides in my SQL query... can anybody help?
Last edited by boo_lolly : Nov 27th, 2006 at 11:12 am.
•
•
Join Date: Nov 2006
Posts: 35
Reputation:
Rep Power: 2
Solved Threads: 1
IT WORKS IT FINALLY WORKS!!!!! it was the '*' and the single quotes in the SQL query that were causing all the problems!!!! IT WORKS!!!!
[php]
$_POST['delete'];
if($_POST['delete'] != NULL){
foreach($_POST['delete'] as $k => $c){
//echo $k ." / ". $c ." || "; //<-- prints the EXACT correct information for the sql query to be properly executed.
$sql = "DELETE FROM my_search_table WHERE uID = '". $c ."'";
mysql_query($sql) OR die ("The query:<br>" . $sql . "<br>Caused the following error:<br>" . mysql_error());
}
}
[/php]
RIGHTEOUS!!!!!! thank you guys so much!
[php]
$_POST['delete'];
if($_POST['delete'] != NULL){
foreach($_POST['delete'] as $k => $c){
//echo $k ." / ". $c ." || "; //<-- prints the EXACT correct information for the sql query to be properly executed.
$sql = "DELETE FROM my_search_table WHERE uID = '". $c ."'";
mysql_query($sql) OR die ("The query:<br>" . $sql . "<br>Caused the following error:<br>" . mysql_error());
}
}
[/php]
RIGHTEOUS!!!!!! thank you guys so much!
![]() |
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
•
•
•
•
•
•
•
•
DaniWeb PHP Marketplace
- Accessing HTML checkboxes with php and javascript (PHP)
- How to Embed CheckList Box on HTML Page using Java Script (HTML and CSS)
Other Threads in the PHP Forum
- Previous Thread: get checkbox value
- Next Thread: How would I write this asp code to work in PHP


Linear Mode