| <?php |
| |
|
|
| |
| $host = '127.0.o.1'; |
| $db_name = 'jweb'; |
| $username = 'root'; |
| $password = 'YourStrongPassword123'; |
|
|
| try { |
| |
| $pdo = new PDO("mysql:host=$host", $username, $password); |
| $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
| |
| |
| $pdo->exec("USE $db_name"); |
| echo "Using database: $db_name<br>"; |
| |
| |
| $sql = "CREATE TABLE IF NOT EXISTS users ( |
| id INT AUTO_INCREMENT PRIMARY KEY, |
| username VARCHAR(50) UNIQUE NOT NULL, |
| email VARCHAR(100) UNIQUE NOT NULL, |
| password_hash VARCHAR(255) NOT NULL, |
| tier ENUM('Basic', 'Premium', 'Gold') DEFAULT 'Basic', |
| package ENUM('NOVA', 'SUPERIOR', 'GOLD') DEFAULT 'NOVA', |
| balance DECIMAL(10, 2) DEFAULT 0.00, |
| total_deposits DECIMAL(10, 2) DEFAULT 0.00, |
| total_withdrawals DECIMAL(10, 2) DEFAULT 0.00, |
| rewards DECIMAL(10, 2) DEFAULT 0.00, |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, |
| updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
| )"; |
| $pdo->exec($sql); |
| echo "Users table created successfully<br>"; |
| |
| |
| $sql = "CREATE TABLE IF NOT EXISTS transactions ( |
| id INT AUTO_INCREMENT PRIMARY KEY, |
| user_id INT NOT NULL, |
| type ENUM('deposit', 'withdrawal', 'bonus', 'purchase', 'transfer', 'earning') NOT NULL, |
| amount DECIMAL(10, 2) NOT NULL, |
| description VARCHAR(255), |
| status ENUM('pending', 'completed', 'failed') DEFAULT 'pending', |
| reference VARCHAR(100), |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP |
| )"; |
| $pdo->exec($sql); |
| echo "Transactions table created successfully<br>"; |
| |
| |
| $sql = "CREATE TABLE IF NOT EXISTS packages ( |
| id INT AUTO_INCREMENT PRIMARY KEY, |
| name VARCHAR(50) NOT NULL, |
| price DECIMAL(10, 2) NOT NULL, |
| award DECIMAL(10, 2) NOT NULL, |
| features TEXT, |
| is_active BOOLEAN DEFAULT TRUE, |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP |
| )"; |
| $pdo->exec($sql); |
| echo "Packages table created successfully<br>"; |
| |
| |
| $sql = "INSERT IGNORE INTO packages (name, price, award, features) VALUES |
| ('NOVA', 1000.00, 3000.00, 'Auto Deposit'), |
| ('SUPERIOR', 2500.00, 7500.00, 'Auto Deposit'), |
| ('GOLD', 5500.00, 16500.00, 'Auto Deposit')"; |
| $pdo->exec($sql); |
| echo "Default packages inserted successfully<br>"; |
| |
| |
| $sql = "SELECT COUNT(*) FROM users"; |
| $result = $pdo->query($sql); |
| $count = $result->fetchColumn(); |
| |
| if ($count == 0) { |
| $password_hash = password_hash('password123', PASSWORD_DEFAULT); |
| $sql = "INSERT INTO users (username, email, password_hash, tier, package, balance, total_deposits, total_withdrawals, rewards) |
| VALUES ('testuser', 'test@example.com', '$password_hash', 'Premium', 'NOVA', 5000.00, 10000.00, 5000.00, 1000.00)"; |
| $pdo->exec($sql); |
| echo "Test user created successfully<br>"; |
| |
| |
| $user_id = $pdo->lastInsertId(); |
| $transactions = [ |
| ['user_id' => $user_id, 'type' => 'deposit', 'amount' => 1000.00, 'description' => 'Initial deposit', 'status' => 'completed'], |
| ['user_id' => $user_id, 'type' => 'withdrawal', 'amount' => 500.00, 'description' => 'Cash withdrawal', 'status' => 'completed'], |
| ['user_id' => $user_id, 'type' => 'bonus', 'amount' => 100.00, 'description' => 'Welcome bonus', 'status' => 'completed'], |
| ['user_id' => $user_id, 'type' => 'purchase', 'amount' => 250.00, 'description' => 'Product purchase', 'status' => 'completed'], |
| ['user_id' => $user_id, 'type' => 'earning', 'amount' => 150.00, 'description' => 'Daily earnings', 'status' => 'completed'] |
| ]; |
| |
| foreach ($transactions as $transaction) { |
| $sql = "INSERT INTO transactions (user_id, type, amount, description, status) |
| VALUES (:user_id, :type, :amount, :description, :status)"; |
| $stmt = $pdo->prepare($sql); |
| $stmt->execute($transaction); |
| } |
| echo "Sample transactions created successfully<br>"; |
| } |
| |
| echo "Database setup completed successfully!"; |
| |
| } catch (PDOException $e) { |
| die("Database error: " . $e->getMessage()); |
| } |
| ?> |