Я создал страницу администрирования для своего сайта, которая содержит многочисленные формы, которые сохраняют, обновляют и удаляют данные в разные таблицы в моей базе данных.Сообщение Ajax для php для обновления mysql
В настоящее время у меня есть один файл PHP для каждой функции, которая выполняет запрос mysql в соответствии с моей командой ajax post. который немного выйдет из-под контроля.
, например, у меня есть файл для сохранения новой категории
$cataddname = $_POST['name'];
$area = $_POST['area'];
$shortname = preg_replace('/\s+/', '_', $cataddname);
$update_category = "INSERT INTO clet_faq_category (id, name, nickname, area) VALUES ('', '$cataddname', '$shortname', '$area')";
mysqli_query($db_connect, $update_category);
моих сохранить новые командные должности категории на данный файл:
тогда у меня есть файл, который сохраняет категорию редактирование:
$cataddname = $_POST['name'];
$area = $_POST['area'];
$id = $_POST['cid'];
$shortname = preg_replace('/\s+/', '_', $cataddname);
$update_category = "UPDATE clet_faq_category SET name='$cataddname', nickname='$shortname', area='$area' WHERE id = '$id'";
mysqli_query($db_connect, $update_category);
И еще один, чтобы удалить категорию:
$c_id = $_POST['delete_id'];
$sql_del = "DELETE FROM clet_faq_category WHERE id = '$c_id'";
$del_question = mysqli_query($db_connect, $sql_del);
тогда у меня есть вызов Ajax JQuery, который вызывает страницу:
function newcat(){
var id = "answer";
tinymce.execCommand('mceRemoveEditor', true, id);
var category = document.getElementById('newcategory').value;
var area = document.getElementById('area').value;
var dataString = 'name=' + category + '&area=' + area;
$.ajax({
type: "post",
url: "newcat.php?area_id=" + areaid,
data : {
'name': category,
'area': area,
'query' : query
},
cache: false,
success: function(html){
$('#category_table').html(html);
$('#cat-form').text("Category Saved");
}
});
return false;
}
И когда вы смотрите на них, это в значительной степени то же самое, это просто работает MySQL запросов.
Что я пытаюсь сделать, это немного упростить, я думал о передаче всего запроса через ajax в свой php-файл, но это не вариант, поскольку любой, кто может видеть мой файл js, сможет все мои запросы и имена таблиц, и все, что им нужно сделать, это отправить запрос на мою php-страницу и повредить всю мою БД.
, так что мой вопрос в том, есть ли способ сделать это умнее, возможно, создавая php-функции внутри одного и того же файла, который имеет category_delete(), category_add(), category_edit() в том же файле и использует ajax target каждая из этих категорий, по крайней мере, все мои функции и запросы будут находиться в одном месте не в нескольких отдельных файлах, если вы знаете, что я имею в виду.
Бросьте эти фрагменты php в класс ... ну, вы должны убедиться, что это хорошо сформированный класс. – Rasclatt
как бы вы назвали класс на ajax? –
Я думаю, вам нужно поместить ваши отдельные php-файлы в хорошо сформированный класс запросов. Вы можете сделать что-то подобное с вашим ajax, но PHP кажется, что его можно было бы гораздо легче получить доступ – Rasclatt