可编辑,PHP + MySQL

use*_*098 2 php mysql jquery jeditable

好的,我是MySQL和PHP的新手,但是可以在这里使用一些帮助。

宏伟的愿景:一个充满可编辑字段的大页面(我正在使用Jeditable,它是就地编辑的jquery插件),可将值存储到MySQL数据库同一行中的不同字段。

我完全迷失了如何正确地将值发布到MySQL数据库的不同字段。下面是我所拥有的;它源自Jeditable提供的示例。我可以在字段中输入数据,但会保存字段的ID(而不是数据),并将其附加到数据库的多个列中,而不是一个正确的列中。

因此,简而言之-如何将您在此处看到的内容映射到我的MySQL数据库的不同位置(例如:一个具有客户名称值,尺寸值,初始销售价值的MRR的订单项/记录?)

这是我的HTML-

<!-- JQuery to extract form data... -->
  <script type="text/javascript" charset="utf-8">
    $(document).ready(function() {
      $('#paragraph_1').editable('save.php');
    });

    $(document).ready(function() {
      $('#custsize').editable('save.php');
    });

    $(document).ready(function() {
      $('#mrratsale').editable('save.php');
    });
  </script>

<!-- my form fields... -->
<h2 id="paragraph_1" name="paragraph_1"></h2>
<h3 id="custsize" name="custsize"></h3>
<h3 id="mrratsale" name="mrratsale"></h3>
Run Code Online (Sandbox Code Playgroud)

...这是我的save.php文件...

   <?php
      require_once 'config.php';
      $query=sprintf("INSERT INTO customerdata (ListItemID, CustName, CustSize, MrrAtSale)
        VALUES (%d, '%s', '%s', '%s')",
         $id, $_POST['id'], $_POST['id'], $_POST['id'], stripslashes($_POST['value']));

      $dbh->exec($query);
       /* What is echoed back will be shown in webpage after editing.*/
         print $_POST['value']; 
     ?>
Run Code Online (Sandbox Code Playgroud)

任何帮助都将是非常非常感谢的(并且不要笑!)

ste*_*w00 5

您要做的就是将每个可编辑的数据库写入其自己的函数-因此您可以针对各个字段。

因此,您的html文件应该阅读(我还清理了您的JS):

<!-- JQuery to extract form data... -->
<script type="text/javascript" charset="utf-8">
  $(document).ready(function() {
    $('.paragraph_1').editable('save.php?type=paragraph');
    $('.custsize').editable('save.php?type=custsize');
    $('.mrratsale').editable('save.php?type=mrratsale');
  });
</script>

<!-- my form fields... -->
<h2 id="1" class="paragraph_1"></h2>
<h3 id="1" class="custsize"></h3>
<h3 id="1" class="mrratsale"></h3>
Run Code Online (Sandbox Code Playgroud)

注意如何将查询字符串添加到save.php文件。您还应该将元素的ID更改为记录中的字段,以便可以更新正确的记录。

php文件:

<?php
  require_once 'config.php';

  $type = (isset($_GET['type'])) ? $_GET['type'] : "";
  $value = (isset($_POST['value'])) ? $_POST['value'] : ""; //value posted
  $id = (isset($_POST['id'])) ? $_POST['id'] : ""; //id of the element

  if($type == "paragraph") {
    mysql_query("UPDATE customerdata SET paragraph='$value' WHERE id='$id'");
  } elseif ($type == "custsize") {
    mysql_query("UPDATE customerdata SET CustSize='$value' WHERE id='$id'");
  } elseif ($type == "mrratsale") {
    mysql_query("UPDATE customerdata SET MrRatSale='$value' WHERE id='$id'");
  };

   print $value; 
?>
Run Code Online (Sandbox Code Playgroud)

您应该添加一些验证并清理数据,然后再将其放入数据库中,但这应该可使jEditable正常工作。

请注意,您可能应该update记录而不是记录insert,否则每次编辑数据时都会创建一个新记录。

您可以看到ID用于更新正确的记录。

我最近还没有真正使用过jEditable,但这应该可以帮助您入门。