我在MySQL数据库中有两个表,一个是图像,一个是文本:
表1(图像):
<img src="pngs/000.png">
<img src="pngs/001.png">
<img src="pngs/002.png">
...
<img src="pngs/199.png">
表2(文字):
"This is text 0."
"This is text 1."
"This is text 2."
...
"This is text 1999."
我希望页面显示一个随机图像,以及十行随机文本,每次访问和每次刷新都会更新。
到目前为止,我已经在本地Web Apache服务器上完美地工作了。但是,在线上传时,存在以下几个问题:
我目前正在使用以下方法从MySQL数据库中选择一个随机行:
$query = 'SELECT * FROM pngs ORDER BY RAND() LIMIT 1';
并在HTML中引用该脚本:
<div class='img'><?php include('pngs.php');?></div>
更新图像的延迟是否与此实现有关?或者我误解了MySQL / PHP基础设施,应该使用Javascript代替吗?
我非常感谢有关如何产生所需功能的任何建议。
*修改
以下是图片的完整PHP代码。
<?php
require_once 'login2.php';
$conn = new mysqli($hn, $un, $pw, $db);
if ($conn->connect_error) die($conn->connect_error);
$query = "SELECT * FROM pngs ORDER BY RAND() LIMIT 1";
$result = $conn->query($query);
if (!$result) die($conn->error);
$result->data_seek(1);
$row = $result->fetch_array(MYSQLI_ASSOC);
echo '<img src="/pngs/'.$row['png'].'.png">';
$result->close();
$conn->close();
?>
字符串的PHP脚本类似,但使用
除外$query = "SELECT txt FROM strings WHERE RAND()<=0.011";
正如我所知,这是从大型数据库中选择随机行的更快捷方式。