Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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_Sql_Random - Fatal编程技术网

Php 如何显示此结果集-它不工作

Php 如何显示此结果集-它不工作,php,sql,random,Php,Sql,Random,我试图在我的主页上显示数据库中的随机帖子,但插入代码时什么也不显示。如何让下面的代码显示数据库中的随机行 <?php require "connect2.php"; $sql = "SELECT * FROM tablename ORDER BY RAND()"; while($row = mysql_fetch_array($sql)){ $userid = $row["userid"]; $user = $row["user"];

我试图在我的主页上显示数据库中的随机帖子,但插入代码时什么也不显示。如何让下面的代码显示数据库中的随机行

   <?php
require "connect2.php";

  $sql = "SELECT * FROM tablename
          ORDER BY RAND()";
while($row = mysql_fetch_array($sql)){
    $userid = $row["userid"];
    $user = $row["user"];
        $city = $row["city"];
        $desc = $row["description"];
        $title = $row["title"];
    $state = $row["state"];


echo"<h3><font face='helvetica'><font size='4'><b><font color='B80000'>$title</font></font></font></b> &nbsp;<font color='A0A0A0'><a href='profile.php?id=$userid'>$user</a></font>
<font face='helvetica'><font size='3'><br>&nbsp;$desc</font></font><br>

   <h3><font color='101010'> &nbsp;$city,$state&nbsp;<font color='A0A0A0'>$date</font>  </font><a href='bid.php?id=$userid'>Bids</a>";

?>

您没有执行查询。您只是创建了一个碰巧包含SQL语句的变量。这就像说,
$win='中彩票'
并希望您的银行帐户中存入大量存款

$sql = 'SELECT ...';
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($result);

$somedata = $row['somefield_from_your_database'];

echo "The value is $somedata";

是您需要的基本代码序列。

也许您应该执行查询:

<?php
require "connect2.php";

$sql = "SELECT * FROM tablename ORDER BY RAND()";

$result = mysqli_query($dbc,$query);

if

 (mysqli_num_rows($result) > 0) {
        while ($row = mysqli_fetch_object($result)) {
    $html= <<<HTML 
<h3><font face='helvetica'><font size='4'><b><font color='B80000'>$title</font></font></font></b> &nbsp;<font color='A0A0A0'><a href='profile.php?id=$userid'>$row->user</a></font>
    <font face='helvetica'><font size='3'><br>&nbsp;$row->desc</font></font><br>

   <h3><font color='101010'> &nbsp;$city,$state&nbsp;<font color='A0A0A0'>$row->date</font>  </font><a href='bid.php?id=$row->userid'>Bids</a>
HTML;
     echo ($html);
    }
}


通过使用此查询,您将获得随机记录…

请将标题更改为更明确的内容。主题措辞不当,请进行否决表决。您甚至没有在
$SQL
中执行SQL查询,因为您没有执行查询(您只需将字符串分配给
$SQL
)和
回送一堆HTML。看一下文档:我更新了它。完全忘记了,因为sql很挑剔,我会像从表ORDER BY newid()中选择top 10*那样编写它吗?是的,因为通过使用此查询,我们获取随机记录以显示广告横幅。。
<?

    require_once("connect2.php");

    $sql = "SELECT * FROM tablename ORDER BY RAND()";

    while( $row = mysql_fetch_array($sql) )
    {
        $userid = $row["userid"];
        $user   = $row["user"];
        $city   = $row["city"];
        $desc   = $row["description"];
        $title  = $row["title"];
        $state  = $row["state"];

        if (!$firstname) 
        {
            $firstname = $username;
        }

        echo "<h3><font face='helvetica'><font size='4'><b><font color='B80000'>$title</font></font></font></b> &nbsp;<font color='A0A0A0'><a href='profile.php?id=$userid'>$user</a></font><font face='helvetica'><font size='3'><br>&nbsp;$desc</font></font><br><h3><font color='101010'> &nbsp;$city,$state&nbsp;<font color='A0A0A0'>$date</font>  </font><a href='bid.php?id=$userid'>Bids</a>";
    }

?>
select top 10 * from [tablename] order by newid()