Path : /home/vishqocm/pcib.in/
File Upload :
Current File : //home/vishqocm///pcib.in/reset_payments_table.php

<?php
// Connect to database
require_once 'admin/database/db_config.php';

echo "<h1>Resetting Payments Table Structure</h1>";

// Start transaction
$conn->begin_transaction();

try {
    // Drop the payments table if it exists
    $conn->query("DROP TABLE IF EXISTS payments");
    
    // Create a new payments table with the correct structure
    $createTable = "CREATE TABLE payments (
        id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        user_id INT(11) NOT NULL,
        course_id INT(11) NULL,
        amount DECIMAL(10,2) NOT NULL,
        payment_method VARCHAR(50) NOT NULL,
        transaction_id VARCHAR(100) NOT NULL,
        status VARCHAR(20) NOT NULL DEFAULT 'pending',
        payment_details TEXT NULL,
        payment_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        marked_by INT(11) NULL,
        UNIQUE KEY (transaction_id),
        INDEX (user_id),
        INDEX (course_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
    
    if ($conn->query($createTable)) {
        echo "<div class='alert alert-success' style='padding: 15px; background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; border-radius: 4px; margin-bottom: 15px;'>";
        echo "<strong>Success!</strong> The payments table has been completely reset with the correct structure.";
        echo "</div>";
        
        // Commit transaction
        $conn->commit();
    } else {
        throw new Exception("Error creating payments table: " . $conn->error);
    }
} catch (Exception $e) {
    // Rollback transaction on error
    $conn->rollback();
    
    echo "<div class='alert alert-danger' style='padding: 15px; background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; border-radius: 4px; margin-bottom: 15px;'>";
    echo "<strong>Error!</strong> " . $e->getMessage();
    echo "</div>";
}

// Show the current structure of the payments table
echo "<h2>Current Payments Table Structure</h2>";
$result = $conn->query("DESCRIBE payments");

if ($result) {
    echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
    echo "<tr style='background-color: #f8f9fc;'><th style='padding: 8px; border: 1px solid #ddd;'>Field</th><th style='padding: 8px; border: 1px solid #ddd;'>Type</th><th style='padding: 8px; border: 1px solid #ddd;'>Null</th><th style='padding: 8px; border: 1px solid #ddd;'>Key</th><th style='padding: 8px; border: 1px solid #ddd;'>Default</th><th style='padding: 8px; border: 1px solid #ddd;'>Extra</th></tr>";
    
    while ($row = $result->fetch_assoc()) {
        echo "<tr>";
        echo "<td style='padding: 8px; border: 1px solid #ddd;'>" . $row['Field'] . "</td>";
        echo "<td style='padding: 8px; border: 1px solid #ddd;'>" . $row['Type'] . "</td>";
        echo "<td style='padding: 8px; border: 1px solid #ddd;'>" . $row['Null'] . "</td>";
        echo "<td style='padding: 8px; border: 1px solid #ddd;'>" . $row['Key'] . "</td>";
        echo "<td style='padding: 8px; border: 1px solid #ddd;'>" . $row['Default'] . "</td>";
        echo "<td style='padding: 8px; border: 1px solid #ddd;'>" . $row['Extra'] . "</td>";
        echo "</tr>";
    }
    
    echo "</table>";
} else {
    echo "<p>Error describing payments table: " . $conn->error . "</p>";
}

echo "<div style='margin-top: 20px;'>";
echo "<a href='enroll/payment.php?application_id=3' class='btn btn-primary' style='background-color: #4e73df; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px; margin-right: 10px;'>Go to Payment Page</a>";
echo "</div>";

// Add warning about data loss
echo "<div class='alert alert-warning' style='padding: 15px; background-color: #fff3cd; color: #856404; border: 1px solid #ffeeba; border-radius: 4px; margin-top: 20px;'>";
echo "<strong>Warning:</strong> This script has reset the payments table. Any previous payment data has been deleted.";
echo "</div>";
?>