> 백엔드 개발 > PHP 튜토리얼 > 循环出来的Select选项问题

循环出来的Select选项问题

WBOY
풀어 주다: 2016-06-23 14:22:11
원래의
1114명이 탐색했습니다.

select php

选择月份:		<select name="month">			<?php 			for($i="1"; $i<="12"; $i++){				if($i<10){					echo "<option>0".$i."月</option><br>";				}else{					echo "<option>".$i."月</option><br>";				}			} 			?>		</select>
로그인 후 복사

这个月份是通过For循环出来的,默认是选择1月份,当选择其它月份再点提交后,又显示回1月份了,有什么办法可以停留在当前选择的月份呢?


回复讨论(解决方案)

这样写

<select name="month"><?php $m = 5; // 假定选中的是 5 月for($i="1"; $i<="12"; $i++){  printf("<option value=%d %s>%02d月</option>", $i, $m == $i ? ' selected' : '', $i);}?></select>
로그인 후 복사
로그인 후 복사
로그인 후 복사

这样写

<select name="month"><?php $m = 5; // 假定选中的是 5 月for($i="1"; $i<="12"; $i++){  printf("<option value=%d %s>%02d月</option>", $i, $m == $i ? ' selected' : '', $i);}?></select>
로그인 후 복사
로그인 후 복사
로그인 후 복사

我选择8月,点提交后怎么又回到5月了??

你难道不赋值吗?

你难道不赋值吗?
谢谢,value=%d %s>%02d月 这一句是什么意思呢?

这样写

<select name="month"><?php $m = 5; // 假定选中的是 5 月for($i="1"; $i<="12"; $i++){  printf("<option value=%d %s>%02d月</option>", $i, $m == $i ? ' selected' : '', $i);}?></select>
로그인 후 복사
로그인 후 복사
로그인 후 복사

选择仓库:		<select name="depot">			<?php			$ckSQL = "SELECT MC001,MC002 FROM {$dataBase}CMSMC";			$ckQuery = sqlsrv_query($conn,$ckSQL);			if( $ckQuery === false) {				die( print_r( sqlsrv_errors(), true) );			}			$ck = $_POST["depot"];			while($ckRow = sqlsrv_fetch_array($ckQuery)) {					//echo "<option>".$ckRow[1]."</option>";				printf("<option >%s</option>", $ckRow[1], $ck == $ckRow[1] ? ' selected' : '', $ckRow[1]);			}			sqlsrv_free_stmt( $query);			?>			<option value="全部" <?php if($_POST["depot"] == "全部"){echo 'selected="selected"';} ?>>全部</option>		</select>
로그인 후 복사
为什么这一段按照你的方法改就不管用了呢?
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