好的,所以我看了AJAX,老实说,我很难理解我将如何将其应用于我的代码。Il 更深入地了解我正在尝试做什么,也许有人可以帮助我更好地了解如何合并 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 文件中,然后在 html 文件中<script>
标签中放置以下内容
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. . .
您在add_signup
方法之前和之后缺少点(串联)。
echo ' <li onclick="document.write(' . add_signup($society, $names['name'], $event) . '); ">' . $names['name'] . "</li>";
这将摆脱您的语法错误。但是,它也将立即执行add_signup
方法,而不是在单击按钮时执行。
要在单击按钮时调用它,请开始研究如何使 Ajax 调用客户端。