티스토리 뷰
유용하게 사용하는 드롭박스형태의 리스트에서 우리가 가변적으로 옵션값을 넣고 싶을때 그냥 코딩하면 실전에서 이렇게 했었습니다.
<select name="find">
<?php
switch ($find) {
case 'all' : print "
<option value='all' selected >전체</option>
<option value='which'>입출고일</option>
<option value='outworkplace'>현장명</option>
<option value='model'>모델명</option>
<option value='item'>철판종류</option>
<option value='company'>해당업체</option> "; break;
case 'which' : print "
<option value='all' >전체</option>
<option value='which' selected>입출고일</option>
<option value='outworkplace'>현장명</option>
<option value='model'>모델명</option>
<option value='item'>철판종류</option>
<option value='company'>해당업체</option> "; break;
case 'outworkplace' : print "
<option value='all' >전체</option>
<option value='which'>입출고일</option>
<option value='outworkplace' selected>현장명</option>
<option value='model'>모델명</option>
<option value='item'>철판종류</option>
<option value='company'>해당업체</option> "; break;
case 'model' : print "
<option value='all' >전체</option>
<option value='which'>입출고일</option>
<option value='outworkplace' >현장명</option>
<option value='model'selected>모델명</option>
<option value='item'>철판종류</option>
<option value='company'>해당업체</option> "; break;
case 'item' : print "
<option value='all' >전체</option>
<option value='which'>입출고일</option>
<option value='outworkplace' >현장명</option>
<option value='model'>모델명</option>
<option value='item'selected>철판종류</option>
<option value='company'>해당업체</option> "; break;
case 'company' : print "
<option value='all' >전체</option>
<option value='which'>입출고일</option>
<option value='outworkplace' >현장명</option>
<option value='model'>모델명</option>
<option value='item'>철판종류</option>
<option value='company'selected>해당업체</option> "; break;
default : print "
<option value='all' >전체</option>
<option value='which'>입출고일</option>
<option value='outworkplace' >현장명</option>
<option value='model'>모델명</option>
<option value='item'>철판종류</option>
<option value='company'>해당업체</option> "; break;
} ?>
</select>
코드가 너무 길어서 이걸 배열에 넣고 하는 방법이 없을까 많이 찾아보고 연구한 끝에 그래도 저 길이에서 좀더 구조적인 형태로 변경한 것이 아래 같습니다.
배열에 넣고 php문으로 반복하면서 넣는 방법... 이게 코드를 줄일 수 있는 좋은 방법 같아요.
$steelsource_item_yes=array();
require_once("../lib/mydb.php");
$pdo = db_connect();
$sql="select * from mirae8440.steelsource";
try{
$steelsource_item_yes=array();
while($row = $stmh->fetch(PDO::FETCH_ASSOC)) {
if($steelsource_item[$counter]!=$last_item)
{
$last_item= $steelsource_item[$counter];
$steelsource_item_yes[$item_counter]=$last_item;
$item_counter++;
}
$counter++;
}
} catch (PDOException $Exception) {
print "오류: ".$Exception->getMessage();
}
array_push($steelsource_item_yes," ");
$steelsource_item_yes = array_unique($steelsource_item_yes);
sort($steelsource_item_yes);
<select name="Bigsearch" id="Bigsearch" >
<?php
for($i=1;$i<$item_counter;$i++) {
if($Bigsearch==$steelsource_item_yes[$i])
print "<option selected value='" . $steelsource_item_yes[$i] . "'> " . $steelsource_item_yes[$i] . "</option>";
else
print "<option value='" . $steelsource_item_yes[$i] . "'> " . $steelsource_item_yes[$i] . "</option>";
}
?>
</select>
생각보다 코드가 작아지지 않는다고 생각할 수도 있지만, 위의 항목이 5개가 아닌 20개라면??
아니 100라면??
이건 배열을 안쓰고는 프로그램 못하는 수준까지 갑니다.
배열로 넣고 그 배열을 불러와서 화면에 나타내는 방법....
차근차근해보면 그리 어려운 것은 아니지만, 처음접하면 약간 어리둥절하지요~
코딩해서 이기는 그날까지 화이팅~
'IT tech Coding > php' 카테고리의 다른 글
php+javascript 이미지파일 다중 업로드 만들기 서버저장 동작구현 (0) | 2022.11.11 |
---|---|
[php] namespace와 use 사용에 헷갈릴때 봐야 할 자료 (1) | 2022.10.08 |
[php] 전화번호의 - 또는 . 문자열에서 없애는 방법 (0) | 2022.09.26 |
php+javascript+mysql 실전 사진등록 모듈 제작 코드, 웹사이트에 사진등록 모듈만들기 (0) | 2021.12.27 |
[php] 화면에 경고메시지 없애는 초간단 방법 (0) | 2021.12.24 |
- Total
- Today
- Yesterday
- 도면자동생성
- 오토핫키가이드
- General error: 2031
- 캐드자동작도
- 뫄프로그래밍
- json파일형태보기
- 파이썬코드줄바꿈방법
- Bootstrap 5
- 코딩효율성
- 구글드라이브API
- #파이썬패키징
- 프로그래머생활
- 스크립트작성기초
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- 티스토리챌린지
- 엑셀셀보호
- 테크에능한여성
- 코딩튜토리얼
- sql문장 날짜계산
- json파일편하게보는법
- #프로그램설치
- 엑셀보호
- 효율적코딩방법
- 오블완
- 엑셀입력보호
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- isset을 적용해야 하는 이유
- #InstallForge
- chatGPT3.5파이썬버전
- ajax오류메시지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |