循环以减少编写许多表单容器
loop to reduce writing many form containers
我有 12 个表单需要出现在我的页面中,但是它们并没有太大区别,例如:
<label>Player 1*</label>
<div class="form-group">
<input class="form-control" name="h-p1-fn" placeholder="First name" type="text"/>
</div>
<div class="form-group">
<input class="form-control" name="h-p1-ln" placeholder="Last name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p1-nr" placeholder="Number" type="number" min="0" max="99" step="1" />
</div>
<label>Player 2*</label>
<div class="form-group">
<input class="form-control" name="h-p2-fn" placeholder="First name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p2-ln" placeholder="Last name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p2-nr" placeholder="Number" type="number" min="0" max="99" step="1" />
</div>
如您所见,表格差别不大。唯一的区别:
标签增量(玩家 1*、玩家 2*、玩家 3* 等。星号用于标签 1 到 5),输入名称增量(h-p1-fn、h-p2-fn 等)。
我怎样才能减少这段代码,也许使用循环?所有这些都在一个.php文件中,所以如果它是一个循环会更好。
你可以这样做:
<?php
for($i=1; $i<=12; $i++) {
?>
<label>Player <?php echo $i; ?>*</label>
<div class="form-group">
<input class="form-control" name="h-p<?php echo $i; ?>-fn" placeholder="First name" type="text"/>
</div>
<div class="form-group">
<input class="form-control" name="h-p<?php echo $i; ?>-ln" placeholder="Last name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p<?php echo $i; ?>-nr" placeholder="Number" type="number" min="0" max="99" step="1" />
</div>
<?php } ?>
你想要的都可以用这个代码实现
$cnt=1;
for($i=0;$i<5;$i++){
echo '
<label>Player .'$cnt'.*</label>
<div class="form-group">
<input class="form-control" name="h-p.'$cnt'.-fn" placeholder="First name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p.'$cnt'.-ln" placeholder="Last name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p.'$cnt'.-nr" placeholder="Number" type="number" min="0" max="99" step="1" />
</div>';
$cnt++;
}
你也可以试试这个:
for($i=0;$i<=12;$i++){
?>
<label>Player<?php echo $i ?>*</label>
<div class="form-group">
<input class="form-control" name="h-p<?php echo $i; ?>-fn" placeholder="First name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p<?php echo $i; ?>-ln" placeholder="Last name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p<?php echo $i; ?>-nr" placeholder="Number" type="number" min="0" max="99" step="1" />
</div>
<?php
}
我有 12 个表单需要出现在我的页面中,但是它们并没有太大区别,例如:
<label>Player 1*</label>
<div class="form-group">
<input class="form-control" name="h-p1-fn" placeholder="First name" type="text"/>
</div>
<div class="form-group">
<input class="form-control" name="h-p1-ln" placeholder="Last name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p1-nr" placeholder="Number" type="number" min="0" max="99" step="1" />
</div>
<label>Player 2*</label>
<div class="form-group">
<input class="form-control" name="h-p2-fn" placeholder="First name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p2-ln" placeholder="Last name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p2-nr" placeholder="Number" type="number" min="0" max="99" step="1" />
</div>
如您所见,表格差别不大。唯一的区别: 标签增量(玩家 1*、玩家 2*、玩家 3* 等。星号用于标签 1 到 5),输入名称增量(h-p1-fn、h-p2-fn 等)。
我怎样才能减少这段代码,也许使用循环?所有这些都在一个.php文件中,所以如果它是一个循环会更好。
你可以这样做:
<?php
for($i=1; $i<=12; $i++) {
?>
<label>Player <?php echo $i; ?>*</label>
<div class="form-group">
<input class="form-control" name="h-p<?php echo $i; ?>-fn" placeholder="First name" type="text"/>
</div>
<div class="form-group">
<input class="form-control" name="h-p<?php echo $i; ?>-ln" placeholder="Last name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p<?php echo $i; ?>-nr" placeholder="Number" type="number" min="0" max="99" step="1" />
</div>
<?php } ?>
你想要的都可以用这个代码实现
$cnt=1;
for($i=0;$i<5;$i++){
echo '
<label>Player .'$cnt'.*</label>
<div class="form-group">
<input class="form-control" name="h-p.'$cnt'.-fn" placeholder="First name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p.'$cnt'.-ln" placeholder="Last name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p.'$cnt'.-nr" placeholder="Number" type="number" min="0" max="99" step="1" />
</div>';
$cnt++;
}
你也可以试试这个:
for($i=0;$i<=12;$i++){
?>
<label>Player<?php echo $i ?>*</label>
<div class="form-group">
<input class="form-control" name="h-p<?php echo $i; ?>-fn" placeholder="First name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p<?php echo $i; ?>-ln" placeholder="Last name" type="text" />
</div>
<div class="form-group">
<input class="form-control" name="h-p<?php echo $i; ?>-nr" placeholder="Number" type="number" min="0" max="99" step="1" />
</div>
<?php
}