2012-02-13 10 views
0

私はphpとmysqlをかなり使い慣れています。私は自分のページを完成させるためにホームストレッチをしていますが、修正する方法を見つけようと、この問題。私は24時間ごとにcronとして実行するPHPスクリプトを設定しました。スクリプトは、テーブルの各フィールドに10〜30の乱数を割り当てます。それは正常に動作し、私はスクリプトをロードするたびに値が変更されます。mysqlテーブルからランダムな値を呼び出す

私が抱えている問題は、それらの値を使用しようとするときです。結果は、表内の数字ではなく、配列の単語として印刷されます。そこで、ここで実行しているコードの一部を紹介します。これはcronイベントです。

ここに値を呼び出すスクリプトがあります。

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

私はこのコードで考えられるすべてのバリエーションを試しましたが、ArrayまたはResource#9のいずれかをエコーすることができます。これについての洞察は非常に高く評価されます。

答えて

1

mysql_fetch_array()を呼び出すと、データベースからフェッチした現在の行に対して返されるすべてのデータが含まれる$rowの内容をエコーし​​たくありません。

代わりに、あなたは$rowpool項目のコンテンツにアクセスしたい:

echo $row['pool']; 

おそらくmysql_fetch_array()のマニュアルページを詳しく見てみて、それが含まれている例をすべきです。


あなたはおそらく次の行に条件を変更することをお勧めします。注:

if ($row % 2) 

あなたはおそらくテストが$row上で行うことにしたくないが、項目にそれが含まれています。

+0

実際に配列の問題を修正しましたが、私はまだifステートメントから適切な結果を得るのに問題があります。私はそれをif($ row ['pool']%2)に変更しようとしましたが、動かないようです。 if文は、値が2で割り切れるかどうかを問い合わせていますか? – user1206214

+0

テーブルには1つの行しかありませんが、これは本当に簡単なはずです。私はあまりにも長い間画面を見つめていたと思います。私がテストしようとしているのは、 'pool'の値が2で割り切れ、23が2で割り切れることが分かります。 – user1206214

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

関連する問題