Php 如何在一页中显示两次数据获取记录?
我必须在一页中取两次国家名称。我有四个下拉列表,分别是country_1、state_1、country_2、state_2 在国家中,用户选择国家名称,并根据国家名称显示国家名称。 如果我只使用country_1、state_1,那么我可以显示它,但我需要在同一页面上同时显示这两个国家 我尝试了$stmt->data\u seek$stmt,0$stmt->data\u seek0;但仍然无法显示它 我只是想知道我应该在哪里使用这些数据Php 如何在一页中显示两次数据获取记录?,php,prepared-statement,Php,Prepared Statement,我必须在一页中取两次国家名称。我有四个下拉列表,分别是country_1、state_1、country_2、state_2 在国家中,用户选择国家名称,并根据国家名称显示国家名称。 如果我只使用country_1、state_1,那么我可以显示它,但我需要在同一页面上同时显示这两个国家 我尝试了$stmt->data\u seek$stmt,0$stmt->data\u seek0;但仍然无法显示它 我只是想知道我应该在哪里使用这些数据 <!--country name--> $c
<!--country name-->
$country_list="SELECT id,name FROM countries";
/* create a prepared statement */
if ($stmt = $conn->prepare($country_list)) {
/* execute statement */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($id, $country_name);
}
<select name="country_data" class="myselect form-control country_data">
<option value="" disabled selected>Select your country</option>
<?php while ($stmt->fetch()) {?>
<option value="<?php echo $id;?>"><?php echo $country_name;?></option>
<?php }?>
</select>
<!--state name-->
<select name="state" class="myselect form-control state_get" >
<option value=''>Select state</option>
</select>
<!--country name-->
<select name="country_data" class="myselect form-control country_data">
<option value="" disabled selected>Select your country</option>
<?php
$stmt->data_seek($stmt,0);
while ($stmt->fetch()) {?>
<option value="<?php echo $id;?>"><?php echo $country_name;?></option>
<?php }?>
</select>
<!--state name-->
<select name="state" class="myselect form-control state_get" >
<option value=''>Select state</option>
</select>
尝试将获取的数据保存在变量中
$data = $stmt->fetch();
<?php
$options = "";
while ($stmt->fetch()){
$options .= "<option value='$id'>$country_name</option>\n";
}
?>
<!--country name 1-->
<select name="country_data1" class="myselect form-control country_data">
<option value="" disabled selected>Select your country</option>
<?php echo $options ?>
</select>
<!--state name 1-->
<select name="state1" class="myselect form-control state_get" >
<option value=''>Select state</option>
</select>
<!--country name 2-->
<select name="country_data2" class="myselect form-control country_data">
<option value="" disabled selected>Select your country</option>
<?php echo $options ?>
</select>
<!--state name 2-->
<select name="state2" class="myselect form-control state_get" >
<option value=''>Select state</option>
</select>
然后在您想使用的任何地方使用foreach循环
foreach($data as $row){
}
尝试将获取的数据保存在变量中
$data = $stmt->fetch();
<?php
$options = "";
while ($stmt->fetch()){
$options .= "<option value='$id'>$country_name</option>\n";
}
?>
<!--country name 1-->
<select name="country_data1" class="myselect form-control country_data">
<option value="" disabled selected>Select your country</option>
<?php echo $options ?>
</select>
<!--state name 1-->
<select name="state1" class="myselect form-control state_get" >
<option value=''>Select state</option>
</select>
<!--country name 2-->
<select name="country_data2" class="myselect form-control country_data">
<option value="" disabled selected>Select your country</option>
<?php echo $options ?>
</select>
<!--state name 2-->
<select name="state2" class="myselect form-control state_get" >
<option value=''>Select state</option>
</select>
然后在您想使用的任何地方使用foreach循环
foreach($data as $row){
}
然后试试看
foreach($data as $row){
}
然后试试看
foreach($data as $row){
}
由于两种情况下的输出是相同的,因此只循环一次数据要高效得多。下面的代码只使用一个循环来创建html选项。它将其存储在一个变量中。然后,只要回显变量,就可以在这两个地方使用它
$data = $stmt->fetch();
<?php
$options = "";
while ($stmt->fetch()){
$options .= "<option value='$id'>$country_name</option>\n";
}
?>
<!--country name 1-->
<select name="country_data1" class="myselect form-control country_data">
<option value="" disabled selected>Select your country</option>
<?php echo $options ?>
</select>
<!--state name 1-->
<select name="state1" class="myselect form-control state_get" >
<option value=''>Select state</option>
</select>
<!--country name 2-->
<select name="country_data2" class="myselect form-control country_data">
<option value="" disabled selected>Select your country</option>
<?php echo $options ?>
</select>
<!--state name 2-->
<select name="state2" class="myselect form-control state_get" >
<option value=''>Select state</option>
</select>
由于两种情况下的输出是相同的,因此只循环一次数据要高效得多。下面的代码只使用一个循环来创建html选项。它将其存储在一个变量中。然后,只要回显变量,就可以在这两个地方使用它
$data = $stmt->fetch();
<?php
$options = "";
while ($stmt->fetch()){
$options .= "<option value='$id'>$country_name</option>\n";
}
?>
<!--country name 1-->
<select name="country_data1" class="myselect form-control country_data">
<option value="" disabled selected>Select your country</option>
<?php echo $options ?>
</select>
<!--state name 1-->
<select name="state1" class="myselect form-control state_get" >
<option value=''>Select state</option>
</select>
<!--country name 2-->
<select name="country_data2" class="myselect form-control country_data">
<option value="" disabled selected>Select your country</option>
<?php echo $options ?>
</select>
<!--state name 2-->
<select name="state2" class="myselect form-control state_get" >
<option value=''>Select state</option>
</select>
谢谢你的回复,我试过了。你能在$data数组中获取数据吗?post print_r$数据结果。否,我收到一个错误,为foreach$data=$stmt->fetch提供的参数无效;打印r$数据;你得到了什么?你应该得到数组。不,我没有得到任何数组值。我得到了一个错误。为ForEach提供的参数无效谢谢你的回复,我试过了。你得到$data数组中的数据了吗?post print_r$数据结果。否,我收到一个错误,为foreach$data=$stmt->fetch提供的参数无效;打印r$数据;你得到了什么?你应该得到数组。不,我没有得到任何数组值。我得到了一个错误。为foreach提供的参数无效。我如何在foreach中显示该值?$id和$country_name在你的评论中应该是$row['id']和$row['country_name']我相信如何在foreach中显示值?$id和$country\u name在您的评论中应该是$row['id']和$row['country\u name'],我相信