Beshoy Wageeh نشر 28 فبراير أرسل تقرير نشر 28 فبراير عايز اصمم تقرير دائن ومدين بالشكل ده هجيب البيانات من قاعدة البيانات بس عايز اعرف ازاي ابرمج خانه الاجمالي لكل صف بحث يجمع الي قبله فقط بحث يبقي اجمالي الدائن - اجمالي المدين 1 اقتباس
0 Mustafa Suleiman نشر 28 فبراير أرسل تقرير نشر 28 فبراير في البداية نستخرج البيانات من قاعدة البيانات: تحديد نموذج قاعدة البيانات الذي يمثل حساباتك (مثلاً: حسابات، معاملات، ...). كتابة استعلام لعرض البيانات المطلوبة، مع مراعاة ترتيبها حسب التاريخ. مع تضمين الأعمدة التالية في الاستعلام: التاريخ: تاريخ المعاملة. الدائن: المبلغ الدائن في المعاملة. المدين: المبلغ المدين في المعاملة. البيان: وصف موجز للمعاملة. ثم برمجة خانة الإجمالي لكل صف كالتالي: استخدم حلقة foreach لعرض البيانات. داخل الحلقة، حدد متغير لحفظ إجمالي الدائن حتى الآن. أضف قيمة الدائن لكل صف إلى متغير إجمالي الدائن. حدد متغير آخر لحفظ إجمالي المدين حتى الآن. أضف قيمة المدين لكل صف إلى متغير إجمالي المدين. اعرض قيمة إجمالي الدائن وإجمالي المدين في كل صف. بعد ذلك كتابة الكود الخاص بخانة صافي المبلغ (الإجمالي) من خلال طرح إجمالي المدين من إجمالي الدائن وعرض قيمة صافي المبلغ (الإجمالي) في آخر الصف. وكمثال بسيط: @foreach ($transactions as $transaction) <tr> <td>{{ $transaction->date }}</td> <td>{{ $transaction->credit }}</td> <td>{{ $transaction->debit }}</td> <td>{{ $transaction->description }}</td> @php $totalCredit += $transaction->credit; $totalDebit += $transaction->debit; @endphp <td>{{ number_format($totalCredit, 2) }}</td> <td>{{ number_format($totalDebit, 2) }}</td> <td>{{ number_format($totalCredit - $totalDebit, 2) }}</td> </tr> @endforeach <tr> <th></th> <th>{{ number_format($totalCredit, 2) }}</th> <th>{{ number_format($totalDebit, 2) }}</th> <th></th> <th></th> <th></th> <th>{{ number_format($totalCredit - $totalDebit, 2) }}</th> </tr> 1 اقتباس
0 Beshoy Wageeh نشر 28 فبراير الكاتب أرسل تقرير نشر 28 فبراير (معدل) @forelse($transactions as $transaction) <tr role="row"> <td>{{ $loop->iteration }}</td> <td>{{ $transaction->user->first_name }}</td> <td>{{ $transaction->num }} </td> <td>{{ $transaction->payed_at }}</td> @php $totalCredit += $transaction->credit; $totalDebit += $transaction->debit; @endphp <td>{{ $transaction->formatcurrncy($transaction->credit) }} </td> <td>{{ $transaction->formatcurrncy($transaction->debit) }} <td>{{ number_format($totalCredit - $totalDebit, 2) }}</td> </tr> @empty <tr> <td class="text-center" colspan="5"> {{ trans('client.report_msg') }}</td> </tr> @endforelse عند التجربة يظهر خطأ Undefined variable $totalCredit تم التعديل في 28 فبراير بواسطة Beshoy Wageeh 1 اقتباس
0 Taha Khaled2 نشر 29 فبراير أرسل تقرير نشر 29 فبراير 1. اولا يجب ان تنشئ جدول Transaction يحتوي على الأعمدة التالية: id: معرف للمعاملة (integer). date: تاريخ المعاملة (date). description: وصف المعاملة (string). debit: المبلغ المدفوع (decimal). credit: المبلغ المستحق (decimal). 2. ثانيا قم بإنشاء وحدة تحكم TransactionsController لانشاء دالة العرض index.لعرض جميع المعاملات مع خانة الإجمالي بهذه الطريقه class TransactionsController extends Controller { public function index() { $transactions = Transaction::all(); return view('index', compact('transactions')); } } 3. يجب انشاء المودل بهذه الامر php artisan make:model Transaction -m ثما قم بوضع هذه الكود داخل المودل class Transaction extends Model { use HasFactory; protected $fillable = [ 'date', 'description', 'debit', 'credit', ]; protected $casts = [ 'debit' => 'decimal:2', 'credit' => 'decimal:2', ]; public function calculateTotal() { return $this->debit - $this->credit; } } calculateTotal تستخدم لحساب الرصيد 4. اخير يمكنك عرض البيانات بهذه الطريقه <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Transactions</title> </head> <body> <h1>Transactions</h1> <table border="1"> <tr> <th>Date</th> <th>Description</th> <th>Debit</th> <th>Credit</th> <th>Total</th> </tr> @foreach ($transactions as $transaction) <tr> <td>{{ $transaction->date }}</td> <td>{{ $transaction->description }}</td> <td>{{ $transaction->debit }}</td> <td>{{ $transaction->credit }}</td> <td>{{ $transaction->calculateTotal() }}</td> </tr> @endforeach <tr> <td colspan="4">Total</td> <td>{{ $transactions->sum('calculateTotal') }}</td> </tr> </table> </body> </html> . اقتباس
0 Mustafa Suleiman نشر 29 فبراير أرسل تقرير نشر 29 فبراير بتاريخ 9 ساعة قال Beshoy Wageeh: @forelse($transactions as $transaction) <tr role="row"> <td>{{ $loop->iteration }}</td> <td>{{ $transaction->user->first_name }}</td> <td>{{ $transaction->num }} </td> <td>{{ $transaction->payed_at }}</td> @php $totalCredit += $transaction->credit; $totalDebit += $transaction->debit; @endphp <td>{{ $transaction->formatcurrncy($transaction->credit) }} </td> <td>{{ $transaction->formatcurrncy($transaction->debit) }} <td>{{ number_format($totalCredit - $totalDebit, 2) }}</td> </tr> @empty <tr> <td class="text-center" colspan="5"> {{ trans('client.report_msg') }}</td> </tr> @endforelse عند التجربة يظهر خطأ Undefined variable $totalCredit بالطبع فالكود ليس كامل، ذلك مثال فقط، عليك إنشاء نموذج ومتحكم، في حال لم تكن على دراية بذلك، فأرجو دراسة أساسيات لارافل. اقتباس
0 Beshoy Wageeh نشر 29 فبراير الكاتب أرسل تقرير نشر 29 فبراير بتاريخ 12 ساعة قال Mustafa Suleiman: بالطبع فالكود ليس كامل، ذلك مثال فقط، عليك إنشاء نموذج ومتحكم، في حال لم تكن على دراية بذلك، فأرجو دراسة أساسيات لارافل. كل شئ تم انشائه وموجود وبرضوا لم تعمل اقتباس
0 Beshoy Wageeh نشر 29 فبراير الكاتب أرسل تقرير نشر 29 فبراير بتاريخ 13 ساعة قال Mustafa Suleiman: بالطبع فالكود ليس كامل، ذلك مثال فقط، عليك إنشاء نموذج ومتحكم، في حال لم تكن على دراية بذلك، فأرجو دراسة أساسيات لارافل. بعد البحث وجدت ان الكود يقوم باعاده انشاء المتغير مع كل لفة في loop في البتالي لا يحتفظ ببيانات او قيمة private function calculateTotals($transactions) { $totals = []; foreach ($transactions as $transaction) { $previousTransactions = $transactions->filter(function ($t) use ($transaction) { return $t->payed_at <= $transaction->payed_at; }); $previousDebit = $previousTransactions->sum('debit'); $previousCredit = $previousTransactions->sum('credit'); $totals[$transaction->id] = [ 'transaction' => $transaction, 'total' => $previousCredit - $previousDebit, ]; } return $totals; } وهذه طريقة العرض @forelse($calc as $key=> $trans) <tr role="row"> <td>{{ $loop->iteration }}</td> <td>{{$trans['transaction']->user->first_name}}</td> <td>{{ $trans['transaction']->num }}</td> <td>{{ $trans['transaction']->payed_at }}</td> <td>{{ $trans['transaction']->formatcurrncy($trans['transaction']->credit) }}</td> <td>{{ $trans['transaction']->formatcurrncy($trans['transaction']->debit) }}</td> <td> {{$trans['transaction']->formatcurrncy($trans['total'])}} </td> </tr> @empty <tr> <td class="text-center" colspan="5"> {{ trans('client.report_msg') }}</td> </tr> @endforelse اقتباس
السؤال
Beshoy Wageeh
عايز اصمم تقرير دائن ومدين بالشكل ده
هجيب البيانات من قاعدة البيانات
بس عايز اعرف ازاي ابرمج خانه الاجمالي لكل صف
بحث يجمع الي قبله فقط
بحث يبقي اجمالي الدائن - اجمالي المدين
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.