Goedendag,

Ik heb een site gemaakt waarin mensen hun trein vloot kunnen organizeren.
Echter als een user wat wil veranderen. Dan duurt dit soms enkele seconden voordat het zichtbaar is.

het veranderen gebeurt zo

user drukt op een select en kiest wat anders.
dan word jquery uitgevoerd en die laat een andere pagina in die pagina staat php die ervoor zorgt dat het wordt uitgevoerd.
Na uitvoering laat hij de website opnieuw zien.

de scripts
fleet.php

<?php
include('inc/config.php');
echo $UserFleet->Notice;
?>
<style>
#fleet .rTable {
  	display: table;
  	width: 100%;
}
#fleet .rTableRow {
  	display: table-row;
}
#fleet .rTableHeading {
  	display: table-header-group;
  	background-color: #ddd;
}
#fleet .rTableCell, .rTableHead {
  	display: table-cell;
  	padding: 3px 10px;
  	border: 1px solid #999999;
}
#fleet .rTableHeading {
  	display: table-header-group;
  	background-color: #ddd;
  	font-weight: bold;
}
#fleet .rTableFoot {
  	display: table-footer-group;
  	font-weight: bold;
  	background-color: #ddd;
}
#fleet .rTableBody {
  	display: table-row-group;
}
#AddFleet .rTable {
  	display: table;
  	width: 50%;
}
#AddFleet .rTableRow {
  	display: table-row;
}
#AddFleet .rTableHeading {
  	display: table-header-group;
  	background-color: #ddd;
}
#AddFleet .rTableCell, .rTableHead {
  	display: table-cell;
  	padding: 3px 10px;
  	border: 1px solid #999999;
	width: 100px;
}
#AddFleet .rTableHeading {
  	display: table-header-group;
  	background-color: #ddd;
  	font-weight: bold;
}
#AddFleet .rTableFoot {
  	display: table-footer-group;
  	font-weight: bold;
  	background-color: #ddd;
}
#AddFleet .rTableBody {
  	display: table-row-group;
}
</style>
<script type="text/javascript" language="JavaScript" src="js/jquery.js"></script>
<script type="text/javascript" language="JavaScript" src="js/jquery.confirm.min.js"></script>
<script>
function sendData(nr) {
	var data = $("#myform" + nr).serialize();
	
	console.log(data);
	
	$("#myForm" + nr).submit(function(event){
		event.preventDefault();
	});
	
	jQuery.ajax({
       url: "inc/FleetData.php?a=Update&" + data,
        datatype: "html",
        type: "GET",
        success:function(data)
        {
            if(data) {
                //$("#container").load(window.location + " #container");
				$('#fleet').html(data);
				//alert(data);
            } else {
                $("#fleet").load(window.location + " #container");
				//alert("Something is wrong with the update of the collor. Please notify an admin");
				//alert(data);
            }
        }
    });
}

function OrderBy(fieldName) {
	var data = fieldName;
	
	console.log(data);
	
	$.ajax({
		url: 'inc/FleetData.php?a=OrderBy&p=' + data,
		type: 'GET',
		dataType: 'HTML',
		timeout: 1000,
		success: function(response) {
			$("#fleet").html(response);
		}
	});
}

function AddTrain() {
	document.getElementById('box10').style.display = 'block';
	$.ajax({
		url: '/inc/trainFunctions.php?a=AddTrain',
		type: 'GET',
		dataType: 'HTML',
		timeout: 1000,
		success: function(response) {
			$("#box10").html(response);
		}
	});
}

function DeleteTrain(TrainId) {
	
	document.getElementById('box10').style.display = 'block';
	$.ajax({
		url: '/inc/deleteTrain.php?a=delete&sid=' + TrainId,
		type: 'GET',
		dataType: 'HTML',
		timeout: 1000,
		success: function(response) {
			$("#box10").html(response);
		}
	});

}

function EditField(nr) {
	var data = $("#myform" + nr).serialize();
	
	console.log(data);
	
	$.ajax({
		url: 'inc/FleetData.php?a=EditField&' + data,
		type: 'GET',
		dataType: 'HTML',
		timeout: 1000,
		success: function(response) {
			$("#fleet").html(response);
		}
	});
}

function UpdateGold(TrainId) {
	var data = TrainId;
	
	console.log(data);
	$.ajax({
		url: 'inc/FleetData.php?a=UpdateGold&p=' + data,
		type: 'GET',
		dataType: 'HTML',
		timeout: 1000,
		success: function(response) {
			$("#fleet").html(response);
		}
	});
}

