sql 쿼리문 값 배열 넣기 후 for문

sql 쿼리문 값 배열 넣기 후 for문

QA

sql 쿼리문 값 배열 넣기 후 for문

본문


<select>
                                <option value="">값 검색</option>
                                <?php
                                    $subject_array = array();
                                    $sql = "SELECT wr_subject FROM g_table ";
                                    $result = sql_query($sql);
                                    while($subject_array = sql_fetch_array($result)){
                                        $subject_array = array($sql['wr_subject']);
                                    }
                                    // $subject_array[] = $sql['wr_subject'];
                                        ?>
                            <?php
                            for($i=0; $i < count($subject_array); $i++){
                                $find_subject = sql_fetch("SELECT EXISTS (SELECT * FROM g_table WHERE wr_subject ='$subject_array[$i]' LIMIT 1) as success");
                             
                                if($find_subject['success']){ ?>
 
                                <option value="<?php echo $subject_array[$i]?>"> <?php echo $subject_array[$i] ?> </option>
                                <?php
                               }
                            }
                            ?>
                            </select>

이런식으로 해서 g_table 안에있는 wr_subject 컬럼이 있는 값들만 배열에 담아 select로 출력하려고 하는데 우선 wr_subject 컬럼 체크 후 배열에 담아야하는데 방법이 너무 어려워 질문드립니다ㅠㅠㅠ 배열에 담고 for문 count로 하는것이 맞나요??

이 질문에 댓글 쓰기 :

답변 2

<select>
<option value="">값 검색</option>
<?php
$subject_array = array();
$sql = "SELECT wr_subject FROM g_table";
$result = sql_query($sql);
while($row = sql_fetch_array($result)){
    $subject_array[] = $row['wr_subject'];
}
for($i = 0; $i < count($subject_array); $i++){
    $find_subject = sql_fetch("SELECT EXISTS (SELECT * FROM g_table WHERE wr_subject = '$subject_array[$i]' LIMIT 1) as success");
    if($find_subject['success']){ ?>
        <option value="<?php echo $subject_array[$i]?>"><?php echo $subject_array[$i]?></option>
    <?php }
}
?>
</select>

수정 해드렸습니다.

SELECT EXISTS <---이런 쿼리는 필요 없고 복잡하게 할 이유도 없습니다

<?php
$optStr="<option value=''>값 검색</option>";
$result = sql_query("SELECT wr_subject FROM g_table where wr_subject !='' ");
while($row = sql_fetch_array($result)){
$optStr .="<option value='{$row['wr_subject']}'>{$row['wr_subject']}</option>";
}
?>

<select><?php echo $optStr;?></select>

 

답변을 작성하시기 전에 로그인 해주세요.
전체 1,543
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT