I suppose what I am asking is really easy for most of you. I want to reload a div without reloading the entire page. What's the best way to do it?
<div class="black_text" id="cp_in_content_div">
<?php
$id = $_GET["id"];
$result = mysql_query("SELECT * FROM Setting WHERE ID = $id");
$row = mysql_fetch_array($result);
switch ($_GET["action"])
{
case "delete":
if (!unlink("$_SERVER[DOCUMENT_ROOT]setting/$row[Filename]"))
{
echo "Error.";
header("Refresh: 2.5; URL=delete_setting.php?id=$id");
exit();
}
if (!mysql_query("DELETE FROM Setting WHERE ID = $id"))
{
echo "Error.";
header("Refresh: 2.5; URL=delete_setting.php?id=$id");
exit();
}
else
{
echo "Ok!";
header("Refresh: 1.25; URL=index.php");
}
break;
default:
echo "form";
}
?>
</div>
I need those header("Refresh:...") to only reload the div instead of the page.
jQuery.load() is probably the easiest way to load data asynchronously using a selector, but you can also use any of the jquery ajax methods (get, post, getJSON, ajax, etc.)
Note that load allows you to use a selector to specify what piece of the loaded script you want to load, as in
$("#mydiv").load(location.href + " #mydiv");
Note that this technically does load the whole page and jquery removes everything but what you have selected, but that's all done internally.