我试图建立一个网站,在那里你可以修改和更新mysql数据库直接使用内容与jquery,ajax和PHP相结合。代码通过$_POST‘’content‘使用一些jquery/ajax来捕获数据,以加载一个php文件(save.php)。save.php文件运行mysql更新,使用用户提供的contenteditable输入的$_POST‘’content‘信息更新数据库。
在save.php文件中,我使用一个惟一的ID来标识必须更新哪一行。可通过URL访问此ID。我尝试通过$_GET' ID‘捕获id,并将其转换为$var_id=$_GET'id’。我的问题是,当我试图访问从URL获得的id ($var_id)变量时
例如。http://www.website.org/selectedvariant.php?id=100
在save.php文件中无法识别$var_id,并且mysql更新不起作用。我知道这是访问$var_id变量的一个问题,因为当我手动设置变量_id=‘100’时,它可以正常工作。指示save.php文件没有为$var_id变量获取正确的值。
任何帮助解决这个长期挑战的人都将不胜感激!
save.php
<?php mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$content=mysql_real_escape_string ($_POST['content']); //gets the posted content
$var_id=$_GET['id'];
$sql="update table_list set column='$content' where id='$var_id'";
if (mysql_query($sql))
{echo 1;
}
?>other.php文件(仅相关(我认为?))信息
$(document).ready(function() {
$("#save").click(function (e) {
var content = $('#editable').html();
$.ajax({
url: 'save.php',
type: 'POST',
data: {
content: content
},本教程中的大部分代码都摘自:
http://gazpo.com/2011/09/contenteditable/
谢谢,罗恩
发布于 2012-11-18 21:42:24
在进行ajax调用时,需要通过某种方法(get或post)传递content和id。在您的代码中,通过POST方法将content数据发送到save.php。无论如何,ID不会被发送到你的php脚本。将您的url参数更改为-
url:'save.php?id='+WhatYouHaveInHand发布于 2012-11-18 21:40:22
您不能在任何地方传递ID。这就是问题所在。
要使AJAX POST调用也返回GET参数,参数必须在查询字符串中。举个例子,如果你想传递一个随机的ID,你可以这样做
$("#save").click(function (e) {
var content = $('#editable').html();
var randomID = Math.floor(Math.random()*1000);
$.ajax({
url: 'save.php?id='+randomID,
type: 'POST',
data: {
content: content
},this:很明显,你需要调整它来提供一个真实的ID。
https://stackoverflow.com/questions/13440582
复制相似问题