从mysql表中调用随机值

时间:2012-02-13 07:07:35

标签: php mysql arrays random

我是php和mysql的新手,我正在完成我的页面的主页,但我一直在敲打键盘,试图弄清楚如何解决这个问题。我已经设置了一个php脚本,即使每24小时也可以作为一个cron运行。该脚本为表格中的每个字段分配10到30之间的随机数。这很好,每次加载脚本时值都会改变。

我遇到的问题是当我尝试使用这些值时。结果将打印保持为单词Array而不是表中的数字。所以我会给你一些我在这里运行的代码片段。这是cron事件。

?php
$con = mysql_connect("localhost","username","pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("dbname", $con);

$random= rand(10, 30);

mysql_query("UPDATE winners SET pool= '$random'");

mysql_close($con);

这是调用值的脚本。

php?
$db = mysql_connect('localhost','username','pass') or die("Database error");
mysql_select_db('dbname', $db);


$query = "SELECT pool FROM winners";
$result = mysql_query($query) or die(mysql_error());

while ($row = mysql_fetch_array($result)) 

if ( $row % 2 )
{ 
echo "<h4>Result 1</h4>";
echo "$row";
echo "<br />";
}
else
{ 
echo "<h4>Result 2</h4>";
echo "<br />";
}

我已经尝试了所有可能的变化,我可以想到这个代码,但我能得到的是回显数组或资源#9。任何有关这方面的见解将不胜感激。

2 个答案:

答案 0 :(得分:1)

您不希望回显$row的内容,其中包含您在调用mysql_fetch_array()时从数据库中获取的当前行返回的所有数据。

相反,您想要访问$row的{​​{1}}项目的内容:

pool

您应该仔细查看mysql_fetch_array()的手册页及其中包含的示例。


请注意,您可能还想修改以下行中的条件:

echo $row['pool'];

您可能不希望在if ( $row % 2 ) 上进行测试,而是在其中包含的项目上进行测试。

答案 1 :(得分:0)

$query = "SELECT pool FROM winners";

$result = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_array($result)) 
{
if ( $row['pool'] % 2 )
{ 
echo "<h4>Result 1</h4>";
echo "$row['pool']";
echo "<br />";
}
else
{ 
echo "<h4>Result 2</h4>";
echo "<br />";
}
}

希望这有帮助。