login  Naam:   Wachtwoord: 
Registreer je!
 Forum

reeks checken en opschuiven

Offline RalphK87 - 13/05/2008 22:45
Avatar van RalphK87Nieuw lid Hoi!

Ik wil een interger in een database zetten. Nu kan deze integer al in de database staan. Als deze integer al aanwezig is, moet deze integer +1 krijgen.. maar zodra die integer aanwezig is, moet die ook weer +1 krijgen.

Dus alles moet eigenlijk een plaats opschuiven, totdat er een integer is die wel vrij is.

Voorbeeld:
Stel ik heb deze invullingen al in de database
naam1 > 1
naam2 > 2
naam3 > 3
naam4 > 5

ik wil er een naam aan toevoegen op > 1
Dan wordt het straks:
Nieuwenaam > 1
naam1 > 2
naam2 > 3
naam3 > 4 (deze was leeg)
naam5 > 5 (blijft hetzelfde)

Hoe kan ik dit het beste doen?
Ik was een functie hiervoor aan het schrijven maar het lukt me niet helemaal.
Ik dacht misschien had één van jullie een idee..

Dit had ik tot nu toe:
Plaatscode: 8289

het gaat dus om de catPos.

Wat ik hiermee wil bereiken is dat ik zelf posities kan meegeven aan bepaalde categorieen.
positie 1 komt bovenaan, positie 20 onderaan. Maar stel ik wil iets nieuws op positie 1 zetten dat dan alles opschuift, of een soort van overrule iets.

Kan iemand mijn probleem oplossen of heeft iemand een beter idee?

Alvast bedankt!

1 antwoord

Gesponsorde links
Offline marten - 16/05/2008 22:33 (laatste wijziging 16/05/2008 22:33)
Avatar van marten Beheerder
  1. // Volgorde veranderen (naar beneden)
  2. if (isset($_GET['move_down']))
  3. {
  4. // volgorde verwisselen met de volgorde van het onderliggende hoofdstuk
  5. $qOnderHoofdstuk = mysql_query("SELECT volgorde, hoofdmenu_id FROM hoofdmenu
  6. WHERE volgorde > ".$_GET['move_down']." ORDER BY volgorde ASC LIMIT 0,1") or die (mysql_error());
  7. if (mysql_num_rows($qOnderHoofdstuk) != 0)
  8. {
  9. $onderVolgorde = mysql_result($qOnderHoofdstuk, 0, "volgorde");
  10. $onderhoofdmenu_id = mysql_result($qOnderHoofdstuk, 0, "hoofdmenu_id");
  11.  
  12. mysql_query("UPDATE hoofdmenu SET volgorde = ".$onderVolgorde." WHERE hoofdmenu_id = ".$_GET['id']);
  13. mysql_query("UPDATE hoofdmenu SET volgorde = ".$_GET['move_down']." WHERE hoofdmenu_id = ".$onderhoofdmenu_id);
  14. }
  15. mysql_free_result($qOnderHoofdstuk);
  16. header ("location: ../?route=content/hoofdmenu_aanpassen");
  17. } else {
  18. header ("location: ../?route=content/hoofdmenu_aanpassen");
  19. }
  20.  
  21.  
  22. // Volgorde veranderen (naar boven)
  23. if (isset($_GET['move_up']))
  24. {
  25. // volgorde verwisselen met de volgorde van het bovenliggend hoofdstuk
  26. $qBovenHoofdstuk = mysql_query("SELECT volgorde, hoofdmenu_id FROM hoofdmenu
  27. WHERE volgorde < ".$_GET['move_up']." ORDER BY volgorde DESC LIMIT 0,1") or die (mysql_error());
  28. if (mysql_num_rows($qBovenHoofdstuk) != 0)
  29. {
  30. $bovenVolgorde = mysql_result($qBovenHoofdstuk, 0, "volgorde");
  31. $bovenhoofdmenu_id = mysql_result($qBovenHoofdstuk, 0, "hoofdmenu_id");
  32.  
  33. mysql_query("UPDATE hoofdmenu SET volgorde = ".$bovenVolgorde." WHERE hoofdmenu_id = ".$_GET['id']);
  34. mysql_query("UPDATE hoofdmenu SET volgorde = ".$_GET['move_up']." WHERE hoofdmenu_id = ".$bovenhoofdmenu_id);
  35. }
  36. mysql_free_result($qBovenHoofdstuk);
  37. header ("location: ../?route=content/hoofdmenu_aanpassen");
  38. } else {
  39. header ("location: ../?route=content/hoofdmenu_aanpassen");
  40. }


Dit is een voorbeeld code die ik gebruik. Deze heb ik weer via Joel.
Misschien dat je hier iets mee kan.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.177s