gpt4 book ai didi

PHP MySQL 图片点击计数器

转载 作者:可可西里 更新时间:2023-11-01 08:05:30 24 4
gpt4 key购买 nike

我是 PHP 的新手,一直在研究点击计数器。点击计数器工作得很好,但现在我想将数字转换成图像。

我创建了 12 个图像 0-9、一个间隔符和一个逗号图像。

我四处搜索以寻找将数字格式转换为图像需要做什么的提示,但没有成功。到目前为止,我所发现的只是如何仅使用文件、PHP/MySQL 制作基本的点击计数器,以及如何使用 PHP/MySQL 显示加密图像。

那么问题是:我如何告诉给定的代码显示图像来代替每个数字?

当前 PHP 结果示例:命中:2,435

我希望我的 PHP 获取总点击次数(示例),然后使用以下代码获取并替换 2,435:

<img src="img/2.png"><img src="img/comma.png"><img src="img/4.png"><img src="img/3.png"><img src="img/5.png">


注意:我在此处显示的代码中使用了很多注释。这样,任何新编码人员都可以更轻松地理解正在显示的脚本。我会在这篇文章的底部添加我的最终/完成的代码,这样当我找到解决方案时每个人都可以看到最终产品。
此代码完全是虚构的文本点击计数器

// Begin open SQL connection to database
$concount = mysqli_connect("site","username","password","database");
// End connection to database

// Begin update number of hits
mysqli_query($concount,"UPDATE counter SET hits = hits + 1");
// End update number of hits

// Begin get number of hits
$hits = ("SELECT SUM(hits) FROM counter");
// End get number of hits

// Begin show number of hits
$result = mysqli_query($concount,$hits);
while($row = mysqli_fetch_array($result)) {
echo "Hits:&nbsp;" . number_format((float)$row['0']) . "&nbsp;";
}
// End show number of hits

// Begin close SQL connection
mysqli_close($con);
// End close SQL connection


编辑:下面是我的代码的最终结果。请注意,此脚本中的数组在图像数组的开头和结尾放置了一个 '。 (参见以下示例)

Array ( [0] => ' [1] => 2 [2] => 4 [3] => 3 [4] => 5 [5] => ' )

因此,除非我想在我的点击计数器的以太端出现损坏的图像,否则我必须使用它们。我将我已经计划在两端使用的透明图像重命名为 '.png(请参见以下示例)

<img src="img/'.png"><img src="img/2.png"><img src="img/4.png"><img src="img/3.png"><img src="img/5.png"><img src="img/'.png">


最终代码 此代码完全虚构为图像点击计数器

// Begin open SQL connection to database
$concount = mysqli_connect("site","username","password","database");
// End connection to database

// Begin update number of hits
mysqli_query($concount,"UPDATE counter SET hits = hits + 1");
// End update number of hits

// Begin get number of hits
$hits = ("SELECT SUM(hits) FROM counter");
// End get number of hits

// Begin assign $hits an id
$result = mysqli_query($concount,$hits);
while($row = mysqli_fetch_array($result)) {
$totalhits=("'" . $row[0] . "'");
}
// End assign $hits an id

// Begin get id for number of hits, split the string into array, and assign id to numbers
$arr = str_split($totalhits);
$numbers = $arr;
foreach ($numbers as $value) {
// End get id for number of hits, split the string into array, and assign id to numbers

// Begin show number of hits as images
echo "<img src=\"img/".$value.".png\">";
}
// End show number of hits as images

// Begin close SQL connection
mysqli_close($con);
// End close SQL connection


最后说明:我还没有尝试为更大的数字添加逗号或删除数组上的撇号。如果我这样做,我会回来编辑它。

最佳答案

您需要将点击计数器拆分为数组,每个值包含一个数字,然后使用 for 循环附加图像。

<?php
$array = str_split($your_hit_variable_from_mysql);
if(!empty($array)){
foreach($array as $single){
echo '<img src="'.$single.'.jpg"'>;
}
}else{
echo '<img src="0.jpg"'>;
}
?>

确保您以整数格式存储数字,而不是像带逗号的 52,200 这样的字符串。

更多请查看 Here.

编辑:添加了当图像计数器为 0 时的异常处理。

关于PHP MySQL 图片点击计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30137551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com