Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Not able to delete SQL row from HTML Checkbox...

Posted on 2011-09-15
2
267 Views
Last Modified: 2012-05-12
Not sure what the problem is here... I want the code to redirect user to page, but to also delete the mysql row if checkbox is checked.  

Edit: Line 222 is the dynamic checkboxes. line 236 is the delete button.

<?php require_once('../Connections/clcserver1.php'); ?>
<?php
// Start_session, check if user is logged in or not, and connect to the database all in one included file
include_once("scripts/checkuserlog.php");
?>
<?php
////////////////////////////////////////////////      Member log in double check       ///////////////////////////////////////////////////
if (!@$_SESSION['idx']) { 
    $msgToUser = '<br /><br /><font color="#FF0000">Only site members can do that</font><p><a href="register.php">Join Here</a></p>';
    include_once 'msgToUser.php'; 
    exit(); 
} else if ($logOptions_id != $_SESSION['id']) {
	$msgToUser = '<br /><br /><font color="#FF0000">Only site members can do that</font><p><a href="register.php">Join Here</a></p>';
    include_once 'msgToUser.php'; 
    exit(); 
}
?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

mysql_select_db($database_clcserver1, $clcserver1);
$query_Recordset1 = "SELECT * FROM job_leads";
$Recordset1 = mysql_query($query_Recordset1, $clcserver1) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

mysql_select_db($database_clcserver1, $clcserver1);
@$industry = $_GET['industry'];
// Escape User Input to help prevent SQL Injection
$industry = mysql_real_escape_string($industry);
$query_Recordset1 = "SELECT * FROM job_leads WHERE industry= '$industry'";
$Recordset1 = mysql_query($query_Recordset1, $clcserver1) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

// Start_session, check if user is logged in or not, and connect to the database all in one included file

// Include the class files for auto making links out of full URLs and for Time Ago date formatting
include_once("wi_class_files/autoMakeLinks.php");
include_once ("wi_class_files/agoTimeFormat.php");
// Create the two objects before we can use them below in this script
$activeLinkObject = new autoActiveLink;
$myObject = new convertToAgo; 
?>
<?php
// Include this script for random member display on home page
include_once "scripts/homePage_randomMembers.php"; 
?>
<?php
$sql_blabs = mysql_query("SELECT * FROM blabbing ORDER BY blab_date DESC LIMIT 10");

$blabberDisplayList = ""; // Initialize the variable here

while($row = mysql_fetch_array($sql_blabs)){
	
	$blabid = $row["id"];
	$uid = $row["mem_id"];
	$the_blab = $row["the_blab"];
	//$the_blab = substr($the_blab, 0, 48);
	$the_blab = wordwrap($the_blab, 30, "\n", true);
	//$the_blab = wordwrap($the_blab, 14, "<br />\n");
	$notokinarray = array("fag", "gay", "shit", "fuck", "stupid", "idiot", "asshole", "cunt", "douche");
    $okinarray   = array("sorcerer", "grey", "shug", "farg", "smart", "awesome guy", "butthole", "cake", "dude");
	$the_blab = str_replace($notokinarray, $okinarray, $the_blab);
	$the_blab = ($activeLinkObject -> makeActiveLink($the_blab));
	$blab_date = $row["blab_date"];
	$convertedTime = ($myObject -> convert_datetime($blab_date));
    $whenBlab = ($myObject -> makeAgo($convertedTime));
	$blab_type = $row["blab_type"];
	$blab_device = $row["device"];
	
	// Inner sql query
	$sql_mem_data = mysql_query("SELECT id, username, firstname, lastname FROM myMembers WHERE id='$uid' LIMIT 1");
	while($row = mysql_fetch_array($sql_mem_data)){
			$uid = $row["id"];
			$username = $row["username"];
			$firstname = $row["firstname"];
			$lastname = $row["lastname"];
			if ($firstname != "") {$username = "$firstname $lastname"; } // (I added usernames late in  my system, this line is not needed for you)
			///////  Mechanism to Display Pic. See if they have uploaded a pic or not  //////////////////////////
			$ucheck_pic = "members/$uid/image01.jpg";
			$udefault_pic = "members/0/image01.jpg";
			if (file_exists($ucheck_pic)) {
			$blabber_pic = '<div style="overflow:hidden; width:40px; height:40px;"><img src="' . $ucheck_pic . '" width="40px" border="0" /></div>'; // forces picture to be 100px wide and no more
			} else {
			$blabber_pic = "<img src=\"$udefault_pic\" width=\"40px\" height=\"40px\" border=\"0\" />"; // forces default picture to be 100px wide and no more
			}
	
			$blabberDisplayList .= '
      			<table width="100%" align="center" cellpadding="4" style="background-color:#CCCCCC; border:#999 1px solid;">
        <tr>
          <td width="7%" bgcolor="#FFFFFF" valign="top"><a href="profile.php?id=' . $uid . '">' . $blabber_pic . '</a>
          </td>
          <td width="93%" bgcolor="#F9F9F9" style="line-height:1.5em;" valign="top">
		 <span class="liteGreyColor textsize9"> ' . $whenBlab . ' <a href="profile.php?id=' . $uid . '"><strong>' . $username . '</strong></a> <br />
          via <em>' . $blab_device . '</em></span><br />
         <span class="textsize10"> ' . $the_blab . '</span>
            </td>
        </tr>
      </table>';
			}
	
}
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="Description" content="CLC, Inc. Employment Network" />
<meta name="Keywords" content="employment, find a job, job, dfw employment, fort worth jobs, dallas jobs, training, veteran forum, 
forums employment, find employment, job discussion, job resources, vet, veteran, veteran resources" />
<title>CLC, Inc. Employment Network</title>
<link href="style/main.css" rel="stylesheet" type="text/css" />
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<script src="js/jquery-1.4.2.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript"> 
function toggleSlideBox(x) {
		if ($('#'+x).is(":hidden")) {
			//$(".sourceBox").slideUp(200);
			$('#'+x).slideDown(300);
		} else {
			$('#'+x).slideUp(300);
		}
}
</script>
</head>
<body>
<?php include_once "header_template.php"; ?>

<table width="920" style="background-color:#cccccc;" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>

    <td width="732" valign="top">

<div id="sb1" style="display:none; width:704px; border:#999 1px solid; padding:12px; background-image:url(style/area1BG.jpg); line-height:1.5em; ">CLC, Inc. Employment Network<br />
<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0" style="margin-top:5px;">
  <tr>
      <td width="34%"><strong>&bull; Registration System</strong><span class="textsize10"> (php  mysql)</span><strong><br />
        &bull; Activation System</strong> <span class="textsize10">(php  mysql)</span><strong><br />
        &bull; Login w/ keep log System</strong> <span class="textsize10">(php  mysql)</span></td>
    <td width="33%"><strong>&bull; Friend System</strong> <span class="textsize10">(php  mysql)</span><strong><br />
&bull; Private Message System </strong><span class="textsize10">(php  mysql)</span><strong><br />
&bull; API and Gadget Systems </strong><span class="textsize10">(php  mysql)</span></td>
    <td width="33%"><strong>&bull; Profile EditingSystem</strong> <span class="textsize10">(php  mysql)</span><strong><br />
&bull; Member Listing System </strong> <span class="textsize10">(php  mysql)</span><strong><br />
&bull;Status System</strong> <span class="textsize10">(php  mysql)</span></td>
    </tr>
