login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Veld 'positie' veranderen voor andere volgorde van menu (Opgelost)

Offline marcodeg - 24/09/2008 01:41 (laatste wijziging 24/09/2008 03:45)
Avatar van marcodegNieuw 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 :
  1. <?php
  2. function increase_positions($pos)
  3. {
  4. global $conn;
  5. $subjects = get_all_subjects();
  6. while ($sub = mysql_fetch_array($subjects))
  7. {
  8. if ($pos >= $sub['position'])
  9. {
  10. $new_pos = $pos;
  11. $new_pos ++;
  12. $pos ++;
  13.  
  14. $query = "UPDATE subjects SET position = {$new_pos}";
  15. $result = mysql_query($query, $conn);
  16. confirm_query($result);
  17. }
  18. }
  19. }
  20. ?>

De functie heb ik verwerkt in een if statement :
  1. <?php
  2. $position = mysql_prep($_POST['position']);
  3. ?>
  4. <?php if (increase_positions($position)) { .... } else
  5. die("Database query failed: !!!" . mysql_error()); ?>


Hij komt er niet doorheen. Hij zegt : Database query failed: !!!
maar zonder mysql error.

Heeft er iemand raad ?:)

3 antwoorden

Gesponsorde links
Offline Abbas - 24/09/2008 03:47
Avatar van Abbas Gouden medaille

Crew .NET
marcodeg schreef:
Heeft er iemand raad ?
Ja, namelijk codetags gebruiken!!!
Offline marcodeg - 24/09/2008 08:38
Avatar van marcodeg Nieuw lid Ja sorry, ik zal er in het vervolg rekening meehouden.
Ik heb het probleem al opgelost :

  1. <?php
  2.  
  3. if(is_int($position)) {
  4. $sQrycheck = 'UPDATE subjects SET position = position + 1 WHERE position >= '.(int)$position;
  5. mysql_query($sQrycheck) or die('query mislukt');
  6. if (!mysql_affected_rows() >= 1) {
  7. die ("De positie van de menu items konden niet worden veranderd");
  8. }
  9. } else die ('query mislukt');
  10. ?>

Offline Analog - 24/09/2008 08:45 (laatste wijziging 24/09/2008 08:46)
Avatar van Analog HTML interesse n/m zie dat je het al hebt opgelost 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.191s