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)
任何帮助都将是非常非常感谢的(并且不要笑!)
您要做的就是将每个可编辑的数据库写入其自己的函数-因此您可以针对各个字段。
因此,您的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,但这应该可以帮助您入门。