PHP PDO sütundaki veriye ait tüm bilgileri çekme

shiftgo

Centipat
Katılım
5 Ocak 2022
Mesajlar
28
Daha fazla  
Cinsiyet
Erkek
Veritabanımda "siparisler" adında bir tablom var. Ben bu tablodaki verileri while ile çekiyorum. Bu tablo içerisinde "masa_secimi" adında bir sütun var. Bu sütun içerisinde ise sırası ile 1, 2, 3, 3, 4 verileri olduğunu düşünelim. Ben aynı olan verileri çekerken yalnızca bir kez görünsün istiyorum. Bunun için "select * from siparisler group by masa_secimi" şeklinde artık yapı mı denir bilmiyorum kod yapısı kullanıyorum.

Takıldığım asıl nokta ise sipariş hakkındaki diğer detayları çekerken sadece bir kez veri çekebiliyorum. Ben istiyorum ki masa_secimi = X olsun. X olan tüm verileri bana getirsin. Kısaca masa_secimi sütununda 3 yazan tüm verileri çekmek istiyorum. (anlatırken türkçenin içinden geçtiysem özür dilerim)

PHP:
<center>
<?php
$masagetir = $db->prepare("select * from siparisler group by Masa_Secimi");                                  
$masagetir->execute();
while ($masalistesi = $masagetir->fetch(PDO::FETCH_ASSOC)) { ?>
    <!--=========================================================-->
    <li><a data-toggle="modal" data-target="#masa<?php echo $masalistesi["Masa_Secimi"] ?>" href="#masa<?php echo $masalistesi["Masa_Secimi"] ?>"><i class="fa-solid fa-box"></i> Masa <?php echo $masalistesi["Masa_Secimi"] ?></a></li>
    <!--=========================================================-->
    <!--=========================================================-->
    <!--=========================================================-->
    <!--=========================================================-->
    <div id="masa<?php echo $masalistesi["Masa_Secimi"] ?>" class="modal fade" style="display: none;" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 id="exampleModalLabel" class="modal-title">
                        <?php echo $masalistesi["Masa_Secimi"] ?> Nolu Masanın Bilgileri
                    </h5>
                    <button class="close" type="button" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                        <br><br>
                        <div class="info yemek">
                          <?php echo $olistesi["Yemek_Secimi"]; ?> //mesela[B] Masa_Secimi[/B] sütününda aynı değerde iki veya daha fazla veri varsa bu iki veriyi de çekmek istiyorum
                        </div>
                        <div class="info tatli">
                          <?php echo $olistesi["Tatli_Secimi"]; ?>
                        </div>
                        <div class="info icecek">
                          <?php echo $olistesi["Icecek_Secimi"]; ?>
                        </div>
                        <br><br>
                </div>
                <div class="modal-footer">
                    <button class="btn btn-primary" type="button" data-dismiss="modal">Kapat</button>
                </div>
            </div>
        </div>
    </div>
    <!--=========================================================-->
    <!--=========================================================-->
    <!--=========================================================-->
<?php }?>
</center>


@dgknbzglu hocam musait olduğunuzda bilgi verebilme şansınız var mı?
 
Eğer ki sadece değeri X olan verileri getirmek istiyorsan direkt olarak where ile çekebilirsin veriyi. Ayrıca while yerine foreach kullanmayı denedin mi? Denemediysen aşağıdaki kod ile dener misin?.

Kod:
<?php
$masagetir = "select * from siparisler group_by Masa_Secimi";
$masagetir = $db->query($masagetir);
foreach (masagetir as $row):
?>
...
<?php endforeach; ?>
 
Veritabanımda "siparisler" adında bir tablom var. Ben bu tablodaki verileri while ile çekiyorum. Bu tablo içerisinde "masa_secimi" adında bir sütun var. Bu sütun içerisinde ise sırası ile 1, 2, 3, 3, 4 verileri olduğunu düşünelim. Ben aynı olan verileri çekerken yalnızca bir kez görünsün istiyorum. Bunun için "select * from siparisler group by masa_secimi" şeklinde artık yapı mı denir bilmiyorum kod yapısı kullanıyorum.

Takıldığım asıl nokta ise sipariş hakkındaki diğer detayları çekerken sadece bir kez veri çekebiliyorum. Ben istiyorum ki masa_secimi = X olsun. X olan tüm verileri bana getirsin. Kısaca masa_secimi sütununda 3 yazan tüm verileri çekmek istiyorum. (anlatırken türkçenin içinden geçtiysem özür dilerim)

