• 20-01-2025, 17:39:12
    #1
    Merhaba arkadaşlar bir projeye doping sistemini yapıyorumda if ($_POST['durum']==5) deyip altına diğer if eklemeden mesela populer_urun olarak sorunsuz yapıyor ama benim doping adlarım şunlar;
    [1] = 'Popüler Ürünler';
    [2] = 'Anasayfa Haftanın Ürünleri';
    [3] = 'Anasayfa Fırsat Ürünleri';

    şimdi ben burada dopinge tamamlandı dediğimde id ne ise ona kayıt yapmasını nasıl sağlarım bi bunu çözemedim. nerde hatam var çözemedim

    <?php
    if($_POST){
        
        $islem = $db->prepare("UPDATE doping_siparis SET durum = ? WHERE id = ?");
        $islem = $islem->execute(array($_POST['durum'],$_POST['id']));
        if ($_POST['durum']==5) {
                $baslangic = date('d-m-Y H:i:s');
                $gun = $_POST['bitis_tarihi'];
                $bitis =  date("d-m-Y H:i:s",strtotime("+$gun days"));
        if ($_POST['id']==1){
                $islem = $db->prepare("INSERT INTO populer_urunler SET urun_id = ?, sira = ?, baslangic_tarihi = ?, bitis_tarihi = ?");
        $islem = $islem->execute(array($_POST['urun_id'],1,$baslangic,$bitis));
    
        $islem = $db->prepare("INSERT INTO anasayfa_tab_menu_urun SET urun_id = ?, sira = ?, baslangic_tarihi = ?, bitis_tarihi = ?, anasayfa_tab_menu_id = ?");
        $islem = $islem->execute(array($_POST['urun_id'],1,$baslangic,$bitis,2));
        }
        if ($_POST['id']==2){
                $islem = $db->prepare("INSERT INTO haftanin_urunleri SET urun_id = ?, sira = ?, baslangic_tarihi = ?, bitis_tarihi = ?");
        $islem = $islem->execute(array($_POST['urun_id'],1,$baslangic,$bitis));
        }
        if ($_POST['id']==3){
                
        $islem = $db->prepare("INSERT INTO anasayfa_tab_menu_urun SET urun_id = ?, sira = ?, baslangic_tarihi = ?, bitis_tarihi = ?, anasayfa_tab_menu_id = ?");
        $islem = $islem->execute(array($_POST['urun_id'],1,$baslangic,$bitis,4));
        }
      
            }
    
        if($islem){
            echo b();
        }else{
            echo h();
        }
    
    }
    ?>
  • 20-01-2025, 17:43:13
    #2
    End if yada

    Else if yapman lazim
  • 20-01-2025, 17:45:27
    #3
    R10'DA İLK | 81 İL SCRİPT
    <?php
    if ($_POST) {
        // Doping türleri eşleme dizisi
        $dopingMap = [
            1 => [
                'table' => 'populer_urunler',
                'extraColumns' => [],
            ],
            2 => [
                'table' => 'haftanin_urunleri',
                'extraColumns' => [],
            ],
            3 => [
                'table' => 'anasayfa_tab_menu_urun',
                'extraColumns' => ['anasayfa_tab_menu_id' => 4],
            ],
        ];
    
        // Doping sipariş durumunu güncelle
        $islem = $db->prepare("UPDATE doping_siparis SET durum = ? WHERE id = ?");
        $islem = $islem->execute([$_POST['durum'], $_POST['id']]);
    
        if ($_POST['durum'] == 5) {
            $baslangic = date('Y-m-d H:i:s');
            $gun = $_POST['bitis_tarihi'];
            $bitis = date("Y-m-d H:i:s", strtotime("+$gun days"));
    
            // Doping ID'ye göre işlem yap
            $dopingId = $_POST['id'];
            if (isset($dopingMap[$dopingId])) {
                $doping = $dopingMap[$dopingId];
                $columns = "urun_id, sira, baslangic_tarihi, bitis_tarihi";
                $values = "?, ?, ?, ?";
                $params = [$_POST['urun_id'], 1, $baslangic, $bitis];
    
                // Ekstra kolonlar varsa ekle
                if (!empty($doping['extraColumns'])) {
                    foreach ($doping['extraColumns'] as $column => $value) {
                        $columns .= ", $column";
                        $values .= ", ?";
                        $params[] = $value;
                    }
                }
    
                // Veritabanına ekle
                $query = "INSERT INTO {$doping['table']} ($columns) VALUES ($values)";
                $islem = $db->prepare($query)->execute($params);
            }
        }
    
        // İşlem sonucunu kontrol et
        if ($islem) {
            echo b();
        } else {
            echo h();
        }
    }
    ?>
  • 20-01-2025, 17:46:11
    #4
    Ya else-if ile ilermeniz yada işlemden sonra die(); exit(); gibi devamını öldürmeniz gerekmektedir
  • 20-01-2025, 17:52:09
    #5
    <?php
    if(isset($_POST['dopingGuncelleme'])) {
        try {
            $baslangic = date('d-m-Y H:i:s');
            $gun = $_POST['bitis_tarihi'];
            $bitis = date("d-m-Y H:i:s", strtotime("+$gun days"));
            
            // Initialize variables
            $tablo = '';
            $ekstraVeri = array();
            $baseVeri = array(
                'urun_id' => $_POST['urun_id'],
                'sira' => 1,
                'baslangic_tarihi' => $baslangic,
                'bitis_tarihi' => $bitis
            );
            
            if ($_POST['durum'] == 5) {
                // Configure table and additional data based on ID
                switch($_POST['id']) {
                    case 1:
                        $tablo = 'populer_urunler';
                        $ekstraIslem = true;
                        $ekstraVeri = array(
                            'tablo' => 'anasayfa_tab_menu_urun',
                            'anasayfa_tab_menu_id' => 2
                        );
                        break;
                    case 2:
                        $tablo = 'haftanin_urunleri';
                        $ekstraIslem = false;
                        break;
                    case 3:
                        $tablo = 'anasayfa_tab_menu_urun';
                        $ekstraIslem = false;
                        $baseVeri['anasayfa_tab_menu_id'] = 4;
                        break;
                    default:
                        throw new Exception("Geçersiz ID değeri");
                }
                
                // Create dynamic SQL based on table columns
                $columns = array_keys($baseVeri);
                $values = array_values($baseVeri);
                
                $sql = "INSERT INTO " . $tablo . " (" . implode(", ", $columns) . ") 
                        VALUES (" . str_repeat("?,", count($columns)-1) . "?)";
                
                // Execute main insertion
                $islem = $db->prepare($sql);
                $islem->execute($values);
                
                // Handle extra insertion if needed (for case 1)
                if ($ekstraIslem) {
                    $ekstraColumns = array_merge($columns, ['anasayfa_tab_menu_id']);
                    $ekstraValues = array_merge($values, [$ekstraVeri['anasayfa_tab_menu_id']]);
                    
                    $ekstraSql = "INSERT INTO " . $ekstraVeri['tablo'] . " (" . 
                                implode(", ", $ekstraColumns) . ") 
                                VALUES (" . str_repeat("?,", count($ekstraColumns)-1) . "?)";
                    
                    $ekstraIslem = $db->prepare($ekstraSql);
                    $ekstraIslem->execute($ekstraValues);
                }
                
                // Update doping_siparis status
                $dopingSorgu = $db->prepare("UPDATE doping_siparis SET durum = ? WHERE id = ?");
                $dopingGuncelle = $dopingSorgu->execute(array($_POST['durum'], $_POST['id']));
                
                if (!$dopingGuncelle) {
                    throw new Exception("Doping siparişi güncellenirken bir hata oluştu");
                }
                
                echo "İşlem başarıyla tamamlandı";
                
            } else {
                echo "Geçersiz durum değeri";
            }
            
        } catch (Exception $e) {
            echo 'Hata: ' . $e->getMessage();
        }
    }
    ?>
  • 21-01-2025, 00:12:10
    #6
    Sorunu Çözdüm arkadaşlar, id olarak doping_siparis tablosunun id sini çekiyorum dogal olarak benim doping id ler 1-2-3 olduğu için eşleşmiyor ondan olmuyormuş. formun içine input hidden olarak doping id lerini name="did" olarak ekleyerek aşağıdaki şekilde çözdüm.
    <?php
    if($_POST){
        
        
        if ($_POST['durum']==5) {
            $baslangic = date('d-m-Y H:i:s');
                $gun = $_POST['bitis_tarihi'];
                $bitis =  date("d-m-Y H:i:s",strtotime("+$gun days"));
        
        if ($_POST['did']==1) {
                $islem = $db->prepare("UPDATE doping_siparis SET durum = ? WHERE id = ?");
        $islem = $islem->execute(array($_POST['durum'],$_POST['id']));
                $islem = $db->prepare("INSERT INTO populer_urunler SET urun_id = ?, sira = ?, baslangic_tarihi = ?, bitis_tarihi = ?");
        $islem = $islem->execute(array($_POST['urun_id'],1,$baslangic,$bitis));
    
        $islem = $db->prepare("INSERT INTO anasayfa_tab_menu_urun SET urun_id = ?, sira = ?, baslangic_tarihi = ?, bitis_tarihi = ?, anasayfa_tab_menu_id = ?");
        $islem = $islem->execute(array($_POST['urun_id'],1,$baslangic,$bitis,2));
        }
    
        if ($_POST['did']==2){
            $islem = $db->prepare("UPDATE doping_siparis SET durum = ? WHERE id = ?");
        $islem = $islem->execute(array($_POST['durum'],$_POST['id']));
                $islem = $db->prepare("INSERT INTO haftanin_urunleri SET urun_id = ?, sira = ?, baslangic_tarihi = ?, bitis_tarihi = ?");
        $islem = $islem->execute(array($_POST['urun_id'],1,$baslangic,$bitis));
        }
    
       if ($_POST['did']==3){
                $islem = $db->prepare("UPDATE doping_siparis SET durum = ? WHERE id = ?");
        $islem = $islem->execute(array($_POST['durum'],$_POST['id']));
        $islem = $db->prepare("INSERT INTO anasayfa_tab_menu_urun SET urun_id = ?, sira = ?, baslangic_tarihi = ?, bitis_tarihi = ?, anasayfa_tab_menu_id = ?");
        $islem = $islem->execute(array($_POST['urun_id'],1,$baslangic,$bitis,4));
        }
      
            }
    
        if($islem){
            echo b();
        }else{
            echo h();
        }
    }
    
    ?>