#jquery #sql #wordpress
#jquery #sql #wordpress
Вопрос:
Я написал этот код под WordPress, и я хотел бы, чтобы при нажатии на мою ссылку ссылка больше не появлялась и запускался мой запрос wordpress.
У меня есть добавить
<?php wp_enqueue_script('jquery'); ?>
в моем header.php файл в разделе.
и вот мой код :
<script>
jQuery(document).ready(function(){
jQuery('a#valid').click(function(){
jQuery('#valid').hide();
$wpdb->insert($table, $data, $format);
echo "Merci $userName d'avoir validé le module <b> $pageActuelle </b>!";
});
});
</script>
<?php
global $wpbd;
$table = $wpdb->prefix.'modulesCours';
$pageActuelle = get_the_title();
$user_id = get_current_user_id( );
$userName = $current_user->user_nicename;
$pageUrl = get_page_link();
$data = array(
'module'=> $pageActuelle,
'user'=> $user_id,
'page'=> $pageUrl,);
$format = array('%s', '%d');
$requete = "SELECT * FROM $table WHERE user = $user_id AND module like '%$pageActuelle' AND page like '%$pageUr'";
$result = $wpdb->get_results($requete);
if ($result != null) {
echo "Désolé $userName mais vous aviez déjà validé le module <b> $pageActuelle </b>!";
}
else {
?>
<a href="#" id="valid">Valider le module</a>
<?php
}
это :
$wpdb->insert($table, $data, $format);
кажется, не работает.
Но работать без jQuery
Спасибо!
Комментарии:
1. Похоже, что ваш раздел скриптов вверху пытается смешать логику js с логикой php.
2. да, но я не знаю, как это сделать….
3. Потому что вы не можете смешивать два. Вы можете генерировать логику javascript с помощью PHP, но вы не можете напрямую смешивать их. PHP запускается на сервере, возвращает страницу в клиентский браузер, где затем выполняется javascript.
4. хорошо, спасибо, я попробую в этот понедельник 🙂
5. Чтобы запросить вставку из javascript браузера без полной загрузки страницы, вы, вероятно, захотите использовать AJAX. В Интернете должно быть множество инструкций и, возможно, даже несколько конкретных примеров, которые соответствуют тому, что вы хотите сделать. Или (особенно, если у вас возникли проблемы с ними) вы могли бы задать конкретный вопрос об этом или более широкий вопрос о том, как достичь вашей общей цели.