سلام وقت بخیر
من از طریق php و ajax بخش دسته بندی محصولات رو توی دیتابیس ذخیره و حذف کردم ولی برای برای ویرایش به مشکل خوردم
اولین باره دارم انجام میدم با ایجکس نیاز به راهنمایی دارم ، مشکلی که دارم دیتا توی دیتابیس اپدیت نمیشه
وردامپ میگیرم دیتارو نمایش میده ولی ذخیره نمیشه
<a data-toggle="modal" data-target="#editCategoryModal" id="editcategory" class="btn btn-primary text-light prepareEditCategory">ویرایش</a>
فرم ویرایش
<div id="editCategoryModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">ویرایش اطلاعات</h4>
</div>
<div class="modal-body">
<div id="resultEditCategory"></div>
<form method="post" id="frmEditCategory">
<input type="hidden" id="editCategoryId" name="id" value="">
<div class="form-group">
<label>نام دسته بندی:</label>
<input type="text" class="form-control" name="title" id="editCategoryTitle">
</div>
<div class="form-group">
<button class="col-lg-12 btn btn-primary" id="editCategoryButton">ویرایش دسته بندی</button>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">خیر</button>
</div>
</div>
</div>
</div>
دریافت اطلاعات
<?php
require_once("../partial/SessionAdmin.php");
require_once("../../config/mode.php");
require_once("../../config/dbconfig.php");
if ($_POST) {
$id = $_POST['id'];
$stmt = $connect->prepare("SELECT * FROM category WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
$category = $result->fetch_assoc();
echo json_encode($category);
}
?>
جاوااسکریپت
function showListCategory() {
$.ajax({
url: "phpscript/listcategory.php",
type: "POST",
data: "",
success: function (response) {
$("#resultshowinfocategory").html(response);
setupDeleteCategory();
setupEditCategory();
}
});
}
function setupDeleteCategory() {
$(".prepareDeleteCategory").click(function () {
let id = $(this).attr("id");
$('#deletCategoryModal').modal('show');
$("#btndeletecategory").click(function () {
$.ajax({
url: "phpscript/deletecategory.php",
type: "POST",
data: { id: id },
success: function (response) {
$('#deletCategoryModal').modal('hide');
showListCategory();
}
});
});
});
}
function setupEditCategory() {
$(".prepareEditCategory").click(function () {
let id = $(this).attr("id");
$.ajax({
url: "phpscript/getcategory.php",
type: "POST",
data: { id: id },
success: function (data) {
var category = JSON.parse(data);
$("#editCategoryId").val(category.id);
$("#editCategoryTitle").val(category.title);
$('#editCategoryModal').modal('show');
}
});
$('#editCategoryModal').on('hidden.bs.modal', function () {
$("#frmEditCategory")[0].reset();
});
$("#frmEditCategory").off().submit(function (evt) {
evt.preventDefault();
var id = $("#editCategoryId").val();
var title = $("#editCategoryTitle").val();
$.ajax({
url: "phpscript/editcategory.php",
type: "POST",
data: { id: id, title: title },
success: function (response) {
$('#editCategoryModal').modal('hide');
$("#resultEditCategory").html(response);
showListCategory();
}
});
});
});
}
اپدیت
<?php
require_once("../partial/SessionAdmin.php");
require_once("../../config/mode.php");
require_once("../../config/dbconfig.php");
if ($_POST) {
$id = $_POST['id'];
$title = $_POST['title'];
// var_dump($_POST);
$command = "UPDATE category SET title=? WHERE id=?";
$stmt = $connect->prepare($command);
$stmt->bind_param("si", $title, $id);
if ($stmt->execute()) {
echo "دسته بندی با موفقیت ویرایش شد.";
} else {
echo "مشکلی در ویرایش دسته بندی به وجود آمد.";
}
}
سلام دوست عزیز
@paradox
به لینک زیر یه سری بزنید و طبق موارد پیش برید
https://sabzdanesh.com/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-ajax-%D8%AF%D8%B1-php/
اما مراحل به این صورت هست ک المنت یا دکمه مد نظر رو انتخاب میکنید
براش یه ایونت تعریف میکنید ک وقتی کلیک شد چه اتفاقاتی بیوفته و ....
مقدار رو از فیلد های مورد نظر میگیرید
و در قالب json - serialize یا آبجکت میفرستید به سمت سرور
و از اون ور هندل میکنید
تمامی مراحل رو هم از بخش کنسول مرور گر هم میتونید ببینید و خطایابی کنید
امیدوارم مفید بوده باشه
موفق باشید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