Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

php. mysql - vorig volgend record

Ik heb een mini CMS gemaakt voor mijn link pagina’s. Zet alle records in een tabel en bij een klik op “edit” komt er een form om de data te veranderen. Boven die form is er nog een navigatie balk, met volgend en vorig record. In principe werkt alles goed. Ik sorteren op een kolom en de navigatiebalk boven de form volgt dat netjes, tot ik opeens merkte dat er een record werd overgeslagen, niet de volgende, maar die daarna dus. Voorbeeld: [code:1:386e37bbb6] Id url naam hits 1 link1 naam1 10 2 link2 naam3 5 3 link3 naam3 5 [/code:1:386e37bbb6] Als ik sorteer op “hits” en record #2 edit in de form, dan geeft de navigatiebalk aan dat er geen volgend record is, wel een vorige. Ik heb natuurlijk niets zelf bedacht, maar een beetje gegoogeld en dit gebruik ik dus: [code:1:386e37bbb6] // ------------------ some basic priciples of record finding ---------------------- // if you don't want to memorize anything, then : // given you use $sql ="SELECT * FROM ... WHERE ..." to get all results, // first record is $sql.' ORDER BY some_field ASC LIMIT 1;'; // last record is $sql.' ORDER BY some_field DESC LIMIT 1;'; // given you use $sql2 ="SELECT * FROM ... "." // WHERE ID=$somevalue" to get the currently displayed result, // -previous record is $sql2.' WHERE ID<$somevalue ORDER BY ID DESC LIMIT 1;'; // -next record is $sql2.' WHERE ID>$somevalue ORDER BY ID ASC LIMIT 1;'; [/code:1:386e37bbb6] Bij de hits waren toevallig de waarden gelijk, daarom kwam de eerstvolgende andere waarde daarna (of het einde van de tabel). Het is niet zo’n groot probleem, want id, naam en url zijn nooit gelijk. Ik kan dus alleen een record missen als ik op hits sorteer. Ik weet dus wel hoe het komt maar niet wat ik er aan kan doen. Wie geeft de gouden tip ? wimb

WimB