• 24-05-2022, 00:41:29
    #1
    Merhabalar, urunler tablosundaki urun_ozellikleri sütununda bulunan 2,3 şeklinde bulunan veriyi çekmek istiyorum. Çektiğim bu veriyi ozellikler tablosundaki o_id ile eşleştirmek istiyorum ve başlığını yazdırmak istiyorum. Printr yaptığımda parçalayıp 2 ve 3 çekiyorum ama ben başlıklarını çekmek istiyorum. Deneme1 ve Deneme2 yazmasını istiyorum. Yardımcı olur musunuz

    SQL

    CREATE TABLE `urunler` (
    `urun_id` int(11) NOT NULL,
      `urun_ozellikler` varchar(110) COLLATE utf8_turkish_ci DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;
    
    INSERT INTO `urunler` (`urun_id`,`urun_ozellikler`) VALUES
    ( 65,'2,3');
    
    CREATE TABLE `ozellikler` (
      `o_id` int(11) NOT NULL,
      `o_baslik` varchar(455) COLLATE utf8_turkish_ci NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;
    
    
    INSERT INTO `ozellikler` (`o_id`,  `o_baslik`) VALUES
    (2, 'Deneme1'),
    (3, 'Deneme2');
    $urunsor=$db->prepare("SELECT * from urunler where urun_id=:UrunId");
    $urunsor->execute(array('UrunId' => $_GET['oda_id']));
    $uruncek=$urunsor->fetch(PDO::FETCH_ASSOC);
    
    $ozellikAsk=$db->prepare("SELECT * from ozellikler where o_id=:o_id");
    
                      <ul class="list-unstyled page-list mb-30">
                            <?php
                                            $ozellikAsk->execute(array(
                                                'o_id' => $uruncek['urun_ozellikler']
    
                                            ));
                                            
                                            while ($ozellikCheck=$ozellikAsk->fetch(PDO::FETCH_ASSOC)){
                                                $tags = explode(",",$uruncek['urun_ozellikler']);
                                        ?>
                            <li>
                                <div class="page-list-icon"> <span class="flaticon-group"></span> </div>
                                <div class="page-list-text">
                                    <p><?php echo '<pre>'; print_r ($tags); echo '</pre>'; ?> </p>
                                </div>
                            </li>
    
                            <?php }?>
                        </ul>
  • 25-05-2022, 00:59:56
    #2
    cagatayturkmen adlı üyeden alıntı: mesajı görüntüle
    Merhabalar, urunler tablosundaki urun_ozellikleri sütununda bulunan 2,3 şeklinde bulunan veriyi çekmek istiyorum. Çektiğim bu veriyi ozellikler tablosundaki o_id ile eşleştirmek istiyorum ve başlığını yazdırmak istiyorum. Printr yaptığımda parçalayıp 2 ve 3 çekiyorum ama ben başlıklarını çekmek istiyorum. Deneme1 ve Deneme2 yazmasını istiyorum. Yardımcı olur musunuz

    SQL

    CREATE TABLE `urunler` (
    `urun_id` int(11) NOT NULL,
      `urun_ozellikler` varchar(110) COLLATE utf8_turkish_ci DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;
    
    INSERT INTO `urunler` (`urun_id`,`urun_ozellikler`) VALUES
    ( 65,'2,3');
    
    CREATE TABLE `ozellikler` (
      `o_id` int(11) NOT NULL,
      `o_baslik` varchar(455) COLLATE utf8_turkish_ci NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;
    
    
    INSERT INTO `ozellikler` (`o_id`,  `o_baslik`) VALUES
    (2, 'Deneme1'),
    (3, 'Deneme2');
    $urunsor=$db->prepare("SELECT * from urunler where urun_id=:UrunId");
    $urunsor->execute(array('UrunId' => $_GET['oda_id']));
    $uruncek=$urunsor->fetch(PDO::FETCH_ASSOC);
    
    $ozellikAsk=$db->prepare("SELECT * from ozellikler where o_id=:o_id");
    
                      <ul class="list-unstyled page-list mb-30">
                            <?php
                                            $ozellikAsk->execute(array(
                                                'o_id' => $uruncek['urun_ozellikler']
    
                                            ));
                                            
                                            while ($ozellikCheck=$ozellikAsk->fetch(PDO::FETCH_ASSOC)){
                                                $tags = explode(",",$uruncek['urun_ozellikler']);
                                        ?>
                            <li>
                                <div class="page-list-icon"> <span class="flaticon-group"></span> </div>
                                <div class="page-list-text">
                                    <p><?php echo '<pre>'; print_r ($tags); echo '</pre>'; ?> </p>
                                </div>
                            </li>
    
                            <?php }?>
                        </ul>

    Aşağıdaki kodu dener misin, olmaz ise inceleyrek nasıl yapacağın konusunda fikir edinebilirsin.
    Kolay Gelsin.

    <?php
    $urunsor=$db->prepare("SELECT * from urunler where urun_id=:UrunId");
    $urunsor->execute(array('UrunId' => $_GET['oda_id']));
    $uruncek=$urunsor->fetch(PDO::FETCH_ASSOC);
    $ozellikAsk=$db->prepare("SELECT * from ozellikler where o_id IN(:o_id)");
    ?>                  <ul class="list-unstyled page-list mb-30">
                            <?php
                                            $ozellikAsk->execute(array(
                                                'o_id' => $uruncek['urun_ozellikler']
                                                ));
                                            while ($ozellikCheck=$ozellikAsk->fetch(PDO::FETCH_ASSOC)){
                            ?>
    
                            <li>
                                <div class="page-list-icon"> <span class="flaticon-group"></span> </div>
                                <div class="page-list-text">
                                    <p><?php echo "<pre>".$ozellikCheck['o_baslik']."</pre>"; ?> </p>
                                </div>
                            </li>
                            <?php }?>
                        </ul>
  • 25-05-2022, 13:03:46
    #3
    CoLLeR adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki kodu dener misin, olmaz ise inceleyrek nasıl yapacağın konusunda fikir edinebilirsin.
    Kolay Gelsin.

    <?php
    $urunsor=$db->prepare("SELECT * from urunler where urun_id=:UrunId");
    $urunsor->execute(array('UrunId' => $_GET['oda_id']));
    $uruncek=$urunsor->fetch(PDO::FETCH_ASSOC);
    $ozellikAsk=$db->prepare("SELECT * from ozellikler where o_id IN(:o_id)");
    ?>                  <ul class="list-unstyled page-list mb-30">
                            <?php
                                            $ozellikAsk->execute(array(
                                                'o_id' => $uruncek['urun_ozellikler']
                                                ));
                                            while ($ozellikCheck=$ozellikAsk->fetch(PDO::FETCH_ASSOC)){
                            ?>
    
                            <li>
                                <div class="page-list-icon"> <span class="flaticon-group"></span> </div>
                                <div class="page-list-text">
                                    <p><?php echo "<pre>".$ozellikCheck['o_baslik']."</pre>"; ?> </p>
                                </div>
                            </li>
                            <?php }?>
                        </ul>
    Hocam ilgin için teşekkürler. Sadece bir tanesini çekiyor. Yani Veri tabanında 2,5 kayıtlı sadece 2 numaranın başlığını çekiyor. Ben eğer ikisi var ise ikisini de çekmek istiyorum
  • 25-05-2022, 23:01:13
    #4
    cagatayturkmen adlı üyeden alıntı: mesajı görüntüle
    Hocam ilgin için teşekkürler. Sadece bir tanesini çekiyor. Yani Veri tabanında 2,5 kayıtlı sadece 2 numaranın başlığını çekiyor. Ben eğer ikisi var ise ikisini de çekmek istiyorum
    Aşağıdaki şekilde dener misiniz.
    fetch dediğimiz için ilk sonuç dönüyor fetchAll kullanmamız gerekirdi.
    Kolay Gelsin.

    <?php
    $urunsor=$db->prepare("SELECT * from urunler where urun_id=:UrunId");
    $urunsor->execute(array('UrunId' => $_GET['oda_id']));
    $uruncek=$urunsor->fetch(PDO::FETCH_ASSOC);
    $ozellikAsk=$db->prepare("SELECT * from ozellikler where o_id IN(:o_id)");
    ?>                  <ul class="list-unstyled page-list mb-30">
                            <?php
                                            $ozellikAsk->execute(array(
                                                'o_id' => $uruncek['urun_ozellikler']
                                                ));
                                            while ($ozellikCheck=$ozellikAsk->fetchAll(PDO::FETCH_ASSOC)){
                            ?>
     
                            <li>
                                <div class="page-list-icon"> <span class="flaticon-group"></span> </div>
                                <div class="page-list-text">
                                    <p><?php echo "<pre>".$ozellikCheck['o_baslik']."</pre>"; ?> </p>
                                </div>
                            </li>
                            <?php }?>
                        </ul>
  • 26-05-2022, 01:09:44
    #5
    CoLLeR adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki şekilde dener misiniz.
    fetch dediğimiz için ilk sonuç dönüyor fetchAll kullanmamız gerekirdi.
    Kolay Gelsin.

    <?php
    $urunsor=$db->prepare("SELECT * from urunler where urun_id=:UrunId");
    $urunsor->execute(array('UrunId' => $_GET['oda_id']));
    $uruncek=$urunsor->fetch(PDO::FETCH_ASSOC);
    $ozellikAsk=$db->prepare("SELECT * from ozellikler where o_id IN(:o_id)");
    ?>                  <ul class="list-unstyled page-list mb-30">
                            <?php
                                            $ozellikAsk->execute(array(
                                                'o_id' => $uruncek['urun_ozellikler']
                                                ));
                                            while ($ozellikCheck=$ozellikAsk->fetchAll(PDO::FETCH_ASSOC)){
                            ?>
     
                            <li>
                                <div class="page-list-icon"> <span class="flaticon-group"></span> </div>
                                <div class="page-list-text">
                                    <p><?php echo "<pre>".$ozellikCheck['o_baslik']."</pre>"; ?> </p>
                                </div>
                            </li>
                            <?php }?>
                        </ul>
    Yok hocam bu sefer hiç bi yazı gelmedi. Sanki çekerken değil de yazdırırken bir sorun var.
  • 26-05-2022, 03:43:16
    #6
    cagatayturkmen adlı üyeden alıntı: mesajı görüntüle
    Merhabalar, urunler tablosundaki urun_ozellikleri sütununda bulunan 2,3 şeklinde bulunan veriyi çekmek istiyorum. Çektiğim bu veriyi ozellikler tablosundaki o_id ile eşleştirmek istiyorum ve başlığını yazdırmak istiyorum. Printr yaptığımda parçalayıp 2 ve 3 çekiyorum ama ben başlıklarını çekmek istiyorum. Deneme1 ve Deneme2 yazmasını istiyorum. Yardımcı olur musunuz

    SQL

    CREATE TABLE `urunler` (
    `urun_id` int(11) NOT NULL,
      `urun_ozellikler` varchar(110) COLLATE utf8_turkish_ci DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;
    
    INSERT INTO `urunler` (`urun_id`,`urun_ozellikler`) VALUES
    ( 65,'2,3');
    
    CREATE TABLE `ozellikler` (
      `o_id` int(11) NOT NULL,
      `o_baslik` varchar(455) COLLATE utf8_turkish_ci NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;
    
    
    INSERT INTO `ozellikler` (`o_id`,  `o_baslik`) VALUES
    (2, 'Deneme1'),
    (3, 'Deneme2');
    $urunsor=$db->prepare("SELECT * from urunler where urun_id=:UrunId");
    $urunsor->execute(array('UrunId' => $_GET['oda_id']));
    $uruncek=$urunsor->fetch(PDO::FETCH_ASSOC);
    
    $ozellikAsk=$db->prepare("SELECT * from ozellikler where o_id=:o_id");
    
                      <ul class="list-unstyled page-list mb-30">
                            <?php
                                            $ozellikAsk->execute(array(
                                                'o_id' => $uruncek['urun_ozellikler']
    
                                            ));
                                            
                                            while ($ozellikCheck=$ozellikAsk->fetch(PDO::FETCH_ASSOC)){
                                                $tags = explode(",",$uruncek['urun_ozellikler']);
                                        ?>
                            <li>
                                <div class="page-list-icon"> <span class="flaticon-group"></span> </div>
                                <div class="page-list-text">
                                    <p><?php echo '<pre>'; print_r ($tags); echo '</pre>'; ?> </p>
                                </div>
                            </li>
    
                            <?php }?>
                        </ul>
    Aşağıdaki şekilde deneyebilirsiniz.

    <?php
    $urunsor=$db->prepare("SELECT * from urunler where urun_id=:UrunId");
    $urunsor->execute(array('UrunId' => $_GET['oda_id']));
    $uruncek=$urunsor->fetch(PDO::FETCH_ASSOC);
     ?>
                      <ul class="list-unstyled page-list mb-30">
                            <?php
                                $urun_ozellik_dizi = explode(",",$uruncek['urun_ozellikler']);
                                foreach ($urun_ozellik_dizi, $urun_ozellik_id)
                                {
                                    $ozellikAsk=$db->prepare("SELECT * from ozellikler where o_id=:o_id");
                                    $ozellikAsk->execute(array(
                                        'o_id' => $urun_ozellik_id
         
                                    ));
                                     
                                    $ozellikCheck=$ozellikAsk->fetch(PDO::FETCH_ASSOC)          
                               ?>
                                   <li>
                                    <div class="page-list-icon"> <span class="flaticon-group"></span> </div>
                                    <div class="page-list-text">
                                        <p><?php echo $ozellikCheck['o_baslik']; ?> </p>
                                    </div>
                                    </li>
     
                            <?php }?>
                       </ul>
  • 26-05-2022, 12:23:44
    #7
    yasarkemaldag adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki şekilde deneyebilirsiniz.

    <?php
    $urunsor=$db->prepare("SELECT * from urunler where urun_id=:UrunId");
    $urunsor->execute(array('UrunId' => $_GET['oda_id']));
    $uruncek=$urunsor->fetch(PDO::FETCH_ASSOC);
     ?>
                      <ul class="list-unstyled page-list mb-30">
                            <?php
                                $urun_ozellik_dizi = explode(",",$uruncek['urun_ozellikler']);
                                foreach ($urun_ozellik_dizi, $urun_ozellik_id)
                                {
                                    $ozellikAsk=$db->prepare("SELECT * from ozellikler where o_id=:o_id");
                                    $ozellikAsk->execute(array(
                                        'o_id' => $urun_ozellik_id
        
                                    ));
                                    
                                    $ozellikCheck=$ozellikAsk->fetch(PDO::FETCH_ASSOC)          
                               ?>
                                   <li>
                                    <div class="page-list-icon"> <span class="flaticon-group"></span> </div>
                                    <div class="page-list-text">
                                        <p><?php echo $ozellikCheck['o_baslik']; ?> </p>
                                    </div>
                                    </li>
     
                            <?php }?>
                       </ul>
    Harikasın hocam. Sorun çözüldü. İlk hata vermişti. foreach döngüsünde virgülden kaynaklı olduğunu gördüm virgül yerine as yazdım düzeldi.