Heim >Backend-Entwicklung >PHP-Tutorial >while 的变量传出去不一样?该如何解决

while 的变量传出去不一样?该如何解决

WBOY
WBOYOriginal
2016-06-13 11:56:191014Durchsuche

while 的变量传出去不一样?

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

这个方法是输入一个父栏目ID 就查找到有什么子栏目ID

以上的方法

应该是输出

1,2,

但只能输出
1,

但如果把
                return $all_son = $row["id"].",";
改为:
                echo $all_son = $row["id"].",";

就能正常的显示出1,2,

这是为什么?

我如何解决?
我是想把这个方法最终输出成

1,2

让我在mysql中 WHERE id IN (1,2) 

但现在只能输出第一个,还不能用return, 只能用echo?

求解!
------解决方案--------------------

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn