Php 如何在一页中显示两次数据获取记录?

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_1、state_1、country_2、state_2

在国家中,用户选择国家名称,并根据国家名称显示国家名称。 如果我只使用country_1、state_1,那么我可以显示它,但我需要在同一页面上同时显示这两个国家

我尝试了$stmt->data\u seek$stmt,0$stmt->data\u seek0;但仍然无法显示它

我只是想知道我应该在哪里使用这些数据

<!--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'],我相信