Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ MySQL _ Segregowanie po ID

Napisany przez: Nidan23 20.05.2019, 21:23:34

Otóż tak, mam drobny problem, bo chciałbym, aby rekordy w tabeli były segregowane według kolumny "miejsce", ponieważ narazie w tabeli panuje syf, jednak nie wiem jak to zrobić.

Poniżej wklejam schemat tabeli, może on rozjaśni moją wypowiedź:


  1. CREATE TABLE IF NOT EXISTS `klan` (
  2. `miejsce` int(11) DEFAULT NULL,
  3. `liga` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL,
  4. `poziom` int(11) DEFAULT NULL,
  5. `tag` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
  6. `nick` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL,
  7. `ranga` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
  8. `donated` int(11) DEFAULT NULL,
  9. `received` int(11) DEFAULT NULL,
  10. `roznica` int(11) DEFAULT NULL,
  11. `puchary` int(11) DEFAULT NULL,
  12. `aktualizacja` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
  13. `data` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL
  14. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Napisany przez: trueblue 20.05.2019, 21:27:57

Kolejność przechowywania rekordów w tabeli jest bez znaczenia.

Chcesz wyciągnąć uporządkowane dane, to zastosuj zapytanie z klauzulą ORDER BY.

Napisany przez: Tomplus 21.05.2019, 05:34:20

Ja proponuję abyś podszkolił się z podstaw zanim będziesz zabierał się za takie projekty.
Bo sortowanie, grupowanie i inne które są dla Ciebie ścianą będą Ci potrzebne wcześniej czy później.

Tutaj np. prosty kurs z SQL, https://www.codecademy.com/courses/learn-sql/
Możesz zapytania tworzyc bez potrzeby tworzenia dodatkowych plików i baz testowych na swoim serwerze.

Napisany przez: Nidan23 21.05.2019, 07:09:10

Może trochę źle sformułowałem pytanie, nawet bardzo, bo mi chodziło czy w samej bazie danych można takie cudo uczynić.


Ale dzięki za pomoc smile.gif


Napisany przez: nospor 21.05.2019, 08:58:18

Cytat(Nidan23 @ 21.05.2019, 07:09:10 ) *
Może trochę źle sformułowałem pytanie, nawet bardzo, bo mi chodziło czy w samej bazie danych można takie cudo uczynić.

No przeciez ci napisano: ORDER BY - to wlasnie sortuje w bazie

Napisany przez: Nidan23 21.05.2019, 11:24:06

Spokojnie Panie Moderatorze, zrozumiałem, jednak chciałem się obejść bez używania wyzwalacza bądź CronJoba.

Napisany przez: nospor 21.05.2019, 11:25:38

Niespokojny moze jestes ty nie ja.

Cytat
jednak chciałem się obejść bez używania wyzwalacza bądź CronJoba.
Ke? A kto ci tutaj kaze uzywac wyzwalacza czy cronjoba? Nie rozumiesz co sie do ciebie pisze, cos sobie dopowiadasz i jeszcze wymyslasz ze ktos jest niespokojny. Cos przeoczylem? tongue.gif

Moze poprostu napisz co chcesz osiagnac tak naprawde a nie wymyslasz?

Napisany przez: Nidan23 21.05.2019, 15:24:59

Ależ nie wymyślam. Chodzi mi o cykliczne segregowanie wyników, po każdej aktualizacji bądź wprowadzeniu, która to odbywa się co minutę, gdy wprowadziłem takie zapytanie do skryptu aktualizującego jako kolejną funkcję:

  1. SELECT * FROM klan ORDER BY miejsce ASC


To dostaję błąd. Poniżej wklejam link do SS z bazy żeby rozjaśnić.


https://poznanacademy.pl/baz.png

Napisany przez: Lord 21.05.2019, 15:43:59

  1. SELECT * FROM klan ORDER BY miejsce ASC


To wyniki ci sortuje w momencie kiedy masz taką potrzebę, to nie jest tak, że poprzestawia ci kolejność w tabeli "NA ZAWSZE" jak ci pisali wcześniej nie ma takiej potrzeby i jest to zbędne. Jak tak bardzo chcesz to kliknij w listingu na nagłówek miejsce w phpmyadmin i będziesz miał posortowane wg miejsca. Inna sprawa, że coś mi się wydaje, że nie masz kluczy ustawionych i chyba coś bardzo złego próbujesz zrobić, ale to tylko moje domysły smile.gif

Napisany przez: Nidan23 21.05.2019, 16:29:35

Tyle zauważyłem biggrin.gif oba spostrzeżenia biggrin.gif , ale dobra, po problemie, jakoś przeżyje bez tego. Dzięki wink.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)