php - 从图像超链接运行 PHP 函数(Facemash 项目)

标签 php jquery mysql ajax iframe

好吧,这是我第一个使用 PHP 和 MySQL 的项目,我认为使用 HTML、PHP 和 MySQL 的 Facemash 风格的网站是开始的好地方。

一切正常,除了调用“updateHits”函数作为图像超链接不符合我的预期。

我确信 MySQL 数据库运行正常并且图片确实按预期显示。我的研究指向使用 iFrame、jQuery 或 AJAX 来更新“点击”字段,尽管我不明白如何在此处应用它们。

我希望我的代码是可读的,任何建议都将不胜感激!

<html>
<body>
<?php
// Make a MySQL Connection
mysql_connect("localhost", "admin", "admin") or die(mysql_error());
mysql_select_db("facemash") or die(mysql_error());

// Select two random people
$personA = rand(1, 28);
$personB = rand(1, 28);

// Ensure that it is not the same person
if ($personB == $personA) {
   $personB = rand(1, 28);
}

// Function to return path of photo
function photoPath ($person){

$query = mysql_query("SELECT photo FROM people WHERE id=$person");
$result  = mysql_fetch_row($query);
$result = $result[0];

echo $result;
}

// Function to update the hits field
function updateHits($person){

$query = mysql_query("SELECT hits FROM people WHERE id=$person;");
$result  = mysql_fetch_row($query);
$result = $result[0];

$result++;

mysql_query("UPDATE people SET hits = $result WHERE id=$person");
}
?>

<!--Image for personA-->
<a href="<?php updateHits($personA);?>"><img src="<?php photoPath($personA);?>"/></a>

<!--Image for personB-->
<a href="<?php updateHits($personB);?>"/><img src="<?php photoPath($personB);?>"/></a>
</body>
</html>

谢谢。

最佳答案

嗯,PHP 不是那样工作的。 ;)

PHP 是服务器端代码,您正在创建一个指向任何地方的链接。要获得您想要的效果,您需要对服务器进行 AJAX 调用以告知其更新匹配。

关于php - 从图像超链接运行 PHP 函数(Facemash 项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5697219/

相关文章:

php - MySQL:后续出现的次数

jquery - 当我单击超链接时,父 div 消失了。

php - 尝试从函数中检索 int 类型并将其与 $_Get 值进行比较(mysql PHP)

java - spring mvc中如何更新mysql数据?

mysql - 选择group_concat()包含字符的记录

php - CodeIgniter 和表格中的图像显示

php - 使用 php 动态查找 sql 列一个月的总值

php - 如何在我的网站上获取用户的国家标志

jquery - 检查是否选择了下拉列表中的项目

javascript - Angular 在外部 Controller 中使用带有对象的 jQuery 插件