ajax/PHP грешка в кода

noxious

Registered
Здравейте!
Проблемът е, че не работи ajax-a, може би. Стига до зареждане...

index кода:
PHP:
<?php
$sql = "SELECT * FROM `orders` LIMIT 2";
$result = mysqli_query($mysqli_conn, $sql);
$order_id = '';
echo "
<div class=\"table-responsive\"><table class=\"table table-bordered\" id=\"load_data_table\">
	<thead>
		<tr>
			<th>№</th>
			<th>Поръчано от</th>
			<th>Дата на поръчване</th>
			<th>Статус</th>
			<th>Опции</th>
		</tr>
	</thead>
	<tbody>
";
while($row = mysqli_fetch_array($result)) {
	echo '
		<tr>
			<td style="text-align: center;">'.$row['id'].'</td>
			<td><a href="admin/request/'.$row['id'].'">'.$row['firstName'].' '.$row['lastName'].'</a></td>
			<td>'.$row['date'].'</td>
			<td>';
			if($row['approved'] == 0) { echo "<font color=\"gray\">Чакаща</font>"; }
			else if($row['approved'] == 1) { echo "<font color=\"green\">Одобрена</font>"; }
			else if($row['approved'] == 2) { echo "<font color=\"red\">Неодобрена</font>"; }
			echo '
			</td>
			<td style="text-align: center;">';
			if($row['approved'] == 0) {
				echo '<a href="admin/changestatus/'.$row['id'].'"><img src="images/admin/edit.png" style="width: 16px; height: 16px; border: 0;" /></a>';
			}
			echo '</td>
		</tr>
	';
	$order_id = $row["id"];
}
echo "
	</tbody>
	<tbody>
		<tr id=\"remove_row\">
			 <td colspan=\"5\"><button type=\"button\" data-vid=\"".$order_id."\" id=\"btn_more\" class=\"btn btn-success form-control\">повече</button></td>
		</tr>
	</tbody>
</table></div>
";
echo '<div style="padding-bottom: 25%;"></div>';
?>

load_data.php
PHP:
<?php
include "config.php";
$output = '';
$order_id = '';
sleep(1);
$sql = "SELECT * FROM `orders` WHERE id > ".$_POST['last_order_id']." LIMIT 2";
$result = mysqli_query($mysqli_conn, $sql);
if(mysqli_num_rows($result) > 0) {
	$output .= '<tbody>';
	while($row = mysqli_fetch_array($result)) {
		$order_id = $row["id"];
		$output .= '
				<tr>
					<td style="text-align: center;">'.$row['id'].'</td>
					<td><a href="admin/request/'.$row['id'].'">'.$row['firstName'].' '.$row['lastName'].'</a></td>
					<td>'.$row['date'].'</td>
					<td>';
					if($row['approved'] == 0) { echo "<font color=\"gray\">Чакаща</font>"; }
					else if($row['approved'] == 1) { echo "<font color=\"green\">Одобрена</font>"; }
					else if($row['approved'] == 2) { echo "<font color=\"red\">Неодобрена</font>"; }
					echo '
					</td>
					<td style="text-align: center;">';
					if($row['approved'] == 0) {
						echo '<a href="admin/changestatus/'.$row['id'].'"><img src="images/admin/edit.png" style="width: 16px; height: 16px; border: 0;" /></a>';
					}
					echo '</td>
				</tr>
		';
	}
	$output .= '
			</tbody>
			<tbody>
				<tr id=\"remove_row\">
					<td colspan=\"5\"><button type=\"button\" name=\"btn_more\" data-vid=\"'.$order_id.'\" id=\"btn_more\" class=\"btn btn-success form-control\">повече</button></td>
				</tr>
			</tbody>
	';
	echo $output;
}
?>

javascript код-а:
[js]<script type="text/javascript">
$(document).ready(function() {
$(document).on('click', '#btn_more', function() {
var last_order_id = $(this).data("vid");
$('#btn_more').html("Зареждане...");
$.ajax({
url: "load_data.php",
method: "POST",
data: {last_order_id:last_order_id},
dataType: "text",
success: function(data) {
if(data != '') {
$('#remove_row').remove();
$('#load_data_table').append(data);
} else {
$('#btn_more').html("няма повече");
}
}
});
});
});
</script>
[/js]

Благодаря предварително!
 
Предполагам си взел код на готово или не знам, за какво ти е sleep(1), знаеш ли защо се ползва и ако да - каква е целта?

- Прегледай в конзолата на браузъра дали праща, какво праща и дали е верен пътя до тоя файл load_data.php

- защо ползваш dataType при ajax-а, няма смисъл освен ако изришно не казваш тва е xml, json и .т.н

- Виж дали имаш това data-vid, дали се взима от js и дали се праща.

С една дума отваряш браузъра, натискаш F12 -> мрежа(network) и почваш да следиш до къде пращат ajax-вете и така се намира проблема :) :?:
 
Не излиза нищо като нали съм цъкнал на Start recording и като цъкна на повече, нищо не излиза.
 
На мен това ми помогна :)
https://www.youtube.com/watch?v=PwoT18tp6Hs
Виж клипа ще разбереш какво иска да каже joTunkiq.
 
Намерих грешката, заради което не работеше (last_order_id не съответстваше на едно от местата) само че резултата от load_data.php излиза в на нов ред в първата колона и няма никакъв стил.
 

Back
Горе