2011-05-18 8 views
0

私は自分のCMSを作成中です。私はそうのようなページにエコー出力するデータベースの行を選択し、いくつかのコードがあります:私は関数内にこれを入れて、代わりにコードの長い行を使用しての機能を呼び出すようにしようとするたびにCMSテーマを簡略化する関数を使用

$query = mysql_query("SELECT * FROM posts order by id desc") or die(mysql_error()); 

をしかし、何も起こりません。私はPHP関数で何か不足していますか?

function posts() { 
    mysql_query("SELECT * FROM posts order by id desc") or die(mysql_error()); ` 
} 
while($row = mysql_fetch_array(posts())) { 
    $id = $row['id']; 
    echo $id; 
} 
+1

あなたはあなたの関数のコードを表示することができますか? – Trott

+0

私の質問にコードを追加しました – codedude

答えて

2

あなたは結果を返す必要があります。

function posts() { 
    return mysql_query("SELECT * FROM posts order by id desc") or die(mysql_error()); ` 
} 
+0

ビンゴ。現在、操作を実行していますが、必要な戻り値を無駄にしています。 – ShotgunToothpaste

0

あなたの関数のコードを見ることなく、それは問題が何であるかを言うことは不可能ですが、私はあなたの説明に基づいて推測していた場合、私がチェックしたい最初のものは、あなたが(a)に戻っているかどうかを確認することですあなたの関数の$ queryと(b)あなたの呼び出しコードの何かに戻り値を代入します。

更新:したがって、posetdのコードに基づいて、問題は(a)です。値を返す必要があります。関数内のコードの1行の残りの部分の前に "return"を置くだけでうまくいくはずです。

関連する問題