PHP:
<center>
<?php
$masagetir = $db->prepare("select * from siparisler group by Masa_Secimi");                                 
$masagetir->execute();
while ($masalistesi = $masagetir->fetch(PDO::FETCH_ASSOC)) { ?>
    <!--=========================================================-->
    <li><a data-toggle="modal" data-target="#masa<?php echo $masalistesi["Masa_Secimi"] ?>" href="#masa<?php echo $masalistesi["Masa_Secimi"] ?>"><i class="fa-solid fa-box"></i> Masa <?php echo $masalistesi["Masa_Secimi"] ?></a></li>
    <!--=========================================================-->
    <!--=========================================================-->
    <!--=========================================================-->
    <!--=========================================================-->
    <div id="masa<?php echo $masalistesi["Masa_Secimi"] ?>" class="modal fade" style="display: none;" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 id="exampleModalLabel" class="modal-title">
                        <?php echo $masalistesi["Masa_Secimi"] ?> Nolu Masanın Bilgileri
                    </h5>
                    <button class="close" type="button" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                        <br><br>
                        <div class="info yemek">
                          <?php echo $olistesi["Yemek_Secimi"]; ?> //mesela[B] Masa_Secimi[/B] sütününda aynı değerde iki veya daha fazla veri varsa bu iki veriyi de çekmek istiyorum
                        </div>
                        <div class="info tatli">
                          <?php echo $olistesi["Tatli_Secimi"]; ?>
                        </div>
                        <div class="info icecek">
                          <?php echo $olistesi["Icecek_Secimi"]; ?>
                        </div>
                        <br><br>
                </div>
                <div class="modal-footer">
                    <button class="btn btn-primary" type="button" data-dismiss="modal">Kapat</button>
                </div>
            </div>
        </div>
    </div>
    <!--=========================================================-->
    <!--=========================================================-->
    <!--=========================================================-->
<?php }?>
</center>


@dgknbzglu hocam musait olduğunuzda bilgi verebilme şansınız var mı?
"select * from siparisler where masa_secimi=3" gibimi istiyorsun tam olarak anlaşılmadı istediğin olay.

Önce tüm masaları çekmek istiyorsun sonra her bir masanın detayına tıklayınca tıkladığın masanın tüm kayıtlarınımı görmek istiyorsun?
 
"select * from siparisler where masa_secimi = 3" gibi mi istiyorsun tam olarak anlaşılmadı istediğin olay.

Önce tüm masaları çekmek istiyorsun sonra her bir masanın detayına tıklayınca tıkladığın masanın tüm kayıtlarınımı görmek istiyorsun?

İstediğim şu. Dediğiniz gibi önce tüm masaları çekmek istiyorum. Ardından masa numarası aynı olan kaç tane sütun varsa onların detayını görmek istiyorum.

Örneğin resimde masa numarası 3 olan 2 tane sipariş var. Bu iki siparişi göstermek istiyorum.

 
İstediğim şu. Dediğiniz gibi önce tüm masaları çekmek istiyorum. Ardından masa numarası aynı olan kaç tane sütun varsa onların detayını görmek istiyorum.

Örneğin resimde masa numarası 3 olan 2 tane sipariş var. Bu iki siparişi göstermek istiyorum.

Tüm masa çekimleri için bu sql sorgusu doğru : "select * from siparisler group by masa_secimi"

Listelenen masalardan herhangi birinin detayına tıklayınca açılacak sayfadaki sql sorgusuda bu şekilde olacak: "select * from siparisler where masa_secimi='Seçilen Masa'"
 
Tüm masa çekimleri için bu SQL sorgusu doğru: "select * from siparisler group by masa_secimi"

Listelenen masalardan herhangi birinin detayına tıklayınca açılacak sayfadaki SQL sorgusuda bu şekilde olacak: "select * from siparisler where masa_secimi='seçilen masa'"

Başta belirtmemişim. PHP öğrenmeye yeni başladım. Verdiğiniz cevap tam olarak istediğim şekilde çalıştı fakat;
Kod:
"select * from siparisler where masa_secimi='Seçilen Masa'"
kısmını
Kod:
'select * from siparisler where masa_secimi='.$masalistesi['Masa_Secimi'].''
şeklinde değiştirince calıştı. İkisi arasında bir fark var mı yoksa yanlışlık mı yaptınız. Öğrenirken doğrusu şekliyle öğrenmek isterim.
 
"select * from siparisler where masa_secimi='Seçilen Masa'" örnek olarak yazmıştım. 'Seçilen Masa' yazısını yazdığınız gibi yapmanız gerekiyordu zaten.
 

Technopat Haberler

Geri
Yukarı