0

PHP の再帰関数に問題があります。関数を呼び出してデータベースから行を取得します。行を配列に入れ、関数を再度呼び出して、行に接続されている他の行を取得します...問題は、array_unshiftが最初の行のみを保存し、他は保存しないことです。何が問題ですか。回答ありがとうございます。

    public static function nahrejZpravy($responseTable, $responseId){
    $return = Array();
    $query = "SELECT * FROM Zpravy WHERE responseTable = '$responseTable' AND responseId = '$responseId'";
    $result = query($query);
    while($row = mysql_fetch_assoc($result)){
        array_unshift($return, $row);
        Zpravy::nahrejZpravy('Zpravy', $row['id']);
    }  
    return $return;
}
4

2 に答える 2

1
<?php

function getResponsesRecursive($responseTable, $responseId) {
    $responses = array();
    $query = "SELECT * FROM Zpravy WHERE responseTable = '$responseTable' AND responseId = '$responseId'";
    $result = mysql_query($query);
    while ( $row = mysql_fetch_assoc($result) ) {
        $row['responses'] = getResponsesRecursive($row['table'], $row['id']);
        $responses[] = $row;
    }
    return $responses;
}
?>
于 2013-08-26T13:16:33.020 に答える