내 요구 사항을 충족시키는이 작은 PHP 코드 조각을 발견했습니다.PHP에서 다른 조건의 위치 지정
<?php
$allDocs = mysql_query("SELECT id, parent FROM modx_site_content ORDER BY id DESC");
while($doc = mysql_fetch_assoc($allDocs)) {
$parent = mysql_query("SELECT id FROM modx_site_content WHERE parent = " . $doc['id'] . " AND id = " . $doc['parent']);
if(mysql_num_rows($parent)) {
while($parentDoc = mysql_fetch_assoc($parent)) {
echo 'Infinte loop found<br /><br />';
echo 'Document #' . $doc['id'] . ' and document #' . $parentDoc['id'] . ' are each others parent.';
}
}
else {
echo 'No loop found';
}
}
?>
을하지만 while 루프로 전환 :
<?php
$allDocs = mysql_query("SELECT id, parent FROM modx_site_content ORDER BY id DESC");
while($doc = mysql_fetch_assoc($allDocs)) {
$parent = mysql_query("SELECT id FROM modx_site_content WHERE parent = " . $doc['id'] . " AND id = " . $doc['parent']);
if(mysql_num_rows($parent)) {
while($parentDoc = mysql_fetch_assoc($parent)) {
echo 'Infinte loop found<br /><br />';
echo 'Document #' . $doc['id'] . ' and document #' . $parentDoc['id'] . ' are each others parent.';
}
}
}
?>
나는이 같은 다른 조건을 넣어했습니다. else 조건을 넣을 적절한 장소는 어디입니까?
두 번째 while 루프에 들어가기위한 프로그램의 흐름을 중단시키는 ELSE 조건은 어떻게됩니까? 조건부에는 두 번째 쿼리의 결과가 있는지 여부가 있습니다. – Deleteman
그 전에 다른 어딘가에 있어야 할 말인가요? – Santosh
정확히 무엇을하고 싶습니까? 결과가 없으면 "No loop found"가 출력됩니까? 그렇다면 코드가 정확합니다. "$ parent = mysql_query ("SELECT id FROM modx_site_content WHERE parent = ". $ doc [ 'id']."AND id = ". $ doc [ 'parent']); " 시도한 결과가 없습니다. – Deleteman