2012-02-13 59 views
0

我对PHP和MySQL相当新,我在整理我的页面的主页伸展,但我一直在键盘上敲我的头,整天试图找出如何解决这个问题。我已经设置了一个php脚本,即使每24小时也可以运行一个cron。该脚本为我的表中的每个字段分配一个10到30之间的随机数。这工作正常,每次我加载脚本的值改变。回忆从mysql表中的随机值

我遇到的问题是当我尝试使用这些值。结果保持打印为数组而不是表格中的数字。所以我会给你一些我在这里运行的代码的片段。这是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。任何洞察到这一点将不胜感激。

回答

1

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

相反,你要访问$rowpool项目的内容:

echo $row['pool']; 

你或许应该仔细看看手册页mysql_fetch_array(),它包含的例子。


请注意,您可能也需要修改的条件下面一行:

if ($row % 2) 

你可能不希望要在$row做了测试,但一个项目它包含。

+0

谢谢你真的解决了数组问题,但我仍然有问题从if语句获得正确的结果。我试图将其更改为if($ row ['pool']%2),但它似乎没有工作。 if语句正在查询值是否可以被2整除? – user1206214 2012-02-13 07:17:03

+0

桌子上只有一排,这应该很简单,我想我一直在盯着屏幕太久。我试图测试的是'pool'列中的值可以被2整除,并且它一直告诉我23可以被2整除。 – user1206214 2012-02-13 07:26:55

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 />"; 
} 
} 

希望这会有所帮助。

+0

那么,这是行得通的。我也尝试过,我只是感到困惑,我把结果1和结果2放在一起。时间让我去睡觉,感谢大家的帮助 – user1206214 2012-02-13 08:34:25