ايمن ميلاد نشر 8 أبريل أرسل تقرير نشر 8 أبريل السلام عليكم اقوم بتحديث البيانات في جدول people وجدول employees لماذا لم يتم تحديث البيانات <?php include('header.php'); $employee_id = $_GET['id']; $sql = "SELECT people.*, employees.* FROM people INNER JOIN employees ON people.id = employees.person_id WHERE people.id = ?"; $stmt = $con->prepare($sql); $stmt->bind_param("i", $employee_id); $stmt->execute(); $result = $stmt->get_result(); $employee = $result->fetch_assoc(); ?> <head> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> <style> .rak { width: 400px; height: 300px; font-size: 14px !important; } </style> </head> <div class="col-md-9 pan1"> <ol class="breadcrumb" style="background-color: #fff; padding: 8px; color: #000; font-size: 16px;"> <li><a href="student.php">الموظفين</a></li> <li class="active">تعديل بيانات الموظف</li> </ol> </div> <div class="row"> <div class="col-md-9 pan1"> <div class="panel" style="color: #000;"> <div class="panel-body" style="padding: 25px 40px;"> <form method="POST" enctype="multipart/form-data"> <input type="hidden" name="id" value="<?php echo $employee['id']; ?>"> <div class="row"> <div class="col-md-4"> <div class="form-group"> <label>اسم الموظف</label> <input name="name" type="text" class="form-control" value="<?php echo $employee['name']; ?>" required> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>الرقم الوطني</label> <input name="N_id" type="text" class="form-control" value="<?php echo $employee['N_id']; ?>" required> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>تاريخ الميلاد</label> <input name="birth_date" type="date" class="form-control" value="<?php echo $employee['birth_date']; ?>" required> </div> </div> </div> <div class="row"> <div class="col-md-4"> <div class="form-group"> <label>البلد</label> <input name="country" type="text" class="form-control" value="<?php echo $employee['country']; ?>" required> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>المدينة</label> <input name="city" type="text" class="form-control" value="<?php echo $employee['city']; ?>" required> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>المنطقة</label> <input name="street_address" type="text" class="form-control" value="<?php echo $employee['street_address']; ?>" required> </div> </div> </div> <div class="row"> <div class="col-md-4"> <div class="form-group"> <label>الجنس</label> <select name="gender" class="form-control" required> <option value="ذكر" <?php echo ($employee['gender'] == 'ذكر') ? 'selected' : ''; ?>>ذكر</option> <option value="انثي" <?php echo ($employee['gender'] == 'انثي') ? 'selected' : ''; ?>>انثي</option> </select> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>الحالة الاجتماعية</label> <select name="marital_status" class="form-control" required> <option value="أعزب" <?php echo ($employee['marital_status'] == 'أعزب') ? 'selected' : ''; ?>>أعزب</option> <option value="متزوج" <?php echo ($employee['marital_status'] == 'متزوج') ? 'selected' : ''; ?>>متزوج</option> <option value="مطلق" <?php echo ($employee['marital_status'] == 'مطلق') ? 'selected' : ''; ?>>مطلق</option> <option value="ارمل" <?php echo ($employee['marital_status'] == 'ارمل') ? 'selected' : ''; ?>>ارمل</option> </select> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>البريد الالكتروني</label> <input name="email" type="email" class="form-control" value="<?php echo $employee['email']; ?>"> </div> </div> </div> <div class="row"> <div class="col-md-4"> <div class="form-group"> <label>رقم الهاتف</label> <input name="phone" type="text" class="form-control" value="<?php echo $employee['phone']; ?>"> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>نوع التوظيف</label> <select name="type" class="form-control" required> <option value="تعيين" <?php echo ($employee['type'] == 'تعيين') ? 'selected' : ''; ?>>تعيين</option> <option value="عقد" <?php echo ($employee['type'] == 'عقد') ? 'selected' : ''; ?>>عقد</option> <option value="إعارة" <?php echo ($employee['type'] == 'إعارة') ? 'selected' : ''; ?>>إعارة</option> <option value="ندب" <?php echo ($employee['type'] == 'ندب') ? 'selected' : ''; ?>>ندب</option> </select> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>الدرجة الوظيفية</label> <input name="degree" type="number" class="form-control" value="<?php echo $employee['degree']; ?>"> </div> </div> </div> <div class="row"> <div class="col-md-4"> <div class="form-group"> <label>تاريخ الحصول علي الدرجة</label> <input name="degree_date" type="date" class="form-control" value="<?php echo $employee['degree_date']; ?>"> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>حالة الموظف</label> <select name="status" class="form-control" required> <option value="يعمل" <?php echo ($employee['status'] == 'يعمل') ? 'selected' : ''; ?>>يعمل</option> <option value="مفصول" <?php echo ($employee['status'] == 'مفصول') ? 'selected' : ''; ?>>مفصول</option> <option value="مستقيل" <?php echo ($employee['status'] == 'مستقيل') ? 'selected' : ''; ?>>مستقيل</option> <option value="متقاعد" <?php echo ($employee['status'] == 'متقاعد') ? 'selected' : ''; ?>>متقاعد</option> <option value="موقوف" <?php echo ($employee['status'] == 'موقوف') ? 'selected' : ''; ?>>موقوف</option> </select> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>تاريخ استحقاق الشهادة</label> <input name="due" type="date" class="form-control" value="<?php echo $employee['due']; ?>"> </div> </div> </div> <div class="row"> <div class="col-md-4"> <div class="form-group"> <label>المؤهل في القرار</label> <input name="qualification" type="text" class="form-control" value="<?php echo $employee['qualification']; ?>" placeholder="ادخل اسم المؤهل"> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>تاريخ المباشرة</label> <input name="start_date" type="date" class="form-control" value="<?php echo $employee['start_date']; ?>"> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>رقم القرار</label> <input name="res_num" type="text" class="form-control" value="<?php echo $employee['res_num']; ?>" placeholder=""> </div> </div> </div> <div class="row"> <div class="col-md-4"> <div class="form-group"> <label>الإدارة</label> <select name="section_id" id="section_id" class="form-control" onchange="loadSubSections(this.value)" required> <?php $sql_sections = "SELECT id, name FROM sub_sections WHERE parent_id IS NULL"; $result_sections = $con->query($sql_sections); while ($row = $result_sections->fetch_assoc()) { $selected = ($row['id'] == $employee['section_id']) ? 'selected' : ''; echo '<option value="' . $row['id'] . '" ' . $selected . '>' . $row['name'] . '</option>'; } ?> </select> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>القسم</label> <select name="sub_section_id" id="sub_section_id" class="form-control" required> <option value="">اختر قسم</option> <?php $sql_sub_sections = "SELECT id, name FROM sub_sections WHERE parent_id = ?"; $stmt_sub_sections = $con->prepare($sql_sub_sections); $stmt_sub_sections->bind_param("i", $employee['section_id']); $stmt_sub_sections->execute(); $result_sub_sections = $stmt_sub_sections->get_result(); while ($row = $result_sub_sections->fetch_assoc()) { $selected = ($row['id'] == $employee['sub_section_id']) ? 'selected' : ''; echo '<option value="' . $row['id'] . '" ' . $selected . '>' . $row['name'] . '</option>'; } ?> </select> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>التخصص</label> <select name="specialties_id" id="specialties_id" class="form-control" required> <?php // استعلام لجلب التخصصات $sql_specialties = "SELECT id, name FROM specialties"; $result_specialties = $con->query($sql_specialties); // عرض خيارات التخصصات while ($row = $result_specialties->fetch_assoc()) { $selected = ($row['id'] == $employee['specialty_id']) ? 'selected' : ''; echo '<option value="' . $row['id'] . '" ' . $selected . '>' . $row['name'] . '</option>'; } ?> </select> </div> </div> </div> <div class="row"> <div class="col-md-4"> <div class="form-group"> <label>اسم المصرف</label> <select name="bank_id" id="bank_id" class="form-control" required> <?php $sql_banks = "SELECT id, name FROM banks"; $result_banks = $con->query($sql_banks); while ($row = $result_banks->fetch_assoc()) { $selected = ($row['id'] == $employee['bank_id']) ? 'selected' : ''; echo '<option value="' . $row['id'] . '" ' . $selected . '>' . $row['name'] . '</option>'; } ?> </select> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>فرع المصرف</label> <input type="text" name="branch" class="form-control" value="<?php echo $employee['branch']; ?>"> </div> </div> <div class="col-md-4"> <div class="form-group"> <label>رقم الحساب</label> <input type="text" name="account_num" class="form-control" value="<?php echo $employee['account_num']; ?>"> </div> </div> </div> <div class="row"> <div class="col-md-4"> <div class="form-group"> <button name="submit" type="submit" class="btn btn-primary">تحديث <span class="ion-android-update"></span></button> <button type="reset" class="btn btn-danger">إلغاء <span class="ion-android-delete"></span></button> </div> </div> </div> </form> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $id = $_POST['id']; $name = $_POST['name']; $N_id = $_POST['N_id']; $birth_date = $_POST['birth_date']; $country = $_POST['country']; $city = $_POST['city']; $street_address = $_POST['street_address']; $gender = $_POST['gender']; $marital_status = $_POST['marital_status']; $email = $_POST['email']; $phone = $_POST['phone']; $type = $_POST['type']; $degree = $_POST['degree']; $degree_date = $_POST['degree_date']; $status = $_POST['status']; $due = $_POST['due']; $qualification = $_POST['qualification']; $start_date = $_POST['start_date']; $res_num = $_POST['res_num']; $section_id = $_POST['section_id']; $sub_section_id = $_POST['sub_section_id']; $specialties_id = $_POST['specialties_id']; $bank_id = $_POST['bank_id']; $branch = $_POST['branch']; $account_num = $_POST['account_num']; // تحديث بيانات الشخص $sql_update = "UPDATE people SET name = ?, N_id = ?, birth_date = ?, country = ?, city = ?, street_address = ?, gender = ?, marital_status = ?, email = ?, phone = ? WHERE id = ?"; $stmt_update = $con->prepare($sql_update); $stmt_update->bind_param("ssssssssssi", $name, $N_id, $birth_date, $country, $city, $street_address, $gender, $marital_status, $email, $phone, $id); if ($stmt_update->execute()) { // تحديث بيانات الموظف $sql_update_employee = "UPDATE employees SET person_id = ?, `type` = ?, degree = ?, degree_date = ?, status = ?, due = ?, qualification = ?, start_date = ?, res_num = ?, section_id = ?, sub_section_id = ?, specialty_id = ?, bank_id = ?, branch = ?, account_num = ? WHERE person_id = ?"; $stmt_update_employee = $con->prepare($sql_update_employee); // تأكد من أن لديك 16 متغيرًا هنا $stmt_update_employee->bind_param("ssssssssssssssss", $person_id, $type, $degree, $degree_date, $status, $due, $qualification, $start_date, $res_num, $section_id, $sub_section_id, $specialties_id, $bank_id, $branch, $account_num, $id); if ($stmt_update_employee->execute()) { echo "<script> Swal.fire({ title: 'رسالة تأكيد', text: 'تم تحديث بيانات الموظف بنجاح!', icon: 'success', customClass: 'rak', }); </script>"; echo '<meta http-equiv="refresh" content="2;url=people.php" />'; } else { echo "خطأ في تحديث بيانات الموظف: " . $stmt_update_employee->error; } } else { echo "خطأ في تحديث البيانات: " . $stmt_update->error; } } ?> </div> </div> </div> </div> <script> function loadSubSections(parentId) { var xhr = new XMLHttpRequest(); xhr.open("GET", "get_sub_sections.php?parent_id=" + parentId, true); xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { document.getElementById("sub_section_id").innerHTML = xhr.responseText; } }; xhr.send(); } </script> <?php include('footer.php'); ?> قمت بحل مشكلة 1 اقتباس
0 Mustafa Suleiman نشر 8 أبريل أرسل تقرير نشر 8 أبريل عليك تصحيح جملة UPDATE بإزالة person_id = ?, من الجزء SET. كالتالي: $sql_update_employee = "UPDATE employees SET `type` = ?, degree = ?, degree_date = ?, status = ?, due = ?, qualification = ?, start_date = ?, res_num = ?, section_id = ?, sub_section_id = ?, specialty_id = ?, bank_id = ?, branch = ?, account_num = ? WHERE person_id = ?"; ويجب وجود عمود باسم specialty_id تفقده في قاعدة البيانات. ثم تصحيح استدعاء bind_param لجدول employees باستخدم 15 متغيرًا مطابقًا لعلامات الاستفهام الـ 15 في الاستعلام السابق مع كتابة $id للمتغير الأخير الخاص بجملة WHERE. مع استخدم الأنواع الصحيحة وهي i للأرقام الصحيحة، s للسلاسل النصية، d للأرقام العشرية، تفقد أنواع الأعمدة في قاعدة البيانات أولاً ثم عدل الاستعلام التالي: $specialty_id = $_POST['specialties_id']; $sql_update_employee = "UPDATE employees SET `type` = ?, degree = ?, degree_date = ?, status = ?, due = ?, qualification = ?, start_date = ?, res_num = ?, section_id = ?, sub_section_id = ?, specialty_id = ?, bank_id = ?, branch = ?, account_num = ? WHERE person_id = ?"; $stmt_update_employee = $con->prepare($sql_update_employee); $types = "sissssssiiiissi"; // 15 حرفًا $stmt_update_employee->bind_param( $types, $type, $degree, $degree_date, $status, $due, $qualification, $start_date, $res_num, $section_id, $sub_section_id, $specialty_id, $bank_id, $branch, $account_num, $id ); 1 اقتباس
السؤال
ايمن ميلاد
السلام عليكم اقوم بتحديث البيانات في جدول people وجدول employees
لماذا لم يتم تحديث البيانات
قمت بحل مشكلة
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.