好的,所以我看了AJAX,说实话我很难理解我将如何将它应用到我的代码中。我会更深入地了解我想要做的事情,也许有人可以帮助我更好地理解如何结合AJAX调用。 所以我有一个名为add_signups的函数,它接受3个参数并将一些数据插入到mysql表中。
function add_signup($society, $student_email, $event) {
$member_fields = array('name','student_num','student_email',);
$fields = '`' . implode('`, `',($member_fields)) . '`';
$query = mysql_query("SELECT $fields FROM `$society members` WHERE `student_email`='$student_email'");
$elems = mysql_fetch_assoc($query);
array_walk($elems, 'array_sanitize');
$data = '\'' . implode('\', \'', $elems) . '\'';
$result = mysql_query("INSERT INTO `$event` ($fields) VALUES ($data)");
}
我有另一个名为get_names的方法,它打印一个电子邮件地址列表。我试图在用户点击其中一个电子邮件地址时调用add_signup方法,这会将该用户的电子邮件地址以及其他一些信息插入到表格中。
function get_names($society, $event){
$records= mysql_query("SELECT `student_email` FROM `$society members` ORDER BY `student_email`");
while($emails = mysql_fetch_assoc($records)){
echo ' <li style="cursor:pointer;" onclick="' add_signup($society, $emails['student_email'], $event) '); ">' .$emails['student_email'] . "</li>";
}
}
我不明白的是在使用ajax调用方面放置什么。我想我需要将add_signup()方法放在一个单独的php文件中,然后在<script>
标签内的html文件中放入以下内容
function jsfunction(){
$.ajax({
type: "POST",
url: "add_signupmethod.php",
data: { "what to put here??" },
success: " what to put here? "
});
}
显然我需要更改onclick事件来调用js函数,但这是否接近正确?
或者我甚至需要使用ajax并且有更简单的方法吗?我已经被困在这两天了,令人沮丧的是我知道add_signup()
功能正常,因为我在其他功能之外测试它。非常感谢任何帮助我解决这个问题的人。
原始信息
echo ' <li style="cursor:pointer;" onclick="' add_signup($society, $emails['student_email'], $event) '); ">' .$emails['student_email'] . "</li>";
任何人都可以帮忙吗?我试图在点击列表元素时调用php函数,只有html代码由echo语句中的另一个php函数自己生成。
我一直都会遇到语法错误,所以这么简单,或者甚至可以做到这一点?如果没有,我该怎么做才能得到我想要的结果?实际的错误代码是
Parse error: syntax error, unexpected 'add_signup' (T_STRING), expecting ',' or ';' in C:\Users. . .
答案 0 :(得分:2)
您错过了add_signup
方法之前和之后的点(连接)。
echo ' <li onclick="document.write(' . add_signup($society, $names['name'], $event) . '); ">' . $names['name'] . "</li>";
这将消除您的语法错误。但是,它也会立即执行add_signup
方法,而单击按钮时不会。
要在单击按钮时调用此方法,请开始查看如何在客户端进行Ajax调用。