• 12-01-2024, 00:35:32
    #1
    if(floatval($totalCheck) == floatval($totalAt)) {
    $sqlPayedDelete = "DELETE FROM payedList WHERE tables_id = ? AND section_id = ?";
    $stmtPayedDelete = $conn->prepare($sqlPayedDelete);
    $stmtPayedDelete->bind_param("ii", $tableId, $sectionId);
    $stmtPayedDelete->execute();
    $sqlDelete = "DELETE FROM tableContent WHERE tablesId = ? AND sectionId = ?";
    $stmtDelete = $conn->prepare($sqlDelete);
    $stmtDelete->bind_param("ii", $tableId, $sectionId);
    $delete = $stmtDelete->execute();
    if($delete) {
    $sqlUpdate = "UPDATE tables SET total = 0, save = 0, ready = 0 WHERE name = ? AND section_id = ?";
    $stmtUpdate = $conn->prepare($sqlUpdate);
    $stmtUpdate->bind_param("si", $tableData, $sectionId);
    $update = $stmtUpdate->execute();
    if($update) {
    echo "Veriler başarıyla işlendi.";
    } else {
    echo "Sorguda bir hata oluştu: " . $conn->error;
    }
    } else {
    echo "Sorguda bir hata oluştu: " . $conn->error;
    }
    } else {
    $sqlUpdateTotal = "UPDATE tables SET save = ? WHERE name = ? AND section_id = ?";
    $stmtUpdateTotal = $conn->prepare($sqlUpdateTotal);
    $stmtUpdateTotal->bind_param("dss", $totalAt, $tableData, $sectionId);
    if($stmtUpdateTotal->execute()) {
    echo "Veriler başarıyla işlendi.";
    } else {
    echo "Sorguda bir hata oluştu: " . $conn->error;
    }
    }
    $newSqlCheck = "SELECT total, save FROM tables WHERE name = ? AND section_id = ?";
    $stmtNew = $conn->prepare($newSqlCheck);
    $stmtNew->bind_param("si", $tableData, $sectionId);
    $stmtNew->execute();
    $resultNew = $stmtNew->get_result();
    if($resultNew->num_rows > 0) {
    $rowNew = $resultNew->fetch_assoc();
    $currentTotal = $rowNew['total'];
    $currentSave = $rowNew['save'];
    if ($currentTotal == 0 && $currentSave != 0) {
    // if total value 0 and save value not 0 again check save value
    $sqlUpdateSave = "UPDATE tables SET save = 0 WHERE name = ? AND section_id = ?";
    $stmtUpdateSave = $conn->prepare($sqlUpdateSave);
    $stmtUpdateSave->bind_param("si", $tableData, $sectionId);
    if ($stmtUpdateSave->execute()) {
    // second check to payedList delete
    $sqlDeletePayedList = "DELETE FROM payedList WHERE tables_id = ? AND section_id = ?";
    $stmtDeletePayedList = $conn->prepare($sqlDeletePayedList);
    $stmtDeletePayedList->bind_param("ii", $tableId, $sectionId);
    if ($stmtDeletePayedList->execute()) {
    echo "Save değeri başarıyla güncellendi ve payedList tablosundaki ilgili satırlar silindi.";
    } else {
    echo "Save değeri güncellenirken bir hata oluştu: " . $stmtDeletePayedList->error;
    }
    $stmtDeletePayedList->close();
    } else {
    echo "Save değeri güncellenirken bir hata oluştu: " . $stmtUpdateSave->error;
    }
    $stmtUpdateSave->close();
    } BURADAKI DELETE ISLEMLERINDE payedList tablosundaki silme islemleri fazla sorgu calistiginda bazi satirlari silmiyor
  • 12-01-2024, 00:49:22
    #2
    <?php
    // Diğer kodlar...
    
    // İlk DELETE işlemi
    $sqlPayedDelete = "DELETE FROM payedList WHERE tables_id = ? AND section_id = ?";
    $stmtPayedDelete = $conn->prepare($sqlPayedDelete);
    $stmtPayedDelete->bind_param("ii", $tableId, $sectionId);
    
    // İkinci DELETE işlemi
    $sqlDelete = "DELETE FROM tableContent WHERE tablesId = ? AND sectionId = ?";
    $stmtDelete = $conn->prepare($sqlDelete);
    $stmtDelete->bind_param("ii", $tableId, $sectionId);
    
    // Başlangıç: Transaksiyonu başlat
    $conn->begin_transaction();
    
    // İlk DELETE işlemi
    $stmtPayedDelete->execute();
    
    // İkinci DELETE işlemi
    $delete = $stmtDelete->execute();
    
    if ($delete) {
        // Diğer kodlar...
        // Başarı durumunda transaksiyonu kaydet
        $conn->commit();
        echo "Veriler başarıyla işlendi.";
    } else {
        // Hata durumunda transaksiyonu geri al
        $conn->rollback();
        echo "Sorguda bir hata oluştu: " . $stmtDelete->error;
    }
    
    // Diğer kodlar...
    ?>
    Böyle dener mısın bi