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

5k views Asked by At

enter image description here

As you can see in this image, i scan barcodes of products, insert into mysql table and retrieve that mysql table into this page by refreshing automatically. Everytime i scan a different product that list add new rows accoridng to the mysql table.

With these codes i retrieve mysql table and echo in 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>

The only part that i couldn't fix is those SELECT OPTION parts. Normally i can retrieve every row of mysql table with these select option php codes BUT when i put them inside php echo, as a normal i can not retrieve any values from database.

So anybody has any idea how i can make these select dropdown alive inside php echo?

2

There are 2 answers

0
Karthikeyan Vivekanandhan On BEST ANSWER

**Re arrange the code like below **

<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>
1
d.coder On

You should not use PHP tags inside echo string. Keep them separate. End the echo string statement first and then use PHP logical statements. I have updated your code:

<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>

Try this, hope it will resolve your issue.