Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Następny/poprzedni rekord
northwest
post
Post #1





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


Witam serdecznie,
Mam taką bazę danych:
  1. CREATE TABLE IF NOT EXISTS `produkty` (
  2. `bf_id` bigint(20) unsigned NOT NULL,
  3. `nazwa` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
  4. ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  5.  
  6.  
  7. ALTER TABLE `produkty `
  8. ADD PRIMARY KEY (`bf_id`),
  9. ADD UNIQUE KEY `id` (`bf_id`),
  10. ADD KEY `gt_id` (`bf_id`),
  11. ADD FULLTEXT KEY `nazwa` (`nazwa`);
  12.  
  13.  
  14. ALTER TABLE `produkty `
  15. MODIFY `bf_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=1;



W jaki sposób mogę wyświetlić id następnego i poprzedniego przedmiotu najłatwiej?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
tomsi
post
Post #2





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


Zrób ID +1 dla następnego i ID -1 dla poprzedniego.
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


1. Nie wiem po co tyle razy zakładasz klucze na kolumnę z ID - klucz podstawowy jest już zwykłym kluczem oraz jest unikalny.
2. By pobrać następne ID musisz wykonać zapytanie:
  1. SELECT id_col FROM tbl_name WHERE id_col > :currentId ORDER BY id_col ASC LIMIT 1
Dla poprzedniego analogicznie. W żadnym wypadku nie możesz stosować rozwiązania aktualne + 1, chyba że masz gwarancję ciągłości tych ID-ków, której zapewne nie masz.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.09.2025 - 17:32