login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Ophalen gegevens en weer invoeren

Offline edwin87 - 09/03/2007 15:13
Avatar van edwin87Nieuw lid Hallo,
Ik heb het volgende gedaan.
Wanneer ik een pagina aanmaak,
voegt hij gegevens toe in de tabel pagina en naar de tabel menu.
In het menu komt het pagina_id te staan en de pagina titel. Zodat dit op de frontend word weer gegeven.
Nu heb ik met mijn menu volgorde een oplossing bedacht zodat hij de menu order van een andere tabel haalt die op auto increment staat. Zo hoef je niet handmatig telkens een menu order in te vullen. Is lastig wanneer je tientallen links in je database hebt.
Is misschien niet de meest praktische oplossing maar was de enige oplossing die ik even zo kon verzinnen.

Nu wil ik dus graag dat ik het menu id kan ophalen en in de tabel menu_order zet. Zodat ik het later er weer kan uithalen en de het order_id weer kan invoegen in de tabel MENU. Zo kan ik gemakkelijk de volgorde laten bepalen.

http://www.plaatscode.be/4541/
Hier staat het script op regel 21 tot het einde gaat iets fout. Het id word niet ingevoerd in het veld menu_id van de tabel MENU ORDER.

Kan iemand mij hier mee helpen?
Bijvoorbaat dank,
Edwin Boezelman

6 antwoorden

Gesponsorde links
Offline Ibrahim - 09/03/2007 15:19 (laatste wijziging 09/03/2007 15:22)
Avatar van Ibrahim PHP expert je kunt gewoon een veld volgorde gebruiken in de tabel menu

Dan selecteer je de maximum van de tabel menu, veld volgorde.
Wil je omhoog, dan mag je niet hoger dan het maximum. Wil je omlaag, dan mag je niet lager dan 1 natuurlijk.

Zo voer je dan een update query uit die dan de volgorde verandert.

Niks nieuwe tabel met de volgorde etc, gewoon een simpele veld en een simpele functie 
Offline edwin87 - 09/03/2007 15:21
Avatar van edwin87 Nieuw lid Dat snap ik wel dat heb ik inmiddels ook wel. Maar wanneer ik een pagina aanmaak maakt hij automatisch een 0 aan in dat veld.
Terwijl het daar ook automatisch moet gaan optellen. Want wanneer je 2 pagina's met 0 hebt dan loopt het script al vast. Dus de volgorde moet uniek zijn. Daarom dacht ik om nog een tabel aan te maken met een auto increment dat dat getal altijd uniek zou blijven. Zodat het script ook niet overhoop gaat liggen. Er kan er maar 1 op plek 1 staan en maar 1 op plek 2.
Offline Ibrahim - 09/03/2007 15:24
Avatar van Ibrahim PHP expert tijdens het inserten doe je toch dit:

  1. <?php
  2. $sQuery = "SELECT MAX(volgorde) FROM tabel";
  3. $rResource = mysql_query( $sQuery ) or die( mysql_error() );
  4.  
  5. $fetch_max = mysql_fetch_assoc( $rResource );
  6.  
  7. // en hier insert je dus de max + 1


Offline edwin87 - 09/03/2007 15:25
Avatar van edwin87 Nieuw lid Hey ik zal dat ff proberen dat klinkt veel simpeler haha... Kun je die +1 insert geval nog ff nader uitleggen?
Offline Ibrahim - 09/03/2007 15:33 (laatste wijziging 09/03/2007 15:34)
Avatar van Ibrahim PHP expert
  1. <?php
  2. $sQuery = "SELECT MAX(volgorde) AS maximaal FROM tabel";
  3. $rResource = mysql_query( $sQuery ) or die( mysql_error() );
  4.  
  5. $fetch_max = mysql_fetch_assoc( $rResource );
  6.  
  7. // en hier insert je dus de max + 1
  8. $volgorde = $fetch_max['maximaal'] + 1;
  9. $sUpdate = "UPDATE tabel SET volgorde = {$volgorde} WHERE menuID = {$menuID}";
  10.  
  11. $rPerformUpdate = mysql_query( $sUpdate ) or die( mysql_error() );
  12. ?>


Ik zal eens mijn "volgorde wijzigen" functie updaten en posten bij de scripts.
Offline edwin87 - 09/03/2007 16:21 (laatste wijziging 09/03/2007 16:23)
Avatar van edwin87 Nieuw lid Dit is me inmiddels gelukt! Harstikke bedankt. Kan ik hier het volgende probleem aan halen of moet ik hier een speciaal topic voor aanmaken?
Ik begin hier gewoon alvast,

De records van het menu staan in de database de volgorde is bepaald

ik heb nu de volgordes 1,2,3,4,5
Maar wanneer ik bijvoorbeeld 2 verwijder dan krijg ik 1,3,4,5
Dan crasht het script! Wat kan ik hier het beste mee doen?
Ik moet dan bijvoorbeeld 2 keer klikken. Of waneer ik meerdere records verwijder zelfs vaker klikken. Wat niet de bedoeling is uiteraad.
Bijvoorbaat dank,
Edwin
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.182s