Solved

insert into mysql database form with multiple fields that include a checkbox array

Posted on 2011-02-11
1
422 Views
Last Modified: 2012-05-11
I am able to submit all fields into my database with the exception of the art_photos[] checkbox array. All fields enter their correct data but the array inserts the word NULL. Any help would be appreciated as to why the array won't insert my data value.  I removed the styles from this code so if you see something regarding Spry, just ignore that part of the code. Here's what I am working with.


<?php virtual('/budgets/Connections/connAdmin.php'); ?>
<?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;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO daily_budget (rundate, slug, reporter, budgetInfo, notes, `section`, deadline, art_photos, sidebar, sBudget) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['rundate'], "text"),
                       GetSQLValueString($_POST['slug'], "text"),
                       GetSQLValueString($_POST['reporter'], "text"),
                       GetSQLValueString($_POST['budgetInfo'], "text"),
                       GetSQLValueString($_POST['notes'], "text"),
                       GetSQLValueString($_POST['section'], "text"),
                       GetSQLValueString($_POST['deadline'], "text"),
                                 GetSQLValueString($_POST['art_photos'], "text"),
                       GetSQLValueString($_POST['sidebar'], "text"),
                       GetSQLValueString($_POST['sBudget'], "text"));

  mysql_select_db($database_connAdmin, $connAdmin);
  $Result1 = mysql_query($insertSQL, $connAdmin) or die(mysql_error());
}

?>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Budget Record</title>
</head>

<body>
<center><h2>Insert Daily Budget </h2></center>
<?php
if (isset($error)) {
      echo '<ul>';
      foreach($error as $alert) {
            echo "<li class='warning'>$alert</li>\n";
      }
      echo '</ul>';
}
?>
<form action="<?php echo $editFormAction; ?>" method="POST" name="form1" id="form1">
  <table align="center" width="60%" border="2" bgcolor="#FFFFFF">
    <tr valign="baseline">
      <td width="14%" align="right" nowrap="nowrap"><STRONG>Rundate:</STRONG></td>
      <td width="86%">
        <input type="text" name="rundate" size="30" value="" id="jQueryUICalendar2"/>
 
</td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><STRONG>Section:</STRONG></td>
      <td>
        <select name="section">
        <option value=""></option>
          <option value="A1">A1</option>
          <option value="Pickup All">Pickup All</option>
          <option value="Region">Region</option>
          <option value="Atlantic">Atlantic</option>
               <option value="Business">Business</option>
          <option value="Features">Features</option>
          <option value="Sports">Sports</option>
        </select>
     </td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Slug:</strong></td>
      <td><span id="sprytextfield2">
      <input type="text" name="slug" value="" size="32" />
      <span class="textfieldRequiredMsg">REQUIRED</span></span><span style="color: #F00; font-weight: bold; font-size: 10px;"></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Budget Information:</strong></td>
      <td><span id="sprytextarea1">
        <textarea name="budgetInfo" cols="50" rows="4"></textarea>
<span class="textareaRequiredMsg">Required.</span></span><span style="color: #F00; font-weight: bold; font-size: 11px;"></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Notes:</strong></td>
      <td><input type="text" name="notes" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Reporter:</strong></td>
      <td><span id="sprytextfield3">
        <input type="text" name="reporter" value="" size="32" />
      <span class="textfieldRequiredMsg">Required.</span></span><span style="color: #F00; font-weight: bold; font-size: 10px;"></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Deadline:</strong></td>
      <td><input type="text" name="deadline" size="30" value="Enter date" id="jQueryUICalendar1"/>
> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Artwork:</strong></td>
      <td><label>
          <input type="checkbox" name="art_photos[]" value="factbox" id="art_photos_0"  />
          Factbox</label>
       
        <label>
          <input type="checkbox" name="art_photos[]" value="graphic" id="art_photos_1" />
          Graphic</label>
       
        <label>
          <input type="checkbox" name="art_photos[]" value="photo" id="art_photos_2" />
          Photo</label>
       
        <label>
          <input type="checkbox" name="art_photos[]" value="video" id="art_photos_3"  />
          Video</label>
      <br /></td>
    </tr>
        <tr>
       
    </tr>
       <tr valign="baseline">
      <td nowrap="nowrap" align="right">      <strong>Sidebar:</strong></td>
      <td valign="baseline"><span id="spryradio2">
        <label>
          <input type="radio" name="sidebar" value="y" id="sidebar_0" />
          Yes</label>
        <br />
        <label>
          <input type="radio" name="sidebar" value="n" id="sidebar_1" />
          No</label>
        <br />
        <span class="radioRequiredMsg"><strong style="font-size: 11px">REQUIRED.</strong></span></span>
       
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Sidebar Information:</strong></td>
      <td><input type="text" name="sBudget" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td><input type="submit" value="Insert record" /></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1" />
</form>

<h3><a href="/new_budget/admin/manage_budgets.php"><strong>View your budget entry, make changes or delete your budget.</strong></a></h3>

</body>
</html>
0
Comment
Question by:acpress
1 Comment
 
LVL 27

Accepted Solution

by:
Lukasz Chmielewski earned 500 total points
ID: 34875323
I think the database field is not availab le to get any value from an array thus it is getting null,
you would have to implode the art_photos[] array with some character and then insert it into that field art_photos.
Is the field type text or varchar ?
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

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

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 …
Introduction This article is intended for those who are new to PHP error handling (https://www.experts-exchange.com/articles/11769/And-by-the-way-I-am-New-to-PHP.html).  It addresses one of the most common problems that plague beginning PHP develop…

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