【问题标题】:PHP SQL - Random Select 1 Row, Where ID = xPHP SQL - 随机选择 1 行,其中 ID = x
【发布时间】:2012-09-22 06:28:25
【问题描述】:

我有一个 MySQL 数据库,我需要一个 PHP 来提取随机行。我已经创建成功了

$query = "SELECT * FROM $usertable
          WHERE region='UK'          
          ORDER BY RAND() LIMIT 1";

这样就成功随机拉了一行;但是,它不限于region=2

我需要能够:

  1. region=UK时随机拉取
  2. region=UK或##时随机拉取

(其中##实际上是另一个地区,例如,YK = 约克郡)

基本上我需要它来随机选择行,但仅在 region=UK 时。

region 是我的fields/collumns 之一的标签,UKVARCHAR 的内容,其中有许多行。

我已对其余代码进行了排序。

我有一个简单的数据库和php如下:

<?php
//Sample Database Connection Syntax for PHP and MySQL.
//Connect To Database
$hostname="carbonmarketing.db.9606426.hostedresource.com";
$username="MarketReadOnly";
$password="Read0nly1";
$dbname="carbonmarketing";
$usertable="ClientList";
$advertfooter = "advertfooter";
mysql_connect($hostname,$username, $password) or die ("<html>%MINIFYHTML4333ddb1f6ba50276851b9f9854a5c817%</html>");
mysql_select_db($dbname);
# Check If Record Exists
$query = "SELECT * FROM $usertable
          WHERE region='UK'          
          ORDER BY RAND() LIMIT 1";
$result = mysql_query($query);
if($result)
{
    while($row = mysql_fetch_array($result))
    {
        $advertfooter = $row["$advertfooter"];
        echo "$advertfooter";

    }
}
?>

但是,它只是随机抽取region 列的所有值

让我知道查看数据库是否对您有帮助。

【问题讨论】:

  • 我是 PHP 和 SQL 的新手,并且正在快速发展(在我能走路之前就跑了哈哈)

标签: php mysql database random


【解决方案1】:

用你的区域制作和排列并内爆它们:

$region = array('UK', 'YK');
$implode = implode("', '", $region);
$query = "SELECT * FROM `".$usertable."` WHERE `region` IN ('".$implode."') ORDER BY RAND() LIMIT 1";

【讨论】:

    【解决方案2】:
    $query = "SELECT * FROM $usertable
              WHERE region IN ('UK','YK')          
              ORDER BY RAND() LIMIT 1";
    

    【讨论】:

    • 啊我试过这个方法,但是 $query = "SELECT * FROM $usertable WHERE region IN (UK, YK) ORDER BY RAND() LIMIT 1";
    • 您忘记了区域名称周围的单引号。
    猜你喜欢
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多