Repository navigation
Expand file tree
/
Copy pathrun_sql_setup.php
More file actions
128 lines (105 loc) · 5.79 KB
/
Copy pathrun_sql_setup.php
File metadata and controls
128 lines (105 loc) · 5.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
/**
* تشغيل ملف SQL لإعداد قاعدة البيانات
* Run SQL File to Setup Database
*/
echo "<h1>🗄️ تشغيل ملف SQL لإعداد قاعدة البيانات</h1>";
require_once 'backend/config/config.php';
try {
$db = Database::getInstance();
echo "<p style='color: green;'>✅ الاتصال بقاعدة البيانات نجح</p>";
// قراءة ملف SQL
$sqlFile = 'create_cart_tables.sql';
if (!file_exists($sqlFile)) {
throw new Exception("ملف SQL غير موجود: $sqlFile");
}
$sql = file_get_contents($sqlFile);
echo "<p style='color: green;'>✅ تم قراءة ملف SQL بنجاح</p>";
// تقسيم الاستعلامات
$queries = explode(';', $sql);
$successCount = 0;
$errorCount = 0;
echo "<h2>تنفيذ الاستعلامات:</h2>";
echo "<div style='max-height: 400px; overflow-y: auto; border: 1px solid #ddd; padding: 10px; background: #f8f9fa;'>";
foreach ($queries as $index => $query) {
$query = trim($query);
// تجاهل الاستعلامات الفارغة والتعليقات
if (empty($query) || strpos($query, '--') === 0) {
continue;
}
try {
$result = $db->executeRaw($query);
if ($result !== false) {
$successCount++;
echo "<p style='color: green; font-size: 12px;'>✅ استعلام " . ($index + 1) . ": نجح</p>";
} else {
$errorCount++;
echo "<p style='color: orange; font-size: 12px;'>⚠️ استعلام " . ($index + 1) . ": لا يوجد تأثير</p>";
}
} catch (Exception $e) {
$errorCount++;
echo "<p style='color: red; font-size: 12px;'>❌ استعلام " . ($index + 1) . ": {$e->getMessage()}</p>";
}
}
echo "</div>";
echo "<h3>📊 ملخص التنفيذ:</h3>";
echo "<table border='1' style='border-collapse: collapse; width: 100%; margin: 10px 0;'>";
echo "<tr style='background: #f8f9fa;'><th>النتيجة</th><th>العدد</th></tr>";
echo "<tr><td style='color: green;'>استعلامات نجحت</td><td>$successCount</td></tr>";
echo "<tr><td style='color: red;'>استعلامات فشلت</td><td>$errorCount</td></tr>";
echo "</table>";
// فحص الجداول المنشأة
echo "<h3>🔍 فحص الجداول المنشأة:</h3>";
$tables = ['categories', 'brands', 'products', 'cart'];
$tablesCreated = 0;
echo "<table border='1' style='border-collapse: collapse; width: 100%; margin: 10px 0;'>";
echo "<tr style='background: #f8f9fa;'><th>الجدول</th><th>الحالة</th><th>عدد السجلات</th></tr>";
foreach ($tables as $table) {
try {
if ($db->tableExists($table)) {
$count = $db->count($table);
echo "<tr><td>$table</td><td style='color: green;'>موجود ✅</td><td>$count</td></tr>";
$tablesCreated++;
} else {
echo "<tr><td>$table</td><td style='color: red;'>غير موجود ❌</td><td>-</td></tr>";
}
} catch (Exception $e) {
echo "<tr><td>$table</td><td style='color: red;'>خطأ ❌</td><td>-</td></tr>";
}
}
echo "</table>";
// النتيجة النهائية
if ($tablesCreated === count($tables) && $errorCount === 0) {
echo "<div style='background: linear-gradient(135deg, #28a745, #20c997); color: white; padding: 30px; border-radius: 15px; text-align: center; margin: 30px 0;'>";
echo "<h2>🎉 تم إعداد قاعدة البيانات بنجاح!</h2>";
echo "<p>جميع الجداول تم إنشاؤها والبيانات التجريبية تم إدراجها</p>";
echo "<p><strong>🔥 نظام السلة جاهز للاستخدام!</strong></p>";
echo "</div>";
} else if ($tablesCreated > 0) {
echo "<div style='background: linear-gradient(135deg, #ffc107, #fd7e14); color: white; padding: 20px; border-radius: 10px; text-align: center; margin: 20px 0;'>";
echo "<h3>⚠️ تم إعداد قاعدة البيانات جزئياً</h3>";
echo "<p>تم إنشاء $tablesCreated من " . count($tables) . " جداول</p>";
echo "<p>قد تحتاج لمراجعة الأخطاء أعلاه</p>";
echo "</div>";
} else {
echo "<div style='background: #dc3545; color: white; padding: 20px; border-radius: 10px; text-align: center; margin: 20px 0;'>";
echo "<h3>❌ فشل في إعداد قاعدة البيانات</h3>";
echo "<p>لم يتم إنشاء أي جداول بنجاح</p>";
echo "</div>";
}
} catch (Exception $e) {
echo "<div style='background: #dc3545; color: white; padding: 20px; border-radius: 10px; text-align: center; margin: 20px 0;'>";
echo "<h3>❌ خطأ في إعداد قاعدة البيانات</h3>";
echo "<p>{$e->getMessage()}</p>";
echo "</div>";
}
echo "<h3>🔗 الخطوة التالية:</h3>";
echo "<div style='display: flex; gap: 10px; flex-wrap: wrap; margin: 20px 0;'>";
echo "<a href='test_cart_system.php' style='padding: 15px 25px; background: #28a745; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;'>🧪 اختبار نظام السلة</a>";
echo "<a href='htmlpage/home.php' style='padding: 15px 25px; background: #007bff; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;'>🏠 الصفحة الرئيسية</a>";
echo "</div>";
echo "<hr>";
echo "<p style='text-align: center; color: #666; margin: 20px 0;'>";
echo "<strong>تم الإعداد في:</strong> " . date('Y-m-d H:i:s');
echo "</p>";
?>