angel_cowgirl Posted December 10, 2005 Share Posted December 10, 2005 I think programming just has a curse against me or something. I seem to get the weird errors, being that for this one my line of code that I feel is sure is causing the problem is exactly like all the examples I've been able to find on the net...so this is very frustrating. I have two pages for Deleting the first is the selection page, lists the records with checkboxes next to them for the user to select and then a Delete button that passes to the second page. My first page shows up just fine. So here's a line from my first page just so ya can see the name i'm using for the checkboxes.. echo "<input type='checkbox' name='id[".$i."] value='".$arrHorses['pk_horse_id']."'>"; The second page is suppose to get info for which records to delete from the first page and execute such a query. Then display the name of the records that were selected and say they were successfully deleted. Its connecting to the database just fine. But I'm getting a "not a valid result resource" error. arg, seems to be the error I always get. Here's the important code for that page that I have thus far: //store the Horse_ID passed from the previous page in a variable $intDelete = $_POST['id']; //Query to delete the record passed to it from the previous page $strDeleteQuery = "DELETE FROM horses WHERE pk_horse_id = $intDelete"; //execute the query and save the result set in $rsHorse $rsHorses = ConnectDatabase($strDeleteQuery); for( $i = 0; $i < count($id); $i++) { //get a row of data and store it in $arrHorses $arrHorses = mysql_fetch_array($rsHorses); //echo records that were deleted echo $id[$i]; echo "<br>"; //Give confirmation it was completed echo "<h3>Successfully deleted selected record(s).</h3>"; echo "<br>"; } Please help me figure out how to get it to delete the records. I have a strong feeling this line: $strDeleteQuery = "DELETE FROM horses WHERE pk_horse_id = $intDelete"; is the problem but that is exactly how all the examples I looked up were structured so I can't figure out why its causing problems. Thanks!!! Link to comment https://forums.phpfreaks.com/topic/3014-deleting-records/ Share on other sites More sharing options...
Honoré Posted December 10, 2005 Share Posted December 10, 2005 First this code is wrong: $intDelete = $_POST['id']; because you have this in your form: name='id[".$i."] therefore you will have POST variables looking like: $intDelete = $_POST['id4']; or any other value of $i as digits after 'id'. Second, you should check what does the function ConnectDatabase exactly. Probably this function does not execute a query. Link to comment https://forums.phpfreaks.com/topic/3014-deleting-records/#findComment-10112 Share on other sites More sharing options...
angel_cowgirl Posted December 10, 2005 Author Share Posted December 10, 2005 ConnectDatabase is my function (which is in a file im "requiring") to connect to the database. And it is connecting, know so because theres a line in it saying "Successfully connected to the datbase. Ok the explaination makes sense of what $intDelete would = but I need it to be one line and not havta list all the numbers...I had tried making it $intDelete = $_POST['id[".$i."]']; but of course that didnt work.. ....... Link to comment https://forums.phpfreaks.com/topic/3014-deleting-records/#findComment-10113 Share on other sites More sharing options...
Honoré Posted December 10, 2005 Share Posted December 10, 2005 You could loop over all your $_POST variables and use only those that have a name starting with 'id': foreach ($_POST as $key => $value) { if (substr($key, 0, 2) == 'id') { $intDelete = $value; // do whatever you have to do, probably execute a DELETE statement } } Link to comment https://forums.phpfreaks.com/topic/3014-deleting-records/#findComment-10114 Share on other sites More sharing options...
angel_cowgirl Posted December 10, 2005 Author Share Posted December 10, 2005 Get the same "not valid result resource" error. Link to comment https://forums.phpfreaks.com/topic/3014-deleting-records/#findComment-10122 Share on other sites More sharing options...
ryanlwh Posted December 12, 2005 Share Posted December 12, 2005 foreach($_POST['id'] as $k=>$v) { //Query to delete the record passed to it from the previous page $strDeleteQuery = "DELETE FROM horses WHERE pk_horse_id = $v"; //execute the query and save the result set in $rsHorse, a DELETE query returns true or false $rsHorses = ConnectDatabase($strDeleteQuery); // if successfully deleted, store the id in an array if($rsHorses) $deletedID[] = $v; } for( $i = 0; $i < count($id); $i++) { //echo records that were deleted echo $deletedID[$i]; echo "<br>"; } //Give confirmation it was completed echo "<h3>Successfully deleted selected record(s).</h3>"; echo "<br>"; Link to comment https://forums.phpfreaks.com/topic/3014-deleting-records/#findComment-10145 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.