如何给管理员一个按钮来更改php网站页面上的随机条目


How to give a button to admin to change the random entries on the php website page

对不起,问题的标题有点令人困惑。基本上我想要的是:我正在开发一个专为发布广告而设计的 php 网站。用户可以支付一些钱,他们可以在网站上发布他们的广告。现在我想抽奖 6 个广告,即管理员将随机选择 6 个广告,他们将获得奖品。管理员选择这些广告后,它们将在网站上显示2 months。 为此,我创建了一个页面,现在我正在使用查询显示数据库中的 6 条随机记录:

"SELECT * FROM tbl_ad ORDER BY RAND() LIMIT 6"

这给了6随机广告。但是现在我想通过单击该按钮在该页面上提供一个按钮,单击该按钮将显示这些6广告。但此按钮可供管理员使用。他点击下面应该显示button & 6随机记录。一旦显示 6 条随机记录,它们应该显示,直到管理员单击该按钮,这些记录应显示给所有访问者。访客不应显示该按钮。(我知道该怎么做(。 通过点击该按钮,记录显示在从数据库中随机选择的网页上后,所选广告不会在页面刷新时更改。只有管理员可以更改随机记录,一旦他点击此按钮,这些广告应该一直显示,直到和除非管理员再次点击该按钮。

你需要

在你的tbl_ad中有一个名为 order 的字段,或者visible或类似的东西

当管理员生成随机顺序时,您单击该按钮会将每个广告的id及其显示顺序发送回数据库。

你可以把它作为一个数组发回去

$adverts = array ();
$adverts['124'] = 1;
$adverts['20'] = 2;
$adverts['483'] = 3;
$adverts['36'] = 4;
$adverts['8'] = 5;
$adverts['655'] = 6;
$sql = "`UPDATE `tbl_ad` SET `live`='0'";
// run $sql to turn off all the adverts
foreach( $adverts as $key=>$val )
{
$key = (int)$key;
$val = (int)$val;
$sql = "UPDATE `tbl_ad` SET `live`='1', `order`='$val' WHERE `id`='$key'";
// run your $sql
}

或者,如果您不担心广告的顺序,则可以运行这样的查询

$idarray = array();
foreach( $adverts as $key=>$val )
{
    $idarray[] = (int)$key;
}
$sql = "UPDATE `tbl_ad` SET `live`='1' WHERE `id` IN ( " . implode(',', $idarray) . " )";
// run your $sql

在此示例中,键是广告的id,值是广告的显示顺序。

所以现在你给每个广告显示的顺序,我还建议有一个字段live这样你就可以只设置这 6 个直播。

在公共方面,你会这样称呼它:

SELECT * FROM tbl_ad WHERE `live`='1' ORDER BY `order` LIMIT 6

我的建议是用额外的一行标记这六个项目; 所以像这样:

+------------------------------------------------------------+
|ID     advertiser    image_url      display_on_page  clicks |
+------------------------------------------------------------+
|1       Ellen      foo/bar.jpg        true            3     |
|2       Ann        foo/bar2.jpg       false           0     |
|3       Grace      foo/bar3.jpg       true            7     |
|4       Hellen     foo/bar4.jpg       false           1     |
|5       Isabella   foo/bar5.jpg       true            2     |
+------------------------------------------------------------+

然后在页面上,您必须选择要显示的标记项目。在上面的示例中,标记了 3 个项目以显示。