使用表单变量更新MySQL数据库

时间:2014-11-09 18:44:03

标签: php mysql database forms

我目前有一个我在本地构建的页面,这是我为客户设计/创意的在线审批系统。话虽如此,我有一个门户网站,客户可以登录到特定的订单查看他们的订单,并为整个项目的每个项目批准创意。

视觉参考:

enter image description here

这是问题所在:

当用户点击竖起大拇指时,要批准或拇指向下,拒绝。该单选按钮的值不会被写入该文件状态列到该广告素材的数据库中。

我正在使用变量名称(特定广告素材ID)进行单选按钮分组。如何将特定分组的值写入引用每个广告素材状态的数据库列?

<?php $uploadID = $row_order_upload['id']; ?>
<?php $reviewID = $row_order_upload['id'] . 'a'; ?>

<p class="document_item">
  <span class="document_status_container">
    <span class="document_status status_pendingapproval"><?php echo $row_order_upload['file_status']; ?></span><a data-options="width:<?php echo $row_order_upload['file_width'] ?>, height:<?php echo $row_order_upload['file_height'] ?>" href="http://localhost:8888/-portal/user_data/<?php echo $row_order_upload['file_name']; ?>" class="fancybox_swf"><?php echo $row_order_upload['file_width'].'x'.$row_order_upload['file_height'] ?></a></span>
  </p>
    <div class="adStatus_container">
    <label><input class="status_thumb adstatus" type="radio" name="<?php echo $reviewID ?>" value="Rejected" /><img class="rejectimg" src="_source/buttons-assets/rejected.png" width="23" height: "23"></label>
    <label><input class="status_thumb adstatus" type="radio" name="<?php echo $reviewID ?>" value="Approved" /><img class="approveimg" src="_source/buttons-assets/approved.png" width="23" height: "23"></label>
    <input name="id" type="hidden" value="<?php echo $uploadID ?>">
    </div>
<?php } while ($row_order_upload = mysql_fetch_assoc($order_upload)); ?>

<input type="submit">
<input type="hidden"  value="revisionRequest">
</form>

以上代码是为每个上传的广告素材编写的,希望这对于一些帮助有足够的信息!如果我能提供其他任何内容,请告诉我们!

下面是为更新执行的MySQL代码,我知道它可能不是最好的方法,但它是从Dreamweaver自动生成的!:

    if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form")) {
  $updateSQL = sprintf("UPDATE `14111_rfm_uploads` SET file_status=%s WHERE oid=%s",
                       GetSQLValueString($_POST['file_status'], "text"),
                       GetSQLValueString($_POST['oid'], "int"));

  mysql_select_db($database_localhost, $localhost);
  $Result1 = mysql_query($updateSQL, $localhost) or die(mysql_error());

  $updateGoTo = "#";
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $updateGoTo));
}

2 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解您的问题,但看起来您只想根据用户输入更新数据库?

一些提示:

1)你在哪里提交表格?你的表单声明是什么样的

2)无论表单的操作指向何处(例如/post/index.php),此文件都需要对您的帖子的值采取一些操作。要了解您需要做的更多信息,可以在该页面上执行var_dump($ _ POST)。您很可能需要利用PHP PDO将数据写入数据库。

现在,如果您正在寻找写入数据库而不发布表单的内容,则称为Ajax。基本上使用Javascrpit,您将在后台将数据库的更改提交给其他PHP文件(只要用户单击)。我不确定如果你不确定你在做什么,我会首先尝试这种方法,因为这更复杂。

我希望这会有所帮助。

答案 1 :(得分:0)

http://www.w3.org/TR/html401/types.html#type-name

  

ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(&#34; - &#34 ;),下划线(&#34; _&#34;),冒号(&#34;:&#34;)和句号(&#34;。&#34;)。

Cat the&#39; a&#39;到ID的开头而不是结尾。

<?php $reviewID = 'a' . $row_order_upload['id']; ?>

试试等等。