Php PDO,如何在下拉列表中显示数据?

Php PDO,如何在下拉列表中显示数据?,php,pdo,Php,Pdo,在我的编辑表单中,我想显示员工的姓名,我可以选择谁来执行用户的请求,但当我尝试显示时,它只显示了一个员工的姓名,我将while语句用于获取数据,它向我显示了两个具有不同下拉列表值的编辑表单(第一个编辑表单显示的是员工A,第二个表单显示的是员工B),如何在同一下拉列表中以相同的形式显示员工A和员工B的姓名?以下是我目前的代码: <?php $page_number = $_GET['page']; $dbdit = new PDO('mysql:host=

在我的编辑表单中,我想显示员工的姓名,我可以选择谁来执行用户的请求,但当我尝试显示时,它只显示了一个员工的姓名,我将while语句用于获取数据,它向我显示了两个具有不同下拉列表值的编辑表单(第一个编辑表单显示的是员工A,第二个表单显示的是员工B),如何在同一下拉列表中以相同的形式显示员工A和员工B的姓名?以下是我目前的代码:

      <?php
      $page_number = $_GET['page'];
      $dbdit = new PDO('mysql:host=localhost;dbname=laundry','root','');
      $results = $dbdit->prepare("SELECT COUNT(*) FROM konsumen");
      $results->execute();
      $get_total_rows = $results->fetch();
      $results = $dbdit->prepare("SELECT * FROM konsumen ORDER BY kode_pemesanan ASC LIMIT $page_number");
      $resultkaryawan = $dbdit->prepare("SELECT * FROM karyawan");
      $results->execute();
      $resultkaryawan->execute();
      $row = $results->fetch();
      while($data = $resultkaryawan->fetch()){


      print_r("<table align='center' >
            <form method='POST' action='save.php' align='center'>
            <tr>
            <td>Kode Pemesanan</td>
            <td>:</td>
            <td><input type='text' name='kode_pemesanan' value='".$row['kode_pemesanan']."'  class='inputnomor' disabled></td>
            <tr>
            <td>Atas Nama</td>
            <td>:</td>
            <td><input type='text' name='atas_nama' value='".$row['atas_nama']."'  class='inputnomor' disabled></td>
            <tr>
            <td>Jumlah Baju</td>
            <td>:</td>
            <td><input name='jumlahBaju' type='number' class='inputpemesanan' id='jumlahbaju' value='".$row['jmlhbaju']."' min='0' onChange='calcBaju()'> Rp.3500,00-/pcs <input name='totalBaju' type='number' class ='total' id='totalbaju' value='".$row['jmlhbaju'] * 3500 . "' min='0' disabled onChange='calcBaju()'></td>
            <tr>
            <td>Jumlah Celana</td>
            <td>:</td>
            <td><input name='jumlahCelana' type='number' class='inputpemesanan' id='jumlahCelana' value='".$row['jmlhcelana']."' min='0' onChange='calcCelana()'> Rp.2500,00-/pcs <input name='totalCelana' type='number' class ='total' id='totalcelana' value='".$row['jmlhcelana'] * 2500 . "' min='0' disabled onChange='calcCelana()'></td>

            <tr>
            <td>Jumlah Jaket</td>
            <td>:</td>
            <td><input name='jumlahJaket' type='number' class='inputpemesanan' id='jumlahjaket' value='".$row['jmlhjaket']."' min='0' onChange='calcJaket()'> Rp.6500,00-/pcs <input name='totalJaket' type='number' class ='total' id='totaljaket' value='".$row['jmlhjaket'] * 6500 . "' min='0' disabled onChange='calcJaket()'></td>

            <tr>
            <td>Jumlah Jas</td>
            <td>:</td>
            <td><input name='jumlahJas' type='number' class='inputpemesanan' id='jumlahjas' value='".$row['jmlhjas']."' min='0' onChange='calcJas()'> Rp.8500,00-/pcs <input name='totalJas' type='number' class ='total' id='totaljas' value='".$row['jmlhjas'] * 8500 . "' min='0' disabled onChange='calcJas()'></td>
            <tr>
            <td>Jumlah Dress</td>
            <td>:</td>
            <td><input name='jumlahDress' type='number' class='inputpemesanan' id='jumlahdress' value='".$row['jmlhdress']."' min='0' onChange='calcDress()'> Rp.7500,00-/pcs <input name='totalDress' type='number' class ='total' id='totaldress' value='".$row['jmlhdress'] * 7500 . "' min='0' disabled onChange='calcDress()'></td>
            <tr>
            <td>Status Pesanan</td>
            <td>:</td>
            <td><input type='radio' name='status_pesanan' value='sedangproses'>Sedang di Proses<input type='radio' name='status_pesanan' value='sudahselesai'>Sudah Selesai
            </td>
            <tr>
            <td>Pengurus Pesanan</td>
            <td>:</td>
            <td><select>
                <option value=''>>-----SELECT-----<</option>
                <option value=''>". $data['nm_karyawan'] ."</option>


                </select>
            </td>

             </form>
             </table>
             ");    
      }
      ?>

您只获取结果的第一个数据集。请使用fetchAll()

您的循环位于错误的位置。我认为您只想迭代$data来填充您的循环。因此,您应该这样做:

<select>
   <option value=''>>-----SELECT-----<</option>
<?php while($data = $resultkaryawan->fetchAll()){ ?>
   <option value=''><?= $data['nm_karyawan'] ?></option>
<?php } ?>
</select>
  $page_number = $_GET['page'];
  $dbdit = new PDO('mysql:host=localhost;dbname=laundry','root','');
  $results = $dbdit->prepare("SELECT COUNT(*) FROM konsumen");
  $results->execute();
  $get_total_rows = $results->fetch();
  $results = $dbdit->prepare("SELECT * FROM konsumen ORDER BY kode_pemesanan ASC LIMIT $page_number");
  $resultkaryawan = $dbdit->prepare("SELECT * FROM karyawan");
  $results->execute();
  $resultkaryawan->execute();
  $row = $results->fetch();
?>
      <table align='center' >
        <form method='POST' action='save.php' align='center'>
        <tr>
        <td>Kode Pemesanan</td>
        <td>:</td>
        <td><input type='text' name='kode_pemesanan' value='<?= $row['kode_pemesanan'] ?>'  class='inputnomor' disabled></td>
        <tr>
        <td>Atas Nama</td>
        <td>:</td>
        <td><input type='text' name='atas_nama' value='<?= $row['atas_nama'] ?>'  class='inputnomor' disabled></td>
        <tr>
        <td>Jumlah Baju</td>
        <td>:</td>
        <td><input name='jumlahBaju' type='number' class='inputpemesanan' id='jumlahbaju' value='<?= $row['jmlhbaju'] ?>' min='0' onChange='calcBaju()'> Rp.3500,00-/pcs <input name='totalBaju' type='number' class ='total' id='totalbaju' value='".$row['jmlhbaju'] * 3500 . "' min='0' disabled onChange='calcBaju()'></td>
        <tr>
        <td>Jumlah Celana</td>
        <td>:</td>
        <td><input name='jumlahCelana' type='number' class='inputpemesanan' id='jumlahCelana' value='".$row['jmlhcelana']."' min='0' onChange='calcCelana()'> Rp.2500,00-/pcs <input name='totalCelana' type='number' class ='total' id='totalcelana' value='".$row['jmlhcelana'] * 2500 . "' min='0' disabled onChange='calcCelana()'></td>

        <tr>
        <td>Jumlah Jaket</td>
        <td>:</td>
        <td><input name='jumlahJaket' type='number' class='inputpemesanan' id='jumlahjaket' value='".$row['jmlhjaket']."' min='0' onChange='calcJaket()'> Rp.6500,00-/pcs <input name='totalJaket' type='number' class ='total' id='totaljaket' value='".$row['jmlhjaket'] * 6500 . "' min='0' disabled onChange='calcJaket()'></td>

        <tr>
        <td>Jumlah Jas</td>
        <td>:</td>
        <td><input name='jumlahJas' type='number' class='inputpemesanan' id='jumlahjas' value='".$row['jmlhjas']."' min='0' onChange='calcJas()'> Rp.8500,00-/pcs <input name='totalJas' type='number' class ='total' id='totaljas' value='".$row['jmlhjas'] * 8500 . "' min='0' disabled onChange='calcJas()'></td>
        <tr>
        <td>Jumlah Dress</td>
        <td>:</td>
        <td><input name='jumlahDress' type='number' class='inputpemesanan' id='jumlahdress' value='".$row['jmlhdress']."' min='0' onChange='calcDress()'> Rp.7500,00-/pcs <input name='totalDress' type='number' class ='total' id='totaldress' value='".$row['jmlhdress'] * 7500 . "' min='0' disabled onChange='calcDress()'></td>
        <tr>
        <td>Status Pesanan</td>
        <td>:</td>
        <td><input type='radio' name='status_pesanan' value='sedangproses'>Sedang di Proses<input type='radio' name='status_pesanan' value='sudahselesai'>Sudah Selesai
        </td>
        <tr>
        <td>Pengurus Pesanan</td>
        <td>:</td>
        <td>
            <select>
               <option value=''>>-----SELECT-----<</option>
            <?php while($data = $resultkaryawan->fetchAll()){ ?>
               <option value=''><?= $data['nm_karyawan'] ?></option>
            <?php } ?>
            </select>
        </td>

         </form>
         </table>


试试这个

  while($row = $results->fetch()) {
    print_r($row);
  }

我还尝试将while语句放在“.之后,$data['nm_karyawan']之前但是它显示了我的编辑器软件中的错误谢谢它解决了我的多个表单出来了,但它仍然只显示了我的一个员工姓名,无法获得另一个员工姓名是的,我编辑了。你的循环位于错误的位置,所以你每次迭代都会生成一个新表单。是的,我以前尝试过,但在我将php代码放在标记,因为您在print_r();中。最简单的方法是直接输出它,只需离开php作用域并在启动循环时再次打开它。Gonny edit my post所以我们不能将php代码放入print_r();?
".$row['jmlhcelana']."
<?= $row['jmlhcelana'] ?>
  while($row = $results->fetch()) {
    print_r($row);
  }