</table>
</div>
<div style="width:728px; border:#999 1px solid; border-bottom:none;"><?php include_once "leaderBoardAd.php"; ?></div>
<table style="background-color:#EFEFEF; border:#999 thin solid; padding:10px; line-height:1.5em;" width="730" border="0" cellspacing="0" cellpadding="0">
<tr>
  <td width="86%" valign="top" style="font-size:10px;"><table border="1" cellpadding="0" cellspacing="0">
    <tr>
      <td><table style="background-color:#EFEFEF; border:#999 thin solid; padding:10px; line-height:1.5em;" width="730" border="1" cellspacing="0" cellpadding="8">
        <tr>
          <td width="14%" valign="top"><h2>Select Industry</h2>
            <p><a href="http://clcinc.org/social/joblist.php?industry=logistics"> Logistics</a> <br />
               <a href="http://clcinc.org/social/joblist.php?industry=admin"> Administrative</a> <br />
               <a href="http://clcinc.org/social/joblist.php?industry=manu"> Manufacturing</a><br />
               <a href="http://clcinc.org/social/joblist.php?industry=mgmt"> Management</a><br />
               <a href="http://clcinc.org/social/joblist.php?industry=protect"> Protective/Law</a><br />
               <a href="http://clcinc.org/social/joblist.php?industry=natresource"> Oil/Gas</a><br />
               <a href="http://clcinc.org/social/joblist.php?industry=social"> Social</a><br />
               <a href="http://clcinc.org/social/joblist.php?industry=aero"> Aerospace</a><br />
               <a href="http://clcinc.org/social/joblist.php?industry=service"> Service</a><br />
               <a href="http://clcinc.org/social/joblist.php?industry=retail"> Retail</a><br />
            </p>
            </td>
          <td width="86%" valign="top" style="font-size:10px;">
          <form name="form1" method="post" action="">
            <table border="1" cellpadding="0" cellspacing="0">
              <tr>
                <td>Industry</td>
                <td>Contact</td>
                <td>Location</td>
                <td>Position</td>
                <td>Pay</td>
                <td>Hours</td>
                <td>Qualifications</td>
                <td>Delete</td>
                </tr>
              <tr>
                <?php do { ?>
                 [b] <td height="20"><?php echo $row_Recordset1['industry']; ?></td>
                  <td><?php echo $row_Recordset1['contact']; ?></td>
                  <td><?php echo $row_Recordset1['location']; ?></td>
                  <td><?php echo $row_Recordset1['position']; ?></td>
                  <td><?php echo $row_Recordset1['pay']; ?></td>
                  <td><?php echo $row_Recordset1['hours']; ?></td>
                  <td><?php echo $row_Recordset1['qualifications']; ?></td>
                  <td><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<?php echo $row_Recordset1['id']; ?>"></td>
                  </tr>
                  <tr>
                  <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
              </tr>
            </table>
            <p> <a href="http://clcinc.org/social/jobadd.php">Insert an opening</a><br />
[/b]
<?php
/*
$res_user_type = mysql_query("SELECT account_type FROM myMembers WHERE id='$uid' LIMIT 1");
$data=mysql_fetch_array($res_user_type);
if ($num_acc_type > 0){
  
		  print '<input name="delete" type="submit" id="delete" value="Delete" />';
		  echo $data[0];
		  echo $uid;
}
*/
//verify that the user is B or C account type
$userID2 = $_SESSION['id'];
$result = mysql_query("SELECT account_type FROM mymembers WHERE id = '" . $userID2 . "' AND (account_type = 'b' OR account_type = 'c')") or die(mysql_error());  

if(mysql_num_rows($result) > 0) {
  print '<input name="delete" type="submit" id="delete" value="Delete" />';
} else {
;
exit();
}
mysql_close();
?>
            </p></td>
        </tr>
      </table></td>
      </tr>
  </table></td>
</tr>
</table></td>
    <td width="188" valign="top"><?php include_once "right_AD_template.php"; ?><br />
<a href="#" target="_blank"><center></center></a></td>
  </tr>

</table>
<?php
// Check if delete button active, start this
if ( isset( $_POST['checkbox'] ) && is_array( $_POST['checkbox']) )
{
$ids = array_map( 'intval', $_POST['checkbox'] );
$ids = implode( ',', $ids );
$sql = 'DELETE FROM `job_leads` WHERE `id` IN ( ' . $ids . ' )';
$result = mysql_query( $sql );
}
else
{
$result = FALSE;
}

// if successful redirect to self
if($result){
echo "<meta http-equiv=\"refresh\" content=\"0;URL=joblist.php?industry=$industry\">";
}
mysql_close();
?>
<?php include_once "footer_template.php"; ?>
</body>
</html>
<?php
mysql_free_result($Recordset1);

?>

Open in new window

0
Comment
Question by:clcinc
2 Comments
 
LVL 55

Expert Comment

by:Julian Hansen
ID: 36547585
Approximate code below
$delete = isset($_POST['delete'])?$_POST['delete'] : false;
if ($delete !== false) {
  $checkbox = isset($_POST['checkbox'])?$_POST['checkbox'] : array();; // Not secure
  if (!empty($checkbox)) {
    foreach($checkbox as $c) {
      $query = "DELETE FROM table WHERE ID=$c";
      mysql_query($query);
    }
    header('location: newlocation.php'); // modify as needed
  }
}

Open in new window

0
 
LVL 109

Accepted Solution

by:
Ray Paseur earned 500 total points
ID: 36548820
This sequence occurs at line 265
<?php
// Check if delete button active, start this
if ( isset( $_POST['checkbox'] ) && is_array( $_POST['checkbox']) )
{
$ids = array_map( 'intval', $_POST['checkbox'] );
$ids = implode( ',', $ids );
$sql = 'DELETE FROM `job_leads` WHERE `id` IN ( ' . $ids . ' )';
$result = mysql_query( $sql );
}
else
{
$result = FALSE;
}

Open in new window

You might want to use some data visualization techniques to see what you are actually creating with this code.  You might also want to know whether the query works, and if not, why not.  So I think I might want to add these things to the programming, at least temporarily, so I could see what the code is doing to the data.

Use var_dump($_POST) to print out the contents of $_POST.  If you echo "<pre>" before var_dump() it will make the variables much easier to read.
Use var_dump($sql) to print out the contents of the generated query immediately before running the query.
Test the return value from the mysql_query() function.  MySQL is not a black box.  It can and will fail for reasons that are outside of your control.  You need to be able to detect the errors and make your script respond appropriately.  An example of how to run a query and visualize any resulting errors is in this code snippet.

You might also enjoy this book.  It is a much better way to learn PHP and MySQL when compared to Dreamweaver.  Dreamweaver contains some of the worst PHP programming ever written.  Do not try to follow their examples; you can learn a lot more - and the right techniques - from the SitePoint book in a matter of minutes!
http://www.sitepoint.com/books/phpmysql4/

Best of luck, ~Ray
$sql = " - WHATEVER - ";
if (!$res = mysql_query($sql))
{
    $errmsg = mysql_errno() . ' ' . mysql_error();
    echo "<br/>QUERY FAIL: ";
    echo "<br/>$sql <br/>";
    die($errmsg);
}
// IF THE SCRIPT GETS THIS FAR, THE QUERY WORKED

Open in new window

0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
MySQL Query Using Up Memory 6 43
hbo knew my windows software 4 62
selector:validator cookies 4 30
Extracting store locations from Google maps or site 2 22
Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this.Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it is …
Does the idea of dealing with bits scare or confuse you? Does it seem like a waste of time in an age where we all have terabytes of storage? If so, you're missing out on one of the core tools in every professional programmer's toolbox. Learn how to …
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question