Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Stronicowanie z warunkiem
Kshyhoo
post
Post #1





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Witam. Borykam się z problemem stronicowania. Chcę dodać warunek do zapytania i wciąż mam błąd:
  1. $start = ($s-1)*$na_strone;
  2. $wynik = mysql_query("SELECT SQL_CALC_FOUND_ROWS *
  3. FROM tutoriale
  4. WHERE tut_stan = 1
  5. LEFT JOIN kategorie
  6. ON (kat_id = tut_kat_id)
  7. ORDER BY tut_id DESC
  8. LIMIT $start, $na_strone");
  9. $rekordow = mysql_result(mysql_query("SELECT FOUND_ROWS()"),0);
  10. $stron = ceil($rekordow/$na_strone);

Chciałbym dodać warunek wykluczający wyświetlanie artykułów, gdzie:
  1. WHERE tut_stan = 1

Co nie wymodzę, mam błąd składni zapytania. Chciałbym tez pozbyć się SQL_CALC_FOUND_ROWS * na rzecz COUNT(*)...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




dobra, jutro uporządkuję ci tę tabelę trochę. teraz idę spac.

ps: czyzbyś był starszy ode mnie? eee, nie (IMG:style_emoticons/default/winksmiley.jpg)

edit:
no to jedziem. Na początek drobne uwagi na podstawie kodu co pokazałeś
- jak coś jest liczbą to masz tam wkładać liczbę a nie tekst.
czyli nie '0', '1' ...
a: 0, 1 ...
- jak coś jest datą, to pole ma być typu datowego (DATE,TIME,DATETIME, TIMESTAMP) a nie int
- jak liczba nie jest ZEROFILL to podawanie np. int(11) niczemu nie służy. samo int wystarczy
- jak coś jest auto_increment, i to coś jest też unikalne, to znaczy ze to jest klucz głowny. rób więc z tego klucz główny
- jak coś ma przyjmowac małe liczby, to rób z tego tinyint
- nie rób enum z wartosci liczbowych. to sie mija z celem. Jak chcesz robic to rób z wartości tekstowych, wtedy ma to sens.
- mogłbys się pokusic o typ INNOD_DB zamiast MyIsam - móglbys robić wówczas relacje. No ale to narazie zostawmy
- twórz indexy na polach, które będą brały udział np. w wyszukiwaniach
- jesli pole będzie miało tylko dodatnie liczby, dodawaj UNSIGNED
  1. CREATE TABLE `tutoriale` (
  2. `tut_id` int UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `tut_nr` smallint(4) UNSIGNED ZEROFILL NOT NULL,
  4. `tut_tytul` varchar(255) DEFAULT NULL,
  5. `tut_data` timestamp DEFAULT NULL,
  6. `tut_autor` text , //CZEMU TU MASZ TEXT ?
  7. `tut_zrodlo` text //CZEMU TU MASZ TEXT ?,
  8. `tut_tresc` longtext ,
  9. `tut_kat_id` int UNSIGNED DEFAULT NULL,
  10. `tut_stan` tinyint NOT NULL DEFAULT 0,
  11. `tut_obraz` varchar(20) NOT NULL,
  12. `tut_psd` tinyint NOT NULL DEFAULT 0,
  13. `tut_notatki` text ,
  14. `tut_moderator` text NOT NULL, //CZEMU TU MASZ TEXT ?
  15. `tut_ktoed` smallint UNSIGNED NOT NULL,
  16. `tut_czased` timestamp UNSIGNED NOT NULL,
  17. `tut_czytano` mediumint UNSIGNED DEFAULT 0, //CZEMU TU MASZ mediumint ? Nie powinny byc tinyint? nie wiem co tam bedziesz trzymal.
  18. `tut_zezw_koment` tinyint NOT NULL DEFAULT 0,
  19. `tut_zezw_ocenic` tinyint NOT NULL DEFAULT 0,
  20. PRIMARY KEY (`tut_id`)
  21. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
Go to the top of the page
+Quote Post

Posty w temacie
- Kshyhoo   [PHP] Stronicowanie z warunkiem   13.06.2010, 13:12:06
- - mariuszli   Zobacz w którym miejscu masz WHERE, a w którym pow...   13.06.2010, 13:34:11
- - Kshyhoo   Powinno być tak: [PHP] pobierz, plaintext $start ...   13.06.2010, 13:44:04
- - mariuszli   Jaką masz strukturę tych tabel?   13.06.2010, 17:13:41
- - Kshyhoo   [SQL] pobierz, plaintext CREATE TABLE `tutoriale` ...   13.06.2010, 17:43:25
- - mariuszli   Tylko, że w zapytaniu są używane dwie tabele, a da...   13.06.2010, 18:38:54
- - Kshyhoo   Druga, to tylko kategorie: [SQL] pobierz, plaintex...   13.06.2010, 18:47:53
- - nospor   CytatGdy wpiszę warunek WHERE tut_stan=1, wyświetl...   13.06.2010, 20:25:39
- - mariuszli   Jednak możliwe. [SQL] pobierz, plaintext `tut_stan...   13.06.2010, 20:33:06
- - nospor   @mariuszli w tym co piszesz być może i jest racja....   13.06.2010, 20:35:18
|- - Kshyhoo   Cytat(nospor @ 13.06.2010, 21:35:18 )...   13.06.2010, 22:33:42
- - nospor   CytatTo jest tak, jednemu podoba się żona innemu t...   14.06.2010, 06:49:10
- - Kshyhoo   Pisząc to porównanie, nie miałem na myśli siebie.....   14.06.2010, 15:52:33
- - nospor   CytatZresztą zobacz sobie 7 post na w/w stronie, j...   14.06.2010, 20:08:07
- - Kshyhoo   Ja też bym się nie przejmował. Internet to takie m...   14.06.2010, 20:26:23
- - nospor   dobra, jutro uporządkuję ci tę tabelę trochę. tera...   15.06.2010, 06:32:23
- - Kshyhoo   Uuuu, ale konkretów. To może i ja pokomentuję: [SQ...   15.06.2010, 20:06:29
- - nospor   CytatJak już pisałem, miałem problemy w przetwarza...   16.06.2010, 06:51:08
- - Kshyhoo   Mój wiek, to żadna tajemnica - 43... mam w profilu...   16.06.2010, 18:48:32
- - nospor   CytatMój wiek, to żadna tajemnica - 43... mam w pr...   16.06.2010, 19:59:39


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: 26.12.2025 - 23:57