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

时间:2011-04-17 23:36:40

标签: php jquery mysql ajax iframe

好的,这是我的第一个使用PHP和MySQL的项目,我认为使用HTML,PHP和MySQL的Facemash风格的网站将是一个很好的起点。

一切正常,除了调用“updateHits”函数,因为图像超链接不像我期望的那样。

我确信MySQL数据库运行正常,图片会按预期显示。我的研究指出使用iFrames,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>

感谢。

1 个答案:

答案 0 :(得分:0)

嗯,PHP不会那样工作。 ;)

PHP是服务器端代码,您创建的链接无处可寻。要获得您想要的效果,您需要向服务器发出AJAX调用,告诉它更新命中。