2012-02-13 100 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