Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

كيف أمرر قيمة متغير في كارد إلى نموذج فورم أو صفحة أخرى؟

أقوم بعمل موقع إلكتروني يقوم بعرض أسئلة.

عند الضغط على السؤال من المفترض أن يذهب إلى صفحة الإجابات و يعرض للمستخدم السؤال و إجاباته. الفكرة مشابهه لموقعكم.

حاولت بكل الطرق و لكن لا يتم إرسال رقم السؤال إلى الصفحة الثانية.

و إذا أردت إرساله إلى نموذج رد في نفس الصفحة للإجابة على السؤال فعند الضغط عليه لا يكون رقم السؤال صحيح حيث يتم إرسال رقم آخر سؤال فقط تم إرساله،

سأرفق لكم أجزاء من الكود و هو بلغة PHP.

هذا كود في صفحة الإستفسارات و الأسئلة

<?php 
$con= mysqli_connect("localhost","root","", "e-learning`");

// استعلام SQL لاسترداد جميع الأسئلة
$sql = "SELECT * FROM users, inquiries ,students WHERE inquiries.user_id = users.user_id AND students.user_id = users.user_id";

// تحديد حالة الفلتر المحدد
if (isset($_POST['filter'])) {
    $filter = $_POST['filter'];

    switch ($filter) {
    
      case 'new':
        // تصفية الأسئلة الحديثة
        $sql .= " ORDER BY inquiries.inquiries_date DESC";
        break;
    case 'old':
        // تصفية الأسئلة القديمة
        $sql .= " ORDER BY inquiries.inquiries_date ASC";
        break;
        case 'answered':
            // تصفية الأسئلة المجابة
            $sql .= " AND inquiries.answer_count > 0";
            break;
        case 'notanswer':
            // تصفية الأسئلة بدون إجابة
            $sql .= " AND inquiries.answer_count = 0";
            break;
        default:
            // لا يوجد فلتر محدد
            break;
    }
}

$r = mysqli_query($con, $sql);

if (mysqli_num_rows($r) > 0) {
  while ($rows = mysqli_fetch_assoc($r)) {
    $questionDate = $rows['inquiries_date'];
    $students_image = $rows['students_image'];

    $inquiries_id = $rows['idinquiries']; // تخزين رقم الاستفسار في متغير

    $diff = floor((strtotime(date("Y-m-d")) - strtotime($questionDate)) / (60 * 60 * 24));

    $encodedImage = base64_encode($students_image);
    
    echo "
    <!-- بداية كارد الاستفسار -->
    <a href='Answer.php?idinquiries=<?php echo $inquiries_id; ?>' style='text-decoration: none'>
        <div class='jumbotron jumbotron-fluid mm'>
            <div class='row'>
                <div class='col-2'>
                    <img src='data:image/jpeg;base64,$encodedImage' class='imag' alt='...'>
                </div>
                <div class='col-10'>
                    <div class='writer-div'>
                        <h5 class='name' style='font-weight:bold ;text-decoration: none; color:rgb(5, 5, 83) ;padding-top: 2%; font-size: x-large;'>".$rows['usersname']."</h5>
                        <p class='pr' style='margin-top: 4%;text-decoration: none; color: black;' class='lead'>".$rows['inquiries_text']."</p>
                    </div>
                </div>
            </div>
        </a>
        <div class='row mt-3'>
            <div class='col-lg-3 col-3'>
                <p class='paone'>منذ $diff يوم</p>
            </div>
            <div class='col-lg-3 col-3'>
                <p class='patwo'><a style='margin-left: 3%;'>".$rows['answer_count']."</a>إجابة</p>
            </div>
            <div class='col-lg-5 col-4'>
                <a style='color: #f5f5f5; text-decoration: none; margin-right: 10%; margin-left: 0%;' href='#'>
                    <button type='button' class='btn bm' data-bs-toggle='modal' data-bs-target='#exampleModal' data-inquiry-id='<?php echo $inquiries_id; ?>'>إضافة إجابة</button>
                </a>
            </div>
        </div>
    </div>
";
  }}