</script>
<div id="box10"
	style="
	padding: 10px;
	background: #fff;
	border: 3px solid #ccc;
	box-shadow: 0 0 10px #ffffff;
	z-index: 1000;
	display: none;
	position: absolute;
	bottom: ;
	right: ; margin: 0 auto;"></div>
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
	if(isset($_POST['save'])) {
		$UserFleet->AddTrain(
			$_POST['train_name'],
			$_POST['train_image'],
			$_POST['train_power'],
			$_POST['Type'],
			$_POST['Set'],
			$_POST['Use'],
			$_POST['train_value'],
			$_POST['train_passenger'],
			$_POST['train_mail']
		);
	}
}
?>
<div id="AddFleet">
<h3>Add Train!</h3>
<form method="post" action="">
<div class="rTable">
		<div class="rTableHeading">
			<div class="rTableRow">
				<div class="rTableCell">Engine Name:</div>
				<div class="rTableCell"><input type="text" name="train_name" /></div>
			</div>
			<div class="rTableRow">
				<div class="rTableCell">Engine Image:</div>
				<div class="rTableCell"><input type="text" name="train_image" /></div>
			</div>
			<div class="rTableRow">
				<div class="rTableCell">Engine Power:</div>
				<div class="rTableCell"><input type="text" name="train_power" /></div>
			</div>
			<div class="rTableRow">
				<div class="rTableCell">Engine Type:</div>
				<div class="rTableCell"><select name="Type"><option value="0"></option><option value="1">Steam</option><option value="2">Diesel</option><option value="3">Electric</option><option value="4">Maglev</option></select></div>
			</div>
			<div class="rTableRow">
				<div class="rTableCell">Engine Set:</div>
				<div class="rTableCell"><select name="Set"><option value="0">No</option><option value="1">Yes</option></select></div>
			</div>
			<div class="rTableRow">
				<div class="rTableCell">Engine In Use:</div>
				<div class="rTableCell"><select name="Use"><option value="0">No</option><option value="1">Yes</option></select></div>
			</div>
			<div class="rTableRow">
				<div class="rTableCell">Engine Value(Idle):</div>
				<div class="rTableCell"><input type="text" name="train_value" /></div>
			</div>
			<div class="rTableRow">
				<div class="rTableCell">Engine Passengers:</div>
				<div class="rTableCell"><input type="text" name="train_passenger" /></div>
			</div>
			<div class="rTableRow">
				<div class="rTableCell">Engine Mail:</div>
				<div class="rTableCell"><input type="text" name="train_mail" /></div>
			</div>
			<div class="rTableRow">
				<div class="rTableCell">Engine Mail:</div>
				<div class="rTableCell"><input type="submit" name="save" value="Save Engine" /></div>
			</div>
		</div>
		<?php echo $UserFleet->Notice; ?>
	</div>
	</form>
</div>
<div id="fleet">
<div class="rTable">
	<div class="rTableHeading">
		<div class="rTableRow">
			<div class="rTableCell"> </div>
			<div class="rTableCell"> </div>
			<div class="rTableCell"> </div>
			<div class="rTableCell"> </div>
			<div class="rTableCell"> </div>
			<div class="rTableCell"> </div>
			<div class="rTableCell">Total Trains:<?php echo $UserFleet->GetTotalFleet(); ?></div>
			<div class="rTableCell">Gold to 1:</div>
			<div class="rTableCell"> </div>
			<div class="rTableCell"> </div>
			<div class="rTableCell">Gold to 8:</div>
			<div class="rTableCell">Pass. to 8</div>
			<div class="rTableCell">Mail to 8</div>
			<div class="rTableCell"> </div>
		</div>
		<div class="rTableRow">
			<div class="rTableHead">Color</div>
			<div class="rTableHead">Image</div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_name');">Name:</a></div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_power');">Power:</a></div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_type');">S/D/E/M</a></div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_set');">Set</a></div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_use');">In use</a>(<?php echo $UserFleet->GetTotalFleetInUse(); ?>)</div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_value');">Value(Idle)</a></div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_passenger');">Pass.(Idle)</a></div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_mail');">Mail(Idle)</a></div>
			<div class="rTableHead"><?php echo $Func->NumberFormat($UserFleet->GetTotalGoldPassMailTo8('total_gold')); ?></div>
			<div class="rTableHead"><?php echo $Func->NumberFormat($UserFleet->GetTotalGoldPassMailTo8('total_passenger')); ?></div>
			<div class="rTableHead"><?php echo $Func->NumberFormat($UserFleet->GetTotalGoldPassMailTo8('total_mail')); ?></div>
			<div class="rTableHead"> </div>
		</div>
		<!--Get Data from Database-->
		<?php
		$i = 2;
		foreach($UserFleet->GetFleet() AS $row)
		{
			echo '
			<div class="rTableRow">
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '">
					<select class="test" name="value" onchange="sendData('.$i.');" style="background-color: #'.$row['train_row_color'].';"> 
					<option value="" style="background-color: #ffffff"'; if($row['train_row_color'] == "") { echo 'selected'; } echo '></option>
					<option value="ff0000" style="background-color: #ff0000"'; if($row['train_row_color'] == "ff0000") { echo 'selected'; } echo '>Red</option>
					<option value="3000ff" style="background-color: #3000ff"'; if($row['train_row_color'] == "3000ff") { echo 'selected'; } echo '>Blue</option>
					<option value="36ff00" style="background-color: #36ff00"'; if($row['train_row_color'] == "36ff00") { echo 'selected'; } echo '>Green</option>
					<option value="e400ff" style="background-color: #e400ff"'; if($row['train_row_color'] == "e400ff") { echo 'selected'; } echo '>Purple</option>
					<option value="fff000" style="background-color: #fff000"'; if($row['train_row_color'] == "fff000") { echo 'selected'; } echo '>Yellow</option>
					<input type="hidden" name="field" value="train_row_color" />
					<input type="hidden" name="id" value="'.$row['id'].'" />
					</select>
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
				<form method="post" action="" id="myform' . ++$i . '" onchange="sendData('.$i.');"/>
						<input type="text" name="value" value="'.$row['train_image'].'" style="width: 200px;">
						<input type="hidden" name="field" value="train_image"/>
						<input type="hidden" name="id" value="'.$row['id'].'">
					</form>
				<img src="'.$row['train_image'].'" alt="" /></div>
				<div class="rTablecell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '" onchange="sendData('.$i.');"/>
						<input type="text" name="value" value="'.$row['train_name'].'">
						<input type="hidden" name="field" value="train_name"/>
						<input type="hidden" name="id" value="'.$row['id'].'">
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '" onchange="sendData('.$i.');"/>
						<input type="text" name="value" value="'.$row['train_power'].'" style="width: 50px;">
						<input type="hidden" name="field" value="train_power"/>
						<input type="hidden" name="id" value="'.$row['id'].'">
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '">
						<select name="value" onchange="sendData('.$i.');">
							<option value="1"';if($row['train_type'] == 1) { echo 'selected=selected'; } echo '>S</option>
							<option value="2"';if($row['train_type'] == 2) { echo 'selected=selected'; } echo '>D</option>
							<option value="3"';if($row['train_type'] == 3) { echo 'selected=selected'; } echo '>E</option>
							<option value="4"';if($row['train_type'] == 4) { echo 'selected=selected'; } echo '>M</option>
							<input type="hidden" name="field" value="train_type" />
							<input type="hidden" name="id" value="'.$row['id'].'" />
						</select>
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '"/>
						<select name="value"  onchange="sendData('.$i.');">
							<option value="0"';if($row['train_set'] == 0) { echo 'selected'; } echo '>0</option>
							<option value="1"';if($row['train_set'] == 1) { echo 'selected'; } echo '>1</option>
							<input type="hidden" name="field" value="train_set" />
							<input type="hidden" name="id" value="'.$row['id'].'" />
						</select>
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '">
						<select name="value" onchange="sendData('.$i.');">
							<option value="1"'; if($row['train_use'] == "1") { echo 'selected'; } echo '>1</option>
							<option value="0"'; if($row['train_use'] == "0") { echo 'selected'; } echo '>0</option>
							<input type="hidden" name="field" value="train_use" />
							<input type="hidden" name="id" value="'.$row['id'].'" />
						</select>
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '" onchange="sendData('.$i.');"/>
						<input type="text" name="value" value="'.$Func->NumberFormat($row['train_value']).'" style="width: 100px;">
						<input type="hidden" name="field" value="train_value"/>
						<input type="hidden" name="id" value="'.$row['id'].'">
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '" onchange="sendData('.$i.');"/>
						<input type="text" name="value" value="'.$Func->NumberFormat($row['train_passenger']).'" style="width: 100px;">
						<input type="hidden" name="field" value="train_passenger"/>
						<input type="hidden" name="id" value="'.$row['id'].'">
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '" onchange="sendData('.$i.');"/>
						<input type="text" name="value" value="'.$Func->NumberFormat($row['train_mail']).'" style="width: 100px;">
						<input type="hidden" name="field" value="train_mail"/>
						<input type="hidden" name="id" value="'.$row['id'].'">
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>'.$Func->NumberFormat($row['train_value'] * $row['train_use'] * 2.050015).'</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>'.$Func->NumberFormat($row['train_passenger'] * $row['train_use'] * 2.050015).'</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>'.$Func->NumberFormat($row['train_mail'] * $row['train_use'] * 2.050015).'</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form id="myform'.++$i.'" method="post">
						<img src="/images/check_off.png" style="width: 20px; height:20px;"onclick="DeleteTrain('.$row['id'].');"/>
						
						<input type="hidden" name="delete" value="delete"/>
						<input type="hidden" name="id" value="'.$row['id'].'" />
					</form>
				</div>
			</div>';
		}
		?>
		<!--End Get Data-->
	</div>
</div>
</div>


FleetData.php

<?php
include('config.php');
if($_GET['a'] == "Update") {
	$value = $Func->ReplaceDots($_GET['value']);
	$UserFleet->UpdateTrainRow($_GET['id'],$_GET['field'], $value);
	//echo $_GET['id'].'<br />'.$_GET['field'].'<br />'.$_GET['value'];
}
if($_GET['a'] == "OrderBy") {
	$UserFleet->FieldOrder = $_GET['p'];
	if($UserFleet->FieldOrder == $_GET['p']) {
		if($UserFleet->GetFleetFieldOrderBy($_GET['p']) == "asc") {
			$UserFleet->UpdateFleetFieldOrderBy($_GET['p'], "desc");
		} else {
			$UserFleet->UpdateFleetFieldOrderBy($_GET['p'], "asc");
		}
	}
}

//echo $UserFleet->OrderBy;
?>
<div id="fleet">
<div class="rTable">
	<div class="rTableHeading">
		<div class="rTableRow">
			<div class="rTableCell"> </div>
			<div class="rTableCell"> </div>
			<div class="rTableCell"> </div>
			<div class="rTableCell"> </div>
			<div class="rTableCell"> </div>
			<div class="rTableCell"> </div>
			<div class="rTableCell">Total Trains:<?php echo $UserFleet->GetTotalFleet(); ?></div>
			<div class="rTableCell">Gold to 1:</div>
			<div class="rTableCell"> </div>
			<div class="rTableCell"> </div>
			<div class="rTableCell">Gold to 8:</div>
			<div class="rTableCell">Pass. to 8</div>
			<div class="rTableCell">Mail to 8</div>
			<div class="rTableCell"> </div>
		</div>
		<div class="rTableRow">
			<div class="rTableHead">Color</div>
			<div class="rTableHead">Image</div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_name');">Name:</a></div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_power');">Power:</a></div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_type');">S/D/E/M</a></div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_set');">Set</a></div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_use');">In use</a>(<?php echo $UserFleet->GetTotalFleetInUse(); ?>)</div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_value');">Value(Idle)</a></div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_passenger');">Pass.(Idle)</a></div>
			<div class="rTableHead"><a href="#" onclick="OrderBy('train_mail');">Mail(Idle)</a></div>
			<div class="rTableHead"><?php echo $Func->NumberFormat($UserFleet->GetTotalGoldPassMailTo8('total_gold')); ?></div>
			<div class="rTableHead"><?php echo $Func->NumberFormat($UserFleet->GetTotalGoldPassMailTo8('total_passenger')); ?></div>
			<div class="rTableHead"><?php echo $Func->NumberFormat($UserFleet->GetTotalGoldPassMailTo8('total_mail')); ?></div>
			<div class="rTableHead"> </div>
		</div>
		<!--Get Data from Database-->
		<?php
		$i = 2;
		foreach($UserFleet->GetFleet() AS $row)
		{
			echo '
			<div class="rTableRow">
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '">
					<select class="test" name="value" onchange="sendData('.$i.');" style="background-color: #'.$row['train_row_color'].';"> 
					<option value="" style="background-color: #ffffff"'; if($row['train_row_color'] == "") { echo 'selected'; } echo '></option>
					<option value="ff0000" style="background-color: #ff0000"'; if($row['train_row_color'] == "ff0000") { echo 'selected'; } echo '>Red</option>
					<option value="3000ff" style="background-color: #3000ff"'; if($row['train_row_color'] == "3000ff") { echo 'selected'; } echo '>Blue</option>
					<option value="36ff00" style="background-color: #36ff00"'; if($row['train_row_color'] == "36ff00") { echo 'selected'; } echo '>Green</option>
					<option value="e400ff" style="background-color: #e400ff"'; if($row['train_row_color'] == "e400ff") { echo 'selected'; } echo '>Purple</option>
					<option value="fff000" style="background-color: #fff000"'; if($row['train_row_color'] == "fff000") { echo 'selected'; } echo '>Yellow</option>
					<input type="hidden" name="field" value="train_row_color" />
					<input type="hidden" name="id" value="'.$row['id'].'" />
					</select>
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";><img src="'.$row['train_image'].'" alt="" /></div>
				<div class="rTablecell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '" onchange="sendData('.$i.');"/>
						<input type="text" name="value" value="'.$row['train_name'].'">
						<input type="hidden" name="field" value="train_name"/>
						<input type="hidden" name="id" value="'.$row['id'].'">
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '" onchange="sendData('.$i.');"/>
						<input type="text" name="value" value="'.$row['train_power'].'" style="width: 50px;">
						<input type="hidden" name="field" value="train_power"/>
						<input type="hidden" name="id" value="'.$row['id'].'">
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '">
						<select name="value" onchange="sendData('.$i.');">
							<option value="1"';if($row['train_type'] == 1) { echo 'selected=selected'; } echo '>S</option>
							<option value="2"';if($row['train_type'] == 2) { echo 'selected=selected'; } echo '>D</option>
							<option value="3"';if($row['train_type'] == 3) { echo 'selected=selected'; } echo '>E</option>
							<option value="4"';if($row['train_type'] == 4) { echo 'selected=selected'; } echo '>M</option>
							<input type="hidden" name="field" value="train_type" />
							<input type="hidden" name="id" value="'.$row['id'].'" />
						</select>
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '"/>
						<select name="value"  onchange="sendData('.$i.');">
							<option value="0"';if($row['train_set'] == 0) { echo 'selected'; } echo '>0</option>
							<option value="1"';if($row['train_set'] == 1) { echo 'selected'; } echo '>1</option>
							<input type="hidden" name="field" value="train_set" />
							<input type="hidden" name="id" value="'.$row['id'].'" />
						</select>
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '">
						<select name="value" onchange="sendData('.$i.');">
							<option value="1"'; if($row['train_use'] == "1") { echo 'selected'; } echo '>1</option>
							<option value="0"'; if($row['train_use'] == "0") { echo 'selected'; } echo '>0</option>
							<input type="hidden" name="field" value="train_use" />
							<input type="hidden" name="id" value="'.$row['id'].'" />
						</select>
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '" onchange="sendData('.$i.');"/>
						<input type="text" name="value" value="'.$Func->NumberFormat($row['train_value']).'" style="width: 100px;">
						<input type="hidden" name="field" value="train_value"/>
						<input type="hidden" name="id" value="'.$row['id'].'">
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '" onchange="sendData('.$i.');"/>
						<input type="text" name="value" value="'.$Func->NumberFormat($row['train_passenger']).'" style="width: 100px;">
						<input type="hidden" name="field" value="train_passenger"/>
						<input type="hidden" name="id" value="'.$row['id'].'">
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form method="post" action="" id="myform' . ++$i . '" onchange="sendData('.$i.');"/>
						<input type="text" name="value" value="'.$Func->NumberFormat($row['train_mail']).'" style="width: 100px;">
						<input type="hidden" name="field" value="train_mail"/>
						<input type="hidden" name="id" value="'.$row['id'].'">
					</form>
				</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>'.$Func->NumberFormat($row['train_value'] * $row['train_use'] * 2.050015).'</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>'.$Func->NumberFormat($row['train_passenger'] * $row['train_use'] * 2.050015).'</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>'.$Func->NumberFormat($row['train_mail'] * $row['train_use'] * 2.050015).'</div>
				<div class="rTableCell" style="background-color: #'.$row['train_row_color'].'";>
					<form id="myform'.++$i.'" method="post">
						<img src="/images/check_off.png" style="width: 20px; height:20px;"onclick="DeleteTrain('.$row['id'].');"/>
						
						<input type="hidden" name="delete" value="delete"/>
						<input type="hidden" name="id" value="'.$row['id'].'" />
					</form>
				</div>
			</div>';
		}
		?>
		<!--End Get Data-->
	</div>
</div>
</div>


Het gaat dan om de functie sendData

Hopelijk zien jullie iets wat ik niet zie of wat er verbeterd kan worden.

Met vriendelijke groet,

Thomas de Vries.
Ik zou dan beginnen met het isoleren van je probleem. Er zal blijkbaar toch echt een functie zijn die voor vertraging lijkt te zorgen. Dus begin je functie eerst eens met een simpele query die volgens jouw niet vertraagd zou zijn. En bouw die functie steeds verder uit tot hoe het nu is, en controleer tussentijden wanneer het probleem optreedt.

Uiteindelijk moet je dan de bron van de traagheid kunnen vinden.
Hoelang duurt het uitvoeren van $query zelf?
Hoeveel resultaten heeft $query?
Hoeveel records heeft user_fleet?
Heeft de tabel user_fleet een index of foreign key op user_id? (en welke database engine gebruik je uberhaupt)
Thomas de vries op 03/03/2018 17:43:22

Hoi nee dit duurde 1 rij bijgewerkt. (Query duurde 0,0000 seconden.)
via php zelf duurt het soms tot 5 seconden tot ik de data terug krijg.
Denk zelf dat het laden van de fleetData.php te lang duurt.
Zet exact dezelfde query in een kort PHP script. Wel met gedeclareerde en ingevulde variabelen voorafgaand zodat de query 100% identiek is. Duurt dat ook 0,0000 seconden of slechts een paar millisec meer?? Het kan ook zijn dat er onderweg vanuit php naar MySQL in MySQL type conversie moet plaatsvinden en doorgaans worden dan je indexen genegeerd. Dit is een veel voorkomend tuning valkuiltje.

Hoi het probleem is gevonden.

vindt het wel vreemd dat hij dit doet.
in fleet.php heb ik nu dit


$query = $db->query('SELECT * FROM user_fleet WHERE user_id = "'.$User->User.'"');
while($row = $query->fetch_assoc())
{
	//rest van de code
}


Klik ik nu bijvoorbeeld op name om op alfabet te selecteren dan gaat die naar deze functie.


<script>
function OrderBy(fieldName) {
	var data = fieldName;
	
	console.log(data);
	
	$.ajax({
		url: 'inc/FleetData.php?a=OrderBy&p=' + data,
		type: 'GET',
		dataType: 'HTML',
		timeout: 1000,
		success: function(response) {
			$("#fleet").html(response);
		}
	});
}
</script>


Dan gaat die naar fleetData.php
daar staat dit in

$query = $db->query('SELECT id,user_id,train_name FROM user_fleet WHERE user_id = "100886610003250557837"');
while($row = $query->fetch_assoc())
{
	echo '
	<div class="rTableRow">
	<div class="rTablecell" style="background-color: #";>
					<form method="post" action="" id="myform1" onchange="sendData(1);"/>
						<input type="text" name="value" value="'.$row['train_name'].'">
						<input type="hidden" name="field" value="train_name"/>
						<input type="hidden" name="id" value="'.$row['id'].'">
					</form>
				</div></div>';
}


Op zich niks bijzonders maar zie nu dat die ongeveer 500x loopt door dezelfde query.
Nu heb ik wat dingen aangepast. waaronder hoe die de data terug geeft.

<script>
function OrderBy(fieldName) {
	var data = fieldName;
	console.log(data);
	
	$.ajax({
		type: 'GET',
		url: 'inc/FleetData.php?a=OrderBy&p=' + data,
		success: function(data) {
			$("#fleet").load(window.location + "#fleet"); <!--Deze is aangepast-->
		}
	});
}
</script>


fleetData.php

<?php
include('config.php');

if(isset($_GET['a']) == "OrderBy") {
	$UserFleet->FieldOrder = $_GET['p'];
	if($UserFleet->FieldOrder == $_GET['p']) {
		if($UserFleet->GetFleetFieldOrderBy($_GET['p']) == "asc") {
			$UserFleet->UpdateFleetFieldOrderBy($_GET['p'], "desc");
		} else {
			$UserFleet->UpdateFleetFieldOrderBy($_GET['p'], "asc");
		}
	}
}

?>


Nu werkt het wel en gaat het ook sneller. op een paar ms na

Reageren