在动态 html+php table 中显示 select 选项列表(下拉列表)

Showing select option list (Dropdown) in dynamic html+php table

正如您在这张图片中看到的,我扫描产品的条形码,插入 mysql table 并通过自动刷新将 mysql table 检索到此页面.每次我扫描不同的产品时,都会根据 mysql table 添加新行。

使用这些代码,我检索 mysql table 并在 html 中回显 table:

<table id="dataTable" class="table table-condensed table-bordered" style="margin-top:0px">
    <tbody>
    <?php
    $sat_fatura_no = $_GET['sat_fatura_no'];
    $liste_cek = @mysql_query("SELECT * FROM alisfat_listesi WHERE fatura_no = '".$sat_fatura_no."'");
    while ($a= mysql_fetch_array($liste_cek)){
        $stok_kodu2 = $a['stok_kodu'];

        $isim_cek = mysql_query("SELECT * FROM stoklar WHERE sto_RECno = '".$stok_kodu2."'");
        while ($isim_al=mysql_fetch_array($isim_cek)){
            $urun_isim = $isim_al['sto_isim'];
        }
        $kdv    = $a['kdv'];

        $kdv_cek = mysql_query("SELECT * FROM kdvler WHERE kdv_id = '".$kdv."'");
        while ($kdv_al = mysql_fetch_array($kdv_cek)){
            $kdv_isim = $kdv_al['kdv_isim'];    
        }

        $kdv_cek1 = mysql_query("SELECT * FROM kdvler");
        while ($kdv_al1 = mysql_fetch_array($kdv_cek1)){
            $kdv_id1    = $kdv_al1['kdv_id'];
            $kdv_isim1  = $kdv_al1['kdv_isim'];
        }

        echo '<tr>
            <td width="5%"><a href="satir_sil.php?stok_kodu='.$stok_kodu2.'&sat_fatura_no='.$sat_fatura_no.'"><button class="btn btn-mini btn-danger  input1">Sil</button></a></td>

            <td width="25%"><input class="input1" type="hidden" name="sth_stok_kod[]" value="'.$stok_kodu2.'" readonly>'.$urun_isim.'</td>

            <td width="10%"><input style="text-align:center" class="input1" type="text" name="sth_adet[]" value="" required></td>

            <td width="10%">
                <select style="margin: 0 !important; padding: 0 !important; width:100%" name="sth_birim[]" required>
                    <option value="" selected>Seçiniz</option>
                    <?php $brim2_bul = mysql_query("SELECT * FROM birimler");
                    while($brim2_cek = mysql_fetch_array($brim2_bul)){
                        echo "<option ";
                        echo "value="".$brim2_cek["birim_id"]."">". $brim2_cek["birim_isim"]."</option>";
                    } ?>
                 </select>
            </td>

            <td width="10%"><input class="input1" type="text" id="sth_birim_fiyat" name="sth_birim_fiyat[]" required></td>

            <td width="10%">
                <select style="margin: 0 !important; padding: 0 !important; width:100%" name="sth_kdv" required>
                    <option value="<?php echo $stok_vergisi; ?>" selected><?php echo $stok_vergisi; ?></option>
                    <?php $kdv2_bul = mysql_query("SELECT * FROM kdvler");
                    while($kdv2_cek = mysql_fetch_array($kdv2_bul)){
                        echo '<option ';
                        echo 'value="'.$kdv2_cek['kdv_isim'].'">' .$kdv2_cek['kdv_isim'].'</option>';
                    } ?>
                 </select>
            </td>

            <td width="10%"><input class="input1" type="text" id="sth_iskonto1" name="sth_iskonto1[]" required></td>

            <td width="10%"><input class="input1" type="text" id="sth_iskonto2" name="sth_iskonto2[]" required></td>    

            <td width="10%"><input class="input1" type="text" id="sth_tutar" name="sth_tutar[]" required></td>
        </tr>';
    } ?>
    </tbody>
</table>

我唯一无法修复的部分是 SELECT OPTION 部分。通常我可以使用这些 select 选项 php 代码检索 mysql table 的每一行,但是当我将它们放入 php echo 时,通常我不能从数据库中检索任何值。

所以有人知道我如何让这些 select 下拉菜单在 php echo 中保持活跃吗?

您不应在 echo 字符串中使用 PHP 标签。将它们分开。先结束echo字符串语句,再使用PHP逻辑语句。我已经更新了您的代码:

<table id="dataTable" class="table table-condensed table-bordered" style="margin-top:0px">
    <tbody>
    <?php
    $sat_fatura_no = $_GET['sat_fatura_no'];
    $liste_cek = @mysql_query("SELECT * FROM alisfat_listesi WHERE fatura_no = '".$sat_fatura_no."'");
    while ($a= mysql_fetch_array($liste_cek)){
        $stok_kodu2 = $a['stok_kodu'];

        $isim_cek = mysql_query("SELECT * FROM stoklar WHERE sto_RECno = '".$stok_kodu2."'");
        while ($isim_al=mysql_fetch_array($isim_cek)){
            $urun_isim = $isim_al['sto_isim'];
        }
        $kdv    = $a['kdv'];

        $kdv_cek = mysql_query("SELECT * FROM kdvler WHERE kdv_id = '".$kdv."'");
        while ($kdv_al = mysql_fetch_array($kdv_cek)){
            $kdv_isim = $kdv_al['kdv_isim'];    
        }

        $kdv_cek1 = mysql_query("SELECT * FROM kdvler");
        while ($kdv_al1 = mysql_fetch_array($kdv_cek1)){
            $kdv_id1    = $kdv_al1['kdv_id'];
            $kdv_isim1  = $kdv_al1['kdv_isim'];
        }

        echo '<tr>
            <td width="5%">
                <a href="satir_sil.php?stok_kodu='.$stok_kodu2.'&sat_fatura_no='.$sat_fatura_no.'">
                    <button class="btn btn-mini btn-danger  input1">Sil</button>
                </a>
            </td>

            <td width="25%">
                <input class="input1" type="hidden" name="sth_stok_kod[]" value="'.$stok_kodu2.'" readonly>'.$urun_isim.'
            </td>

            <td width="10%">
                <input style="text-align:center" class="input1" type="text" name="sth_adet[]" value="" required>
            </td>

            <td width="10%">
                <select style="margin: 0 !important; padding: 0 !important; width:100%" name="sth_birim[]" required>
                    <option value="" selected>Seçiniz</option>';

                    $brim2_bul = mysql_query("SELECT * FROM birimler");
                    while($brim2_cek = mysql_fetch_array($brim2_bul)){
                        echo '<option value="'.$brim2_cek["birim_id"].'">'. $brim2_cek["birim_isim"].'</option>';
                    }

                 echo '</select>
            </td>

            <td width="10%">
                <input class="input1" type="text" id="sth_birim_fiyat" name="sth_birim_fiyat[]" required>
            </td>

            <td width="10%">
                <select style="margin: 0 !important; padding: 0 !important; width:100%" name="sth_kdv" required>
                    <option value="'.$stok_vergisi.'" selected>'.$stok_vergisi.'</option>';

                    $kdv2_bul = mysql_query("SELECT * FROM kdvler");
                    while($kdv2_cek = mysql_fetch_array($kdv2_bul)){
                        echo '<option value="'.$kdv2_cek['kdv_isim'].'">' .$kdv2_cek['kdv_isim'].'</option>';
                    }

                echo '</select>
            </td>

            <td width="10%">
                <input class="input1" type="text" id="sth_iskonto1" name="sth_iskonto1[]" required>
            </td>

            <td width="10%">
                <input class="input1" type="text" id="sth_iskonto2" name="sth_iskonto2[]" required>
            </td>    

            <td width="10%">
                <input class="input1" type="text" id="sth_tutar" name="sth_tutar[]" required>
            </td>
        </tr>';
    } ?>
    </tbody>
</table>

试试这个,希望它能解决您的问题。

**重新安排如下代码**

<table id="dataTable" class="table table-condensed table-bordered" style="margin-top:0px">
<tbody>

 <?php
 $sat_fatura_no = $_GET['sat_fatura_no'];
 $liste_cek = @mysql_query("SELECT * FROM alisfat_listesi WHERE fatura_no = '".$sat_fatura_no."'");
           while ($a= mysql_fetch_array($liste_cek)){
                $stok_kodu2 = $a['stok_kodu'];

                $isim_cek = mysql_query("SELECT * FROM stoklar WHERE sto_RECno = '".$stok_kodu2."'");
                            while ($isim_al=mysql_fetch_array($isim_cek)){
                            $urun_isim = $isim_al['sto_isim'];
                            }
                $kdv    = $a['kdv'];

                $kdv_cek = mysql_query("SELECT * FROM kdvler WHERE kdv_id = '".$kdv."'");
                            while ($kdv_al = mysql_fetch_array($kdv_cek)){
                            $kdv_isim = $kdv_al['kdv_isim'];    
                            }
                $kdv_cek1 = mysql_query("SELECT * FROM kdvler");
                            while ($kdv_al1 = mysql_fetch_array($kdv_cek1)){
                            $kdv_id1    = $kdv_al1['kdv_id'];
                            $kdv_isim1  = $kdv_al1['kdv_isim']; }

                ?>
                <tr>

 <td width="5%"><a href="satir_sil.php?stok_kodu=<?php echo $stok_kodu2;?>&sat_fatura_no=<?php echo $sat_fatura_no;?>">
 <button class="btn btn-mini btn-danger  input1">Sil</button></a></td>

<td width="25%"><input class="input1" type="hidden" name="sth_stok_kod[]" value="<?php echo $stok_kodu2;?>" readonly><?php echo $urun_isim;?></td>

<td width="10%"><input style="text-align:center" class="input1" type="text" name="sth_adet[]" value="" required></td>

<td width="10%"><select style="margin: 0 !important; padding: 0 !important; width:100%" name="sth_birim[]" required>
<option value="" selected>Seçiniz</option>
<?php $brim2_bul = mysql_query("SELECT * FROM birimler");
while($brim2_cek = mysql_fetch_array($brim2_bul)){ ?>
<option value="<?php echo $brim2_cek["birim_id"];?>"><?php echo $brim2_cek["birim_isim"];?></option>
<?php } ?>
 </select></td>

<td width="10%">
<input class="input1" type="text" id="sth_birim_fiyat" name="sth_birim_fiyat[]" required>
</td>

<td width="10%">
<select style="margin: 0 !important; padding: 0 !important; width:100%" name="sth_kdv" required>
<option value="<?php echo $stok_vergisi; ?>" selected><?php echo $stok_vergisi; ?></option>
<?php $kdv2_bul = mysql_query("SELECT * FROM kdvler");
while($kdv2_cek = mysql_fetch_array($kdv2_bul)){ ?>
<option value="<?php echo $kdv2_cek['kdv_isim'];?>"><?php echo $kdv2_cek['kdv_isim'];?></option>
<?php } ?>
 </select>
</td>

<td width="10%">
<input class="input1" type="text" id="sth_iskonto1" name="sth_iskonto1[]" required>
</td>

<td width="10%">
<input class="input1" type="text" id="sth_iskonto2" name="sth_iskonto2[]" required>
</td>   

<td width="10%">
<input class="input1" type="text" id="sth_tutar" name="sth_tutar[]" required>
</td>
</tr>
<?php } ?>
</tbody>
</table>