1) 드롭 다운 목록에서 염소를 선택하고 goat_id 및 해당 폐하와 댐 두 필드 모두 상위 염소 이름을 저장합니다.PHP에서 고유 한 이름을 가진 재귀 함수
2) 각 폐하와 댐 양쪽 필드에 대해 goat_name을 사용하여 재귀 적으로 호출하려고합니다.
function generate_tree($goat_id)
{
global $wpdb;
// get all records from database whose parent is $id
$sql = $wpdb->prepare("SELECT * FROM mm_goats WHERE id = %d", $goat_id);
$row2 = $wpdb->get_row($sql, ARRAY_A);
//check if there are any results
if(!empty($row2))
{
echo "<ul>";
if($row2['sire'] != "" || $row2['dam'] != "")
{
//print result and call function to check if it has children
echo "<li>Sire: ".$row2['sire']."</li>";
echo "<li>Dam: ".$row2['dam']."</li>";
generate_tree($row2['id']);
}
echo "</ul>";
}
}
이 함수를 사용하여 첫 번째 선택한 폐하와 댐을 사용하여 무한 루프로 이동했습니다.
이 구조를 따르십시오.
그래서 generate_tree($row2['id']);
^^^^^^^^^^^
그냥 모든 순환에 SAME 염소에 대한 정보를 가져 오는 유지 :
e 현재 염소의 ID는 폐하/댐의 ID가 아니라 재귀 함수에 저장되므로'generate_tree (42)'를 호출하면'generate_tree (42)'를 호출하고 등을 호출합니다. –
루프없이 무한 루프를 어떻게 만날 수 있습니까? –
오. 나는 그것을 지금 본다. 나는 마르크 B가 횡설수설하고 있다고 생각했다. .. 나는 틀렸다. .. oops –