【PHP】풀다운에서 설정한 항목을 selected로 하는 샘플
소개
공룡 등록 도구 2
에서 하이브리드 공룡을 등록할 때 생성원 공룡 유형을 다른 페이지로 전송한 후,
전 페이지의 타입에 해당 공룡명을 선택하는 수법을 취하고 있었지만, 귀찮다.
타입과 그에 따른 공룡명을 한 번에 확정하고 싶었다.
그래서 의사 연동 풀다운을 생각해 보았습니다.
첫 번째, 두 번째 풀다운 모두 DB의 SELECT 결과를 이용.
첫 번째 풀다운 선택 항목 (normal, rare, epic, legend) 결정 (확인 버튼 누름 후)
나중에 그 항목에 있던 내용을 두 번째 풀다운 항목을 내보내 보았다.
아래 소스의 포인트는
\$cate0과 $select_data['type0']을 비교하는 부분
(※$cate0은 첫 번째 풀다운으로 확정된 항목)
출처
공룡 등록 도구 2
에서 만든 테이블과 소스를 일부 유용.
select_pulldown_dino.php
<!DOCTYPE html>
<html lang="ja">
<meta charset="utf-8">
<title>恐竜タイプ選択1</title>
<h1>恐竜タイプ選択</h1>
<body>
<?php
require "common_dino.php";
$db_name='dino_collect.db';
$db1 = new PDO('sqlite:'.$db_name);
$query_type0 = "SELECT DISTINCT type0 from tbl_dino";
?>
<form action="select_pulldown_dino.php" method="post">
カテゴリー:
<?php $result_a=get_AllData($db1,$query_type0);
$cate0=isset($_POST['dtype0'])?htmlspecialchars($_POST['dtype0']):null;
?>
<select name="dtype0">
<?php while($select_data=$result_a->fetch(PDO::FETCH_ASSOC)){
//$cate0が$select_data['type0']と等しい場合
if($cate0 == $select_data['type0']){
echo "<option selected>".$select_data['type0']."</option>";
//$cate0が$select_data['type0']と等しくない場合
}else{
echo "<option>".$select_data['type0']."</option>";
}
}
?>
</select><br>
<input type="submit" name = "btn2" value="確定">
</form>
<?php
$db_name='dino_collect.db';
$db1 = new PDO('sqlite:'.$db_name);
$query_select_type0 = "SELECT dname0 from tbl_dino where type0 = ?";
$result3=$db1->prepare($query_select_type0);
//パラメータをセット
$result3->bindparam(1,$cate0);
$result3->execute();
?>
<form action="select_pulldown_dino.php" method="post">
対象生物:
<select name="dname">
<?php $dino0=isset($_POST['dname'])?htmlspecialchars($_POST['dname']):null; ?>
<?php while($select_data=$result3->fetch(PDO::FETCH_ASSOC)){
echo "<option>".$select_data['dname0']."</option>";
}
?>
</select><br>
<input type="hidden" name="btn3" value="<?=$cate0?>">
<input type="submit" value="確定">
</form>
<?php
$cate0=isset($_POST['btn3'])?htmlspecialchars($_POST['btn3']):null;
if(empty($dino0) == false && empty($cate0)== false){
print $dino0.",".$cate0;
}
?>
실행 결과
카테고리를 선택한 후 "확정"을 누르면 선택한 카테고리가 표시됩니다.
선택 카테고리에 포함된 공룡이 풀다운에 표시됩니다.
마지막으로
javascript라든지, 복수 풀다운의 연동이라든지 간단해 보이지만,
php만으로 구현하는 것은 지루한가, 나의 기술력 부족인가.
좋은 방법이 없습니까?
전부 취득할 수 없는 것이 판명되었으므로 수정
Reference
이 문제에 관하여(【PHP】풀다운에서 설정한 항목을 selected로 하는 샘플), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/knowledge87sun/items/0853b86dc0ec8cd63dc0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)