повторение php в javascript

#php #javascript

#php #javascript

Вопрос:

Привет, у меня есть следующий код, и мне было интересно, возможно ли повторить часть PHP, чтобы переменная javascript обновлялась, даже если в таблицу была добавлена новая строка?

 <script type="text/javascript" >
        var total_rows = [];
 <?php
 $con = mysql_connect("localhost", "user", "password");
    $total = mysql_query("SELECT * FROM table");
$num_rows = mysql_num_rows($total);
 ?> 
var total_rows = "<?php echo $num_rows ; ?>";
</script>
  

Комментарии:

1. Повторите…. где? Когда?

2. PHP: на стороне сервера, JavaScript: на стороне клиента. Как только данные покидают сервер, PHP больше не существует.

3. Я думаю, вам нужно прочитать об AJAX

4. Не могли бы вы добавить пример желаемого результата?

5. вам нужно будет переместить часть php в отдельный скрипт и использовать AJAX для доступа к нему в вашем javascript

Ответ №1:

Не напрямую, потому что PHP работает только на стороне сервера и завершает выполнение к моменту выполнения вашего JS.

Хотя вы могли бы проверить это без перезагрузки страницы с помощью AJAX, я бы задался вопросом, полезно ли то, что вы делаете, в любом случае — клиент не должен заботиться о количестве строк в таблице как общем правиле — единственное реальное исключение, если вы создаете страницу управления базой данных, и даже тогда этополезность является спорной. Если вам нужно обновить / удалить строку из клиентского ввода, все, что вам нужно, это идентификатор строки, и если вы добавляете его, вы должны позволить базе данных сгенерировать для вас идентификатор строки с автоматически увеличивающимся первичным ключом.

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

Ответ №2:

Вы можете использовать AJAX для обновления частей вашей страницы без перезагрузки всей страницы. Вы должны изучить это. Хорошим руководством для начала будет http://www.w3schools.com/php/php_ajax_intro.asp .

Повторение кода PHP в самом HTML невозможно, поскольку код PHP недоступен на странице HTML. HTML-страница является результатом выполнения PHP-скрипта.

Ответ №3:

Вам нужно будет использовать AJAX, чтобы попасть в файл, который выбирает PHP и возвращает нужную строку.

Ответ №4:

Вам нужно будет обновить свой запрос, чтобы получить последнее количество, поэтому я бы сделал что-то вроде этого. в этом примере используется jquery: http://api.jquery.com/jQuery.get /

 function get_updated_rows(){       
    $.get('count.php', function(data) {
        var total_rows = data;
    }) 
    return total_rows;    
}
  

Вы count.php файл будет содержать php:

  <?php $con = mysql_connect("localhost", "user", "password");
           $total = mysql_query("SELECT * FROM table");
           $num_rows = mysql_num_rows($total); 
           echo $num_rows;
 ?> 
  

затем, когда вам понадобится обновленный счетчик, просто используйте свою функцию: get_updated_rows();

Комментарии:

1. Просто нет. PHP — это серверная часть, вы не можете просто выполнить из JS вот так. Ваша функция всегда будет возвращать значение, которое было сгенерировано при загрузке страницы.