@sunnyrio

Как получить таблицу с сервера и отобразить ее на клиенте AJAX'ом jQuery?

После ввода информации форма отправляется на сервер там добавляется в текстовый файл, из этого файла полностью собирается таблица как вернуть эту таблицу на клиент и отобразить ее при помощи jQuery?

Клиент:
index.html
<form method="POST" id="addproduct" onsubmit="call()">
Производитель: <input type="text" name="inp1"><br />
Наименование: <input type="text" name="inp2"><br />
Цена: <input type="text" name="inp3"><br />
Количество: <input type="text" name="inp4"><br />
<input type="submit" value="Добавить">
</form>
<div id="results"></div>
<script type="text/javascript" language="javascript">
 	function call() {
 	  var msg   = $('#addproduct').serialize();
        $.ajax({
          type: 'POST',
          url: 'file_w_r.php',
          data: msg,
          success: function(data) {
            $('#results').html(data);
          },
          error:  function(xhr, str){
	    alert('Возникла ошибка: ' + xhr.responseCode);
          }
        });
 
    }
</script>

<script type="text/javascript" src="jquery-1.9.0.min.js"></script>


Сервер:
file_w_r.php
<?php
	$array = file('testfile.txt');
	$last_str = count($array) + 1;
	$rowsall = $last_str + 1;
	$br = ' :: ';
	$proi = $_POST['inp1'];
	$naim = $_POST['inp2'];
	$cena = $_POST['inp3'];
	$kolvo = $_POST['inp4'];
	$text .= $last_str . $br . $proi . $br . $naim . $br . $cena . $br . $kolvo . "\r\n";
	/*
	*
	*/
	$filename = 'testfile.txt';
	/*
	*
	*/
	$handler = fopen($filename, "a+");
	fwrite($handler, $text);
	
	$data = file($filename);
	
	$total_price = 0;
	$total_count = 0;
	?>
	<table border="1">
	<tr>
	<th rowspan="<?=$rowsall?>"></th>
	<th>Производитель</th>
	<th>Наименование</td>
	<th>Цена</th>
	<th>Кол-во</th>
	</tr>
	<?php
		foreach($data as $value):
		$value = explode(" :: ", $value);
		
		$total_price += $value[3];
		$total_count += $value[4];		
	?>
	<tr>
	<td><?=$value[1]?></td>
	<td><?=$value[2]?></td>
	<td><?=$value[3]?></td>
	<td><?=$value[4]?></td>	
	</tr>
	<?php
		endforeach;
	?>
	<tr><th>Итого:</th><td colspan="2"></td><td><?=$total_price?></td><td><?=$total_count?></td></tr>
	</table>
  • Вопрос задан
  • 380 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы