У меня довольно сценарий, который добавляет элементы в таблицу. Мне нужно извлечь информацию из базы данных MySQL на основе UPC, которая передается через JavaScript.PHP в JavaScript с использованием document.write();
Я попытался: document.write("<?php echo '375'; ?>");
просто посмотреть, будет ли это работать, и как только сценарий попадет на эту строку, страница обновилась и отобразила пустую белую страницу.
The полного JavaScript ниже:
//setup before functions
var field = document.getElementById("UPC");
var typingTimer; //timer identifier
var doneTypingInterval = 1000; //time in ms, 1 seconds
//on keyup, start the countdown
$('#UPC').keyup(function(){
clearTimeout(typingTimer);
typingTimer = setTimeout(doneTyping, doneTypingInterval);
});
//on keydown, clear the countdown
$('#UPC').keydown(function(){
clearTimeout(typingTimer);
});
function doneTyping() {
//user is "finished typing," do something
if (field.value.length != 0) {
document.getElementById("noScan").className="hidden";
document.getElementById("checkout").className="";
document.getElementById("void").className="";
var upc=document.getElementById("UPC").value;
var price = document.write("<?php echo '375'; ?>");
var weight = parseInt(document.getElementById("weight").value);
var table=document.getElementById("ScannedItems");
var total = weight * price;
var row=table.insertRow(-1);
var cell1=row.insertCell(0);
var cell2=row.insertCell(1);
var cell3=row.insertCell(2);
var cell4=row.insertCell(3);
var cell5=row.insertCell(4);
var cell6=row.insertCell(5);
cell1.innerHTML=upc;
cell2.innerHTML="Example Description";
cell3.innerHTML = "$" + price.toFixed(2);
cell4.innerHTML = weight + " lbs";
cell5.innerHTML = "$" + total.toFixed(2);
cell5.setAttribute('data-total', total); // caches the total into data
cell6.innerHTML="<a class='add'><span class='glyphicon glyphicon-plus' style='padding-right:15px;'></span></a><a class='delete'><span class='glyphicon glyphicon-minus'></span></a>";
field.value ='';
var total = cell5.getAttribute('data-total');
var salesTax = Math.round(((total/100) * 8.25)*100)/100;
var totalAmount = (total*1) + (salesTax * 1);
document.getElementById('displaysubtotal').innerHTML="$" + (Math.floor(total * 100)/100).toFixed(2);
document.getElementById('displaytax').innerHTML="$" + salesTax;
document.getElementById('displaytotal').innerHTML="$" + totalAmount;
}
}
// Duplicate a scanned item
var $table = $('#ScannedItems');
$('#ScannedItems').on('click', '.add', function() {
var $tr = $(this).closest('tr').clone();
$table.append($tr);
});
// Remove a line item
var $table = $('#ScannedItems');
$('#ScannedItems').on('click', '.delete', function() {
var $tr = $(this).closest('tr').remove();
});
Я должен выяснить, как получить информацию из моей базы данных для данного проекта или будет терпеть неудачу.
Хорошо, поэтому я заново создал свой javascript для включения ajax. Теперь, как я могу получить вытащенные данные из базы данных обратно в javascript, чтобы отобразить его в таблице? –
Что бы вы эхо в своем PHP-код будет как ответ AJAX. Я рекомендую вам пройти учебник по AJAX (поверьте мне, это того стоит ... вы снова будете использовать AJAX). Для этого использования я бы рекомендовал вам вывести свой ответ из PHP в формате JSON.Затем он будет получен вашим ответом на вызов AJAX как объект/массив JS, который вы можете прокрутить, чтобы создать строки в таблице. – Travesty3