0
** 대답 ... 쉼표 뒤에 공백이 있습니다. 모두에게 감사드립니다!PHP 루프 mysql을 한 번만 실행
다음 코드를 실행하면 모든 $ castmember가 표시되지만 mysql은 첫 번째 코드에서만 실행됩니다.
$getactors=explode(",", $actors);
foreach($getactors as $castmember){
$idolid="";
$srch3= "SELECT `id`,`dir` FROM `idols` WHERE `name`='$castmember'";
$result5 = mysql_query($srch3);
while ($row5 = mysql_fetch_assoc($result5)) {
$idolid = $row5["id"];
$idoldir= $row5["dir"];
}
if($idolid){ echo"<li style=\"font-size:1.2em;\" ><a href=\"/gallery/$idolid/$idoldir.html\" title=\"$castmember\" itemprop=\"actors\"> $castmember</a>";
} else {
echo"<li style=\"font-size:1.2em;\"><div style=\"display:inline\" itemprop=\"actors\"> $castmember</div>";
}
echo"<span></span></li>\n";
}
그래서 무엇이 문제입니까? – fedorqui
** mysql은 처음 실행될 때만 실행됩니다. **이 행에 대해 자세히 설명합니다. – SachinGutte
'$ getactors'에'var_dump'를 실행합니다. 기대하는 배열입니까? foreach를 사용하여 두 번 이상 iterating하는 경우 문제는 where 절의 값이 일부 추가 공백을 가지며 SQL이 결과를 반환하지 않을 수 있습니다. 루프에서'$ srch3'을 에코하여 건물을 확인하십시오. – ficuscr