Solved

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

Posted on 2011-02-11
1
426 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
[X]
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
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

Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

Question has a verified solution.

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

This guide whil teach how to setup live replication (database mirroring) on 2 servers for backup or other purposes. In our example situation we have this network schema (see atachment). We need to replicate EVERY executed SQL query on server 1 to…
Introduction Since I wrote the original article about Handling Date and Time in PHP and MySQL several years ago, it seemed like now was a good time to update it for object-oriented PHP.  This article does that, replacing as much as possible the pr…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

734 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