我有以下代码,其中我试图从SQL数据库中显示一些信息,打印它并在此信息旁边有一个按钮,这将允许我调用PHP函数。我知道你不能简单地从HTML调用PHP函数,因为PHP是服务器端。然而,所有其他答案似乎都假设我没有AJAX / javascript的知识。我的代码如下:
while ($row = $results->fetchArray()){
/* return the results */
$links .= 'Website Name: '. $row['title'].'<br>';
$links .= "Link : <a href= " . $row['link'] . " > " . $row['link'] ." </a> </br>";
$links .= "Recommendations: " . $row['recommendations'] . "</br></br>";
}
return $links;
我将预格式化的每一位信息添加到$links
变量中,然后将其返回到另一个文件中进行访问。最初,我以为我能够做类似的事情
$links .= 'Website Name: '. $row['title'].'<button onClick="recommend($row[id])" /><br>';
但是这需要调用Javascript函数recommend
,而且我对Javascript没有任何了解。出于这个原因,我无法想到解决这个问题的其他方法。如果我没有充分解释我的问题并且很乐意提供您可能想要的任何额外信息,我很抱歉。预先感谢您的帮助。
答案 0 :(得分:0)
要执行此操作,您需要动态更改页面内容,这只能通过Javascript或类似的方式进行。
实现类似功能的唯一方法是在页面中使用iframe。然后可以在该iframe中加载链接并从服务器请求页面而不会影响父页面。
<iframe name="functionLoader" width="1" scrolling="no" height="1" frameborder="0" src="doNothing.php" seamless="seamless"></iframe>
<a href="phpScriptToExecute.php" target="functionLoader">Execute Script</a>
不过,这是一个相当肮脏的解决方法。我建议你看一下JavaScript和AJAX,即使它需要一些时间才能进入。
祝福!
答案 1 :(得分:0)
这是一个非ajax答案。
while ($row = $results->fetchArray()){
/* return the results */
$links .= 'Website Name: '. $row['title'].'<br>';
$links .= "Link : <a href= " . $row['link'] . " > " . $row['link'] ." </a> </br>";
$links .= "Recommendations: " . $row['recommendations'] . "</br></br>";
$links .= "<a href='update.php?id=" . $row['id'] . "'> Recommend </a>";
}
return $links;
然后在update.php上添加代码以处理$ _GET数组中的id并重定向回原始页面。
这样你就可以坚持使用php而不用担心AJAX / Javascript
答案 2 :(得分:0)
尝试使用表单而不是按钮。
替换
<button onClick="recommend($row[id])">
与
<form action="some_php_page"><input type="hidden" value="$row[id]" name="PICK_A_NAME"><input type="submit" value="WHATERVER_U_WANT_THE_BUTTON_TO_SAY"></form>
因此,当单击该按钮时,页面将在php页面上发布隐藏字段值,您可以将其保存在数据库中,然后将用户返回到您列出网站以供推荐的页面。
不确定此解决方案有多好,因为任何人都可以多次推荐网站。我想你必须调整它以便反映网站逻辑。