anoniem Geplaatst: 25 mei 2004 Delen Geplaatst: 25 mei 2004 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 Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen