ホームページ  >  記事  >  バックエンド開発  >  whileの変数を渡す場合は違うのでしょうか?

whileの変数を渡す場合は違うのでしょうか?

WBOY
WBOYオリジナル
2016-06-23 13:57:46958ブラウズ

function type_son_id_finder($type_id){        $query=mysql_query("SELECT id FROM `protduct_type` WHERE `f_id` = '$type_id'");        while ($row=mysql_fetch_assoc($query)) {                return $all_son = $row["id"].",";        }}

このメソッドは、親列 ID を入力して、どのようなサブ列 ID があるかを調べることです

上記のメソッド



1,2,

を出力する必要がありますが、出力できるのは
1,

だけです
Return $ all_son = $ row ","; とすると、
これはなぜですか?それを解決しますか?
最終的にこのメソッドを

1,2

として出力したいのですが、mysql WHERE id IN (1,2) を使用させてください

しかし、今は最初のものしか出力できません まだ return は使用できませんエコーしか使えないんですか?

解決してください!




ディスカッションに返信(解決策)

最初に基本を学ぶことをお勧めします

function type_son_id_finder($type_id){
$query=mysql_query("SELECT id FROM `product_type` WHERE `f_id` = '$ type_id '");

$ all_son =' ';

while ($ row = mysql_fetch_assoc ($ query)) {

$ all_son. = $ row [" id "].", "; ; }


ループ内のreturnは現在のループから飛び出すため、ループは1回実行しただけで終了するため、結果は1つしか得られません 1
正しい結果については #2 を参照してください Returnはループの後に配置されます


function type_son_id_finder($type_id) {U $ Query = MySQL_QUERY ("Protduct_Type` F_id` = '$ Type_id' ");
$ assoc ($ Query)) {
$ all_son. $ Row ["id"] ".", ";;
}
return $ all_son;

}

しばらくの間、ありがとうございましたが、戻ってくるとは思っていませんでした。;

??? は上書きされます毎回 $all_son が返されるため、

が $row["id"] に変更されます。
?End?Return $all_son;

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。