Nieuw lid |
|
Ik ben een website aan het maken en wil daar in een simpel cms systeempje verwerken.
Nu wil ik dat ik via dat systeem nieuwe menu items kan toevoegen en direct opgeslagen worden in mysql. Dat is al gelukt. Ik heb echter ook een veld 'positie' toegevoegd waardoor het mogelijk zou moeten worden om de positie van de menu items te veranderen of aan te passen. Bijv. ik heb nu 5 menu items : home, diensten, over ons, agenda, foto's.
respectievelijk op pos. 1,2,3,4,5. Nu wil ik als ik via het <input> veld een nieuw item aanmaak dat ik op pos. 3 wil hebben, dat automatisch de huidige 3,4 en 5 één positie omhoog gaan. Ik heb overal gekeken onder "change position mysql" maar heb niets kunnen vinden.
Ben heel lang aan het goochelen geweest met een functie :
<?php
function increase_positions($pos)
{
global $conn;
$subjects = get_all_subjects();
while ($sub = mysql_fetch_array($subjects))
{
if ($pos >= $sub['position'])
{
$new_pos = $pos;
$new_pos ++;
$pos ++;
$query = "UPDATE subjects SET position = {$new_pos}";
$result = mysql_query($query, $conn);
confirm_query($result);
}
}
}
?>
<?php function increase_positions($pos) { $subjects = get_all_subjects(); { if ($pos >= $sub['position']) { $new_pos = $pos; $new_pos ++; $pos ++; $query = "UPDATE subjects SET position = {$new_pos}"; confirm_query($result); } } } ?>
De functie heb ik verwerkt in een if statement :
<?php
$position = mysql_prep($_POST['position']);
?>
<?php if (increase_positions($position)) { .... } else
die("Database query failed: !!!" . mysql_error()); ?>
<?php $position = mysql_prep($_POST['position']); ?> <?php if (increase_positions($position)) { .... } else
Hij komt er niet doorheen. Hij zegt : Database query failed: !!!
maar zonder mysql error.
Heeft er iemand raad ?:)
|