2015-10-15 3 views
0

Я использую fullcalendar.js, и календарь работает так, как сейчас. Если пользователь нажимает на запись в календаре, появляется модальная информация с некоторой информацией. Теперь мне нужно, чтобы информация внутри модала была информацией из базы данных, поэтому я хотел бы вставить некоторый PHP-код, но я понятия не имею, как это сделать.PHP-код в Javascript

Позвольте мне показать вам, какой PHP код, который я хотел бы использовать, так что данные из моей базы данных отображаются в модальном:

<?php 
    $dates=getPcalInfoOfHour($gl_userid,0,0); 
     for ($x=0;$x<count($dates["id"]);$x++) { 
      Title: '".$dates["title"][$x]."'; 
      Selected Date: '".$dates["date"][$x]."'; 
      Selected Time: '".$dates["start"][$x]."' '".$dates["end"][$x]."'; 
      Topic: '".$dates["topic"][$x]."'; 
      Location: '".$dates["location"][$x]."'; 
      Address: '".$dates["address"][$x]."'; 
     } 
?> 

Вот часть моего Javascript кодекса, где я хотел бы, чтобы войти мой код PHP:

eventClick: function(calEvent, jsEvent, view) { 

     //display a modal 
     var modal = 
     '<div class="modal fade">\ 
      <div class="modal-dialog">\ 
      <div class="modal-content">\ 
      <div class="modal-body">\ 
       <button type="button" class="close" data-dismiss="modal" style="margin-top:-10px;">&times;</button>\ 
       <label> <strong>Topic:</strong> Topic</label>\ 
       <label> <strong>Selected Dated:</strong> Date</label>\ 
       <label> <strong>Selected Time:</strong> Time</label>\ 
       <label> <strong>Title:</strong> Title</label>\ 
       <label> <strong>Location:</strong> Location</label>\ 
       <label> <strong>Address:</strong> Address</label>\ 
       <label> <strong>Phone:</strong> Phone</label>\ 
      </div>\ 
      <div class="modal-footer">\ 
       <button type="button" class="btn btn-sm" data-dismiss="modal"><i class="ace-icon fa fa-times"></i> Close Window</button>\ 
      </div>\ 
      </div>\ 
     </div>\ 
     </div>'; 

     var modal = $(modal).appendTo('body'); 

     modal.modal('show').on('hidden', function(){ 
      modal.remove(); 
     }); 

     console.log(calEvent.id); 
     console.log(jsEvent); 
     console.log(view); 

    } 

Я знаю, что PHP является языком на стороне сервера и JavaScript является языком на основе клиента, но там должен быть путь, что мои данные из базы данных будут показаны внутри модального я прав? Я немного знаю о PHP-программировании, но я никогда ничего не писал в JavaScript.

Я был бы очень признателен, если бы кто-нибудь мог сказать мне, как мой код должен выглядеть так, чтобы я получил свою информацию из базы данных внутри модального окна.

Спасибо, Крис

+0

вы можете писать, как 'вар PHP = 'и' alert (php) 'я думаю, его работа –

+0

Если данные заполнены пользователями, вы уязвимы для атак XSS. – GuyT

+0

Возможный дубликат [Доступ к переменной PHP в JavaScript] (http: // stackoverflow.com/questions/4287357/access-php-variable-in-javascript) – moonwave99

ответ

0

Я считаю, что это будет делать:

var js_string = "<?php echo $php_string; ?>"; 
0

Вы должны сделать запрос на сервер для PHP скрипт, что будет извлекать данные из БД и генерировать HTML.

Пример Javascript для использования с PHP генерируется HTML для модального:

$.post('/script_generating_html.php', params, function(response) { 
    var modal = $(response).appendTo('body'); 

    modal.modal('show').on('hidden', function(){ 
     modal.remove(); 
    }); 
}); 
0

думать об этом таким образом. PHP генерирует то, что браузер прочитает, прежде чем отправлять что-либо. Так что, если вы имели следующий код

<?php 
 
    $data = "Super Important"; 
 
?> 
 

 
<script> 
 
    alert("<?php print $data; ?>"); 
 
</script>

Это будет генерировать для клиента

<script> 
 
    alert("Super Important"); 
 
</script>

Если вы собираетесь работать с модифицирующими JavaScript с php, а также посмотреть на json_encode()

как еще один способ для того чтобы достигнуть то же самое является

<?php 
 
    $data = "Super Important"; 
 
?> 
 

 
<script> 
 
    alert(<?php print json_encode($data;) ?>); 
 
</script>

Смежные вопросы