2015-01-07 3 views
-3

У меня есть цикл php while, который выполняет итерацию через серию записей для печати. Это прекрасно работает. Теперь мне нужно добавить штрих-код isbn. У меня есть подобная программа, которая делает это через JavaScript, и я использовал его в функцию, то функция является:вызов функции javascript в цикле while

<script> 
function get_bar() { 
    var isbn = $('#isbn').val(); 
$("#barcode").barcode(isbn, "ean13",{barWidth:3.00, barHeight:35, fontSize:20, output:"bmp"}); 
} 

Я называю это в то время цикла только в конце. он работает для первой записи, в которой я нуждаюсь (вход), но не из последующих записей. Этот файл может содержать до 100 страниц, которые необходимо распечатать. вот пример кода PHP:

$result = $conn->query("select * from ship_assign where po = '$po' limit 0,10"); 
$pages = $result->num_rows; 

while ($row = $result->fetch_assoc()) { 
$isbn10 = $row['isbn10']; 
$isbn = $row['isbn13']; 
$qty = $row['qty']; 
$paid = $row['paid']; 
... 
?> 
<script> 
function get_bar() { 
    var isbn = $('#isbn').val(); 
$("#barcode").barcode(isbn, "ean13",{barWidth:3.00, barHeight:35, fontSize:20, output:"bmp"}); 
} 
</script> 
<div id="page"> 
<div id="topper"> 
<input id="isbn" value="<?php echo $isbn;?>" style="width: 200px;" placeholder="ISBN13" /> 
<script> 
get_bar(); 
</script> 

</body> 
</html> 
<?php 
$x++; 
} //END OF WHILE STATEMENT 

$conn->close(); 
?> 

Я устранил раздел HTML и PHP для краткости так как это все работает.
Как заставить эту функцию работать на всех итерациях цикла?

+2

к моменту запуска javascript php полностью завершен. php происходит на сервере и генерирует вывод (html и javascript), который отправляется клиенту. Клиент получает это и анализирует html и запускает javascript, полностью независимый от php на своем компьютере, а не на сервере. Код, который вы пишете, будет вызывать одну и ту же функцию снова и снова на своей машине, а не внутри цикла или чего-либо еще. PHP не запускает javascript, он выводит код javascript для запуска клиента. –

+0

Любая причина, по которой люди это делают? В аренде достаточно взрослого, чтобы объяснить мне, почему. Я, как и другие, размещенные здесь, пытается учиться. Благодарю. – Jim

ответ

4

PHP - это серверный язык. После того, как PHP-код завершен, он возвращает всю разметку, которую он сделал в браузере.

Другими словами, вы не можете запускать функцию javascript внутри php-кода.

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

+0

Смысл. Спасибо, что объяснил это мне. – Jim

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