• 27-06-2022, 11:15:25
    #1
    Merhabalar. Bir düzenleme işlemim var.

    dicem ki:
    güncelleme işlemini yap ama bu url mevcutsa hata verdir


    <?php
    if (isset($_POST['submit'])){

    // BİLGİLERİ AL
    $category_name = isset($_POST['category_name']) ? $_POST['category_name'] : null;
    $category_url = isset($_POST['category_url']) ? $_POST['category_url'] : null;

    // URL KONTROL
    $query = $db->prepare("SELECT * FROM categories WHERE category_url = ? ORDER BY id");
    $param = array($category_url);
    $query->execute($param);

    // URL İ NAME E EŞİTLE
    if ($category_name){
    $category_url = seo($category_name);
    }

    if (!$category_name){
    echo '<script type="text/javascript">
    swal("", "Lütfen Kategori Adı Ekleyin!", "error");
    </script>';

    // URL MEVCUTSA HATA
    }elseif ($query->rowCount()) {
    echo '<script type="text/javascript">
    swal("", "Bu Category_url Bulunmakta!", "error")
    </script>';
    } else {

    $sorgu = $db->prepare('UPDATE categories SET
    category_name = ?,
    category_url = ?
    WHERE id = ?');
    $guncelle = $sorgu->execute([
    $category_name, $category_url , $edit['id'] // EDİT['İD'] YE TAKILMAYIN
    // YUKARIDA ALDIRDIM
    ]);

    $sonId = $db->lastInsertId();
    }

    ?>
  • 27-06-2022, 11:46:23
    #2
    Valla hocam Daha net Açıklarsan yardımcı olmaya çalışayım söylediğinden birşey anlamadım .

    Kategori İsmini güncelleyeceksin ama url güncellenmeyecekmi ?
  • 27-06-2022, 11:52:37
    #3
    Adalente adlı üyeden alıntı: mesajı görüntüle
    Valla hocam Daha net Açıklarsan yardımcı olmaya çalışayım söylediğinden birşey anlamadım .

    Kategori İsmini güncelleyeceksin ama url güncellenmeyecekmi ?
    Merhabalar hocam. İlginiz için teşekkürler. Konuyu güncelledim. Umarım daha anlaşılır olmuştur
  • 27-06-2022, 12:00:25
    #4
    $query = $db->prepare("SELECT * FROM categories WHERE category_url = ? ORDER BY id");
    $param = array($category_url);
    $query->execute($param);

    burada sorgu yaparken rowcount iile kontrol et eğer dönen veri 0 dan büyükse değer var yoksa işleme devam et yapmalısın.

    $kontrol = $db->prepare("SELECT * FROM categories WHERE category_url = ? ");
    $kontrol->execute(array($category_url ));
    $sonuc = $kontrol->fetch(PDO::FETCH_ASSOC);
    if ($sonuc) {
    echo "urlvar";
    exit();
    }else{
    echo "urlyok
    }"
  • 27-06-2022, 12:17:12
    #5
    Adalente adlı üyeden alıntı: mesajı görüntüle
    $query = $db->prepare("SELECT * FROM categories WHERE category_url = ? ORDER BY id");
    $param = array($category_url);
    $query->execute($param);

    burada sorgu yaparken rowcount iile kontrol et eğer dönen veri 0 dan büyükse değer var yoksa işleme devam et yapmalısın.

    $kontrol = $db->prepare("SELECT * FROM categories WHERE category_url = ? ");
    $kontrol->execute(array($category_url ));
    $sonuc = $kontrol->fetch(PDO::FETCH_ASSOC);
    if ($sonuc) {
    echo "urlvar";
    exit();
    }else{
    echo "urlyok
    }"
    Merhabalar.
    kontrol işlemini yapamadım. bir önrek atabilir misiniz?
  • 27-06-2022, 12:42:08
    #6
    Yazdımya örnek

    iltu33 adlı üyeden alıntı: mesajı görüntüle
    Merhabalar.
    kontrol işlemini yapamadım. bir önrek atabilir misiniz?
  • 27-06-2022, 13:07:17
    #7
    if (!$category_name){ // bu kontrolü yukarıda sql sorgusu yapman önce kontrol ettirin.

    }elseif ($query->rowCount() ) {
    bu kısmı
    }elseif ($query->rowCount()>0 ) {
    Değiştirin
  • 27-06-2022, 14:00:49
    #8
    msn560 adlı üyeden alıntı: mesajı görüntüle
    if (!$category_name){ // bu kontrolü yukarıda sql sorgusu yapman önce kontrol ettirin.

    }elseif ($query->rowCount() ) {
    bu kısmı
    }elseif ($query->rowCount()>0 ) {
    Değiştirin
    Cevabın için çok teşekkürler fakat işe yaramadı. İstersen şöyle toparlayalım;

    Aşağıdaki kodum şu an kontrol işlemini yapıyor, fakat kendi url ini sanki başka konuda aynı url varmış gibi okuyor e bana bu url mevcut diyor.
    Halbuki bu url sadece editleme sayfamdaki verimde var.
    Ne yapmalıyım?

    //VERİLERİ AL
    $category_name = isset($_POST['category_name']) ? $_POST['category_name'] : null;
    $category_url = isset($_POST['category_url']) ? $_POST['category_url'] : null;


    // CATEGORY_URL KONTROL
    $kontrol = $db->prepare("SELECT * FROM categories WHERE category_url = ? ");
    $kontrol->execute(array($category_url ));
    $sonuc = $kontrol->fetch(PDO::FETCH_ASSOC);

    // URL İ NAME E EŞİTLE
    $category_url = seo($category_name);

    //KONTROL
    if (!$category_name){
    echo '<script type="text/javascript">
    swal("", "Lütfen Kategori Adı Ekleyin!", "error");
    </script>';
    }elseif ($sonuc) {
    echo '<script type="text/javascript">
    swal("", "Bu Category_url Bulunmakta!", "error")
    </script>';
  • 27-06-2022, 14:01:05
    #9
    Adalente adlı üyeden alıntı: mesajı görüntüle
    Yazdımya örnek
    Cevabın için çok teşekkürler fakat işe yaramadı. İstersen şöyle toparlayalım;

    Aşağıdaki kodum şu an kontrol işlemini yapıyor, fakat kendi url ini sanki başka konuda aynı url varmış gibi okuyor e bana bu url mevcut diyor.
    Halbuki bu url sadece editleme sayfamdaki verimde var.
    Ne yapmalıyım?

    //VERİLERİ AL
    $category_name = isset($_POST['category_name']) ? $_POST['category_name'] : null;
    $category_url = isset($_POST['category_url']) ? $_POST['category_url'] : null;


    // CATEGORY_URL KONTROL
    $kontrol = $db->prepare("SELECT * FROM categories WHERE category_url = ? ");
    $kontrol->execute(array($category_url ));
    $sonuc = $kontrol->fetch(PDO::FETCH_ASSOC);

    // URL İ NAME E EŞİTLE
    $category_url = seo($category_name);

    //KONTROL
    if (!$category_name){
    echo '<script type="text/javascript">
    swal("", "Lütfen Kategori Adı Ekleyin!", "error");
    </script>';
    }elseif ($sonuc) {
    echo '<script type="text/javascript">
    swal("", "Bu Category_url Bulunmakta!", "error")
    </script>';