if (isset($_POST['sendanwSer'])) {
  // الحصول على قيم المتغيرات من النموذج
  $message = $_POST['message'];
  $imganwSer = $_POST['imgan'];
  $user_id = $_SESSION['user_id'];
  $inquiries_id = $_POST['idinquiries']; // استرداد رقم الاستفسار من النموذج

  // التحقق من وجود القيد الأجنبي في جدول inquiries قبل إدخاله في جدول responses
  $checkInquiryQuery = "SELECT idinquiries FROM inquiries WHERE idinquiries = '$inquiries_id'";
  $checkInquiryResult = mysqli_query($con, $checkInquiryQuery);

  if (mysqli_num_rows($checkInquiryResult) > 0) {
      // إذا تم العثور على القيد الأجنبي في جدول inquiries، قم بإدخال البيانات في جدول responses
      $sql = "INSERT INTO responses (responses, user_id, responses_image, idinquiries) VALUES ('$message', '$user_id', '$imganwSer', '$inquiries_id')";
      $run = mysqli_query($con, $sql);

      if ($run == true) {
          echo "<script>alert('تم إرسال إجابتك بنجاح');</script>";
      }
  } else {
      // إذا لم يتم العثور على القيد الأجنبي في جدول inquiries، قم بمعالجة الخطأ هنا
      echo "<script>alert('رقم الاستفسار غير صالح.');</script>";
  }
}
?>
<div class="modal" id="exampleModal" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content helpform">
      <div class="modal-header" style="justify-content:center;">
        <h1 class="modal-title text-center" id="exampleModalLabel" style="color: #0e0c0c;">ادخل اجابتك</h1>
      </div>
      <div class="modal-body">
        <form class="form" action="Question.php" method="POST">
          <div class="mb-3 text-right">
            <textarea class="form-control text-center" id="message-text" name="message"></textarea>
          </div>
          <div class="row text-center" style="justify-content: center;">
            <label for="file" class="file-upload-label">
              <div class="file-upload-design">
                <svg viewBox="0 0 640 512" height="1em">
                  <path d="M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm79-217c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V392c0 13.3 10.7 24 24 24s24-10.7 24-24V257.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80z"></path>
                </svg>
                <p>حمل الصورة او الملف</p>
              </div>
              <input id="file" type="file" name="imgan" />
            </label>
          </div>
         
          <input type='hidden' name='idinquiries' id='inquiriesIdInput' value=''>
      <div class="modal-footer">
        <button class="btnc" type="button" style="outline:none;" data-bs-dismiss="modal">اغلاق</button>
        <button class="btns " type="submit" style="outline: none;" name="sendanwSer">ارسال</button>
      </div>
    </form>
  </div>
</div>
</div>
<script>
    function setInquiryId(inquiryId) {
        document.getElementById('inquiriesIdInput').value = inquiryId;
    }
</script>

هذا كود صفحة الإجابات

<?php 
$con= mysqli_connect("localhost","root","", "e-learning`");

if (isset($_GET['idinquiries'])) {
  $inquiries_id = $_GET['idinquiries'];
  // استمرار العمل باستخدام $inquiriesid
} else {
  // إجراءات التعامل مع حالة عدم توفر inquiries_id
}
// استعلام SQL لاسترداد جميع الأسئلة
$sql = "SELECT * FROM users, inquiries ,students WHERE inquiries.user_id = users.user_id AND students.user_id = users.user_id
 AND inquiries.idinquiries = $inquiries_id " ;

$r = mysqli_query($con, $sql);

if (mysqli_num_rows($r) > 0) {
$rows = mysqli_fetch_assoc($r);
    $questionDate = $rows['inquiries_date'];
    $students_image = $rows['students_image'];

    $diff = floor((strtotime(date("Y-m-d")) - strtotime($questionDate)) / (60 * 60 * 24));

    $encodedImage = base64_encode($students_image);
    
    echo "
    <!-- بداية كارد الاستفسار -->
        <div class='jumbotron jumbotron-fluid mm'>
            <div class='row'>
                <div class='col-2'>
                    <img src='data:image/jpeg;base64,$encodedImage' class='imag' alt='...'>
                </div>
                <div class='col-10'>
                    <div class='writer-div'>
                        <h5 class='name' style='font-weight:bold ;text-decoration: none; color:rgb(5, 5, 83) ;padding-top: 2%; font-size: x-large;'>".$rows['usersname']."</h5>
                        <p class='pr' style='margin-top: 4%;text-decoration: none; color: black;' class='lead'>".$rows['inquiries_text']."</p>
                    </div>
                </div>
            </div>
        </a>
        <div class='row mt-3'>
            <div class='col-lg-3 col-3'>
                <p class='paone'>منذ $diff يوم</p>
            </div>
            <div class='col-lg-3 col-3'>
                <p class='patwo'><a style='margin-left: 3%;'>".$rows['answer_count']."</a>إجابة</p>
            </div>
            <div class='col-lg-5 col-4'>
                <a style='color: #f5f5f5; text-decoration: none; margin-right: 10%; margin-left: 0%;' href='#'>
                    <button type='button' class='btn bm' data-bs-toggle='modal' data-bs-target='#exampleModal'>إضافة إجابة</button>
                </a>
            </div>
        </div>
    </div>
";
  }
?>

أتمنى مساعدتي.

تعليقات 1

أضف تعليق

يجب تسجيل الدخول حتى تتمكن من إضافة تعليق أو رد.