Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 张锦旗_Php_Banner Ads - Fatal编程技术网

Php 张锦旗

Php 张锦旗,php,banner-ads,Php,Banner Ads,我试图在用户每次刷新页面时显示随机横幅。我面临的问题是,第一个横幅将再次显示,横幅将从数据库中获取。我是php中的比格纳。因此建议使用横幅刷新代码。您可以使用php函数,将最小值设置为0,将最大值设置为行数-1,用于随机选择横幅 我将这样做,假设您使用的是MySQL数据库,显然您需要用自己的参数替换MySQL参数: $conn = mysql_connect("localhost", "username", "password"); $db = mysql_select_db("database

我试图在用户每次刷新页面时显示随机横幅。我面临的问题是,第一个横幅将再次显示,横幅将从数据库中获取。我是php中的比格纳。因此建议使用横幅刷新代码。

您可以使用php函数,将最小值设置为0,将最大值设置为行数-1,用于随机选择横幅

我将这样做,假设您使用的是MySQL数据库,显然您需要用自己的参数替换MySQL参数:

$conn = mysql_connect("localhost", "username", "password");
$db = mysql_select_db("database_name_here", $conn);
$query = mysql_query("SELECT * from banner_table);
$max = mysql_num_rows($query) - 1;
$image = mysql_result($query, rand(0, $max), "Image_Url_Column");
然后,无论您的图像位于何处:

<img src="<?php echo $image; ?>" alt="Banner image" />
或者,如果在PHP中输出整个元素:

echo "<img src=\"" . $image . "\" alt=\"Banner image\" />";
更新:如果同时显示3个横幅,可能您可以执行以下操作:

$conn = mysql_connect("localhost", "username", "password");
$db = mysql_select_db("database_name_here", $conn);
$query = mysql_query("SELECT * from banner_table);
$rows = mysql_num_rows($query);

$bannerToRetrieve; //the banner (database row number) to be retrieved from database
$alreadyRetrieved = array(); //holds values of previous numbers generated by rand() so the same banner isn't output again

for($i = 0; $i < 3; $i++)
{

    //Only set $bannerToRetrieve to a row that hasn't already been called (stored in $alreadyRetrieved)
    do
    {
        $bannerToRetrieve = rand(0, $rows - 1);
    }
    while(in_array($bannerToRetrieve, $alreadyRetrieved)); //if number is in array, it will generate another number

    $image = mysql_result($query, $bannerToRetrieve, "Image_Url_Column");
    echo "<img src=\"" . $image . "\" alt=\"Banner image\" />";

    $alreadyRetrieved[] = $bannerToRetrieve;
}

$image变量表示要加载的图像文件的文件名或URL,例如banner1.png。这就是您设计系统的方式吗?

到目前为止您编写了哪些代码?请在此处发布您的代码,以便我们向您提供建议。这可能对您有所帮助:谢谢您的回复。但在我的网站主页上,横幅来自数据库…中间部分宽度80%,每次显示3个横幅。因此,我希望在刷新所有3个横幅时做到这一点更改。1小时后会显示横幅。为什么要使用$image变量。原因是什么,我不明白。请解释一下。很紧急。@Alica_Casaligi我修改了我的答案,见上文。@Alica_Casaligi太好了!:你能点击我评论旁边的勾号并投票吗?谢谢。我还有一个问题。那就是,我想做的是,当我把横幅代码放在mu横幅字段中,然后根据横幅代码自动插入横幅宽度和高度。plz建议使用php代码。@Alica_Casaligi您可以对图像标记应用高度和宽度属性:echo;如果这已经解决了你的问题,请你接受我的回答,点击绿色的勾号,否则让我知道。