Ik doe het zo:
<?php
header ('Content-type: text/html; charset=UTF-8');
ini_set ('display_errors', 1);
error_reporting (E_ALL);
require_once '../classes/class.core.php';
require_once '../classes/class.database.php';
require_once 'authenticatie.php';
$config = array (
'title' => 'hier je titel'
);
$html = '';
// updaten?
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset ($_POST['serial_nr'])) {
$i = 0;
foreach ($_POST['serial_nr'] as $title) {
$i++;
$sql = "
UPDATE pages
SET tracking_nr = " . $i . "
WHERE title = '" . mysql_real_escape_string ($title) . "'
";
if ($db->query ($sql)) {
$db->set_msg ('<p>Volgorde aangepast voor <strong>' . $title . '</strong></p>');
}
}
}
}
$html = '';
$sql = "
SELECT title, tracking_nr
FROM pages
ORDER BY tracking_nr ASC
";
$html .= '
<form method="post" action="">
<div id="sortable">
';
$i = 0;
foreach ($db->get_records ($sql) as $row) {
$i++;
$html .= PHP_EOL . '<p>' . $i . '. <input class="drag' . ($i % 2) . '" readonly="true" name="serial_nr[]" value="' . $row['title'] . '" /></p>';
}
$html .= '
</div>
<p><input type="submit" value="opslaan" /></p>
</form>
';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $config['title']; ?></title>
<link rel="stylesheet" type="text/css" media="screen" href="../css/reset.css" />
<link rel="stylesheet" type="text/css" media="screen" href="../css/leonivanveen.css" />
<link rel="stylesheet" type="text/css" media="screen" href="../css/beheer.css" />
<script type="text/javascript" src="../ajaxfilemanager/jscripts/tiny_mce/tiny_mce.js"></script>
<!--script type="text/javascript" src="../ajaxfilemanager/jscripts/general.js"></script-->
<script type="text/javascript" src="js/tiny_mce_init.js"></script>
<script type="text/javascript" src="../mootools/mootools.js"></script>
<script type="text/javascript" src="js/edit.js"></script>
<script type="text/javascript">
window.addEvent ('domready', function () {
new Sortables($('sortable'));
});
</script>
</head>
<body>
<div id="container">
<div id="header">
<h1><?php echo $config['title']; ?></h1>
</div>
<?php
// echo '<pre>' . print_r ($config, true) . '</pre>';
echo $db->get_errs_html ();
echo $db->get_msgs_html ();
?>
<?php
require 'nav.php';
echo $html;
?>
</div>
</body>
</html>
Link gekopieerd
Link gekopieerd
@Jan
Heb je dat toevallig ook ergens online staan?
Link gekopieerd
Ja, maar in een CMS van een klant. Heb je even een kwartiertje? Dan zet ik het wel online op mijn eigen site.
Link gekopieerd
Hier staat ie:
http://www.jankoehoorn.nl/volgorde.php
Ik heb het databasedeel er ff uitgehaald, maar da's redelijk simpel. Ik heb gewoon een tabel met paginatitels en volgnummers, die haal je op met een select query. Na verzenden van het formulier komen de pagina's in de nieuwe volgorde binnen. Dan laat je gewoon een tellertje meelopen voor het nieuwe volgnummer per titel en voer je een update query uit.
Link gekopieerd
Heel erg bedankt Jan. Ik kan nu sorteren. Na het sorteren doe ik direct een AJAX request die de volgorde update in de database.
Thx!
Link gekopieerd