Zobacz temat
|
Wyja?nienie dzia?ania zapytanie do bazy danych MySQL
|
|
| Kshyhoo |
Dodany dnia 27.01.2010 22:02:38
|
|
Przedszkolak ![]() Postów: 49 Pomógł: 1 v7.02.07Data rejestracji: 13.12.2004 21:33 |
Mam pewien problem, nie wiem mianowicie, o co biega w strukturze tabel. Mo?e kto? m?drzejszy mi wyt?umaczy?: Chodzi mi najbardziej o te "ta", "tac"... PW od moderatora:
Edytowane przez Pieka dnia 27.01.2010 22:16:44 Copyright (C) by Kshyhoo (R) Wszystkie prawa zastrze?one. |
|
|
|
| W?cibski Go?? |
Dodany dnia 24.10.2025 18:00:34
|
|
Pan Kontekstualny Postów: n^x Data rejestracji: Zawsze |
|
| IP: localhost | |
| medyq |
Dodany dnia 28.01.2010 08:57:27
|
|
Przedszkolak ![]() Postów: 3 Pomógł: 1 Ostrzeżeń: 1 Data rejestracji: 24.11.2009 10:27 Złamana licencja |
Te "ta" czy "tc" s? unikalnymi nazwami dla tabel jakie wykorzystujesz w danym zapytaniu ?eby poskleja? kilka tabel do kupy w jednym resulcie w danej chwili. Jest kilka warunków które trzeba spe?ni? ?eby tego u?y?. Po pierwsze skrótowa nazwa tabeli któej u?yjesz po SELECT musi zosta? powtórzona w daleszej cz??ci zapytania po oryginalnej nazwie tabeli. Czyli jak wymy?li?e? (tak te ksróty s? ca?kowicie dowolne) sobie ?e chcesz wyj?? artyku? z bazy (jak w pierszym przyk?adzie) to musi wygl?da? to tak: Gdzie w miejsce xxx i yyy w kodzie dajesz swoje nazwy - najlepiej skrótem 2-3 literowym ca?kowicie dowolnym. Pami?taj ?e zapis xxx.* oznacza wyj?cie wszystkich danych z tabeli xxx a zapis xxx.user_id wyjmie tylko user_id z tabeli xxx. Nie zapomnij te? zdefiniowa? w dalszej cz??ci co to jest xxx czyli np Druga sprawa to kolumny które przyrównujesz do siebie po ka?dej akcji "sklejenia" czyli np: musz? odnosi? si? do tego samego czyli w obu przypadkach jest to id_usera które w obu tabelach figuruje pod ró?nymi nazwami kolumn. U?ywasz tego ?eby jak wspomnia?em wyj?c/wyszuka? w bazie wielu danych ze sob? powi?zanych. Drugi przyk?ad pasuje bardzo dobrze do tego wyja?nienia. Chcesz wiedzie? zarówno o artykule jak i wiedzie? kto go napisa?. Domy?lnie w tabeli artyku?ów wiesz tylko jakie jest id autora i pisz?c dla pierwszego cytatu powy?ej wynika z $data['user_name'] nic nie otrzymasz bo zapytanie nie wie jakie jest user_name nawet nie wie sk?d to wyj?c :P Dzi?ki po??czeniu tabel przyrównasz ?atwo_id autora do user_id i dzi?ki temu b?dziesz wiedzia? jakie jest user_name czyli przyk?ad drugi. Takie akcje ?atwo optymalizuj? zapytania do bazy gdy? zamiast np szuka? czego? w jakiej? tabeli a dla znalezionego wyniku szuka? czego? w innej to zapisujesz to tak jak powy?ej dzi?ki czemu unikasz cz?sto p?tli i wielokrotnych zapyta?. Nie umiem t?umaczy? - wole operowa? na przyk?adach ^^ jak masz pytania to pisz. Edytowane przez medyq dnia 28.01.2010 09:02:53 |
|
|
|
| Kshyhoo |
Dodany dnia 28.01.2010 11:23:19
|
|
Przedszkolak ![]() Postów: 49 Pomógł: 1 v7.02.07Data rejestracji: 13.12.2004 21:33 |
Dzi?ki za wyt?umaczenie, cho? ju? wczoraj znalaz?em co nieco na ten temat. Wiadomo?? doklejona: OK, wi?c je?eli mam tabel? "artykuly", gdzie przechowuj? tylko id kategorii: "arty_kat" i tabel? "kategorie" z "kat_id" i nazw? kategorii "kat_kategoria", to jak zapyta? baz?, ?eby wy?wietli?o mi np. tytu? artyku?u i pe?n? nazw? kategorii? Rozwiń Kod źródłowy MYSQLCzy tak? Czy mog? u?y? takiego kodu do stronicowania? Rozwiń Kod źródłowy MYSQL?? Edytowane przez Kshyhoo dnia 28.01.2010 12:47:54 Copyright (C) by Kshyhoo (R) Wszystkie prawa zastrze?one. |
|
|
|
| bartek124 |
Dodany dnia 28.01.2010 23:18:48
|
|
Weteran ![]() Postów: 3264 Pomógł: 236 v7.02.06Data rejestracji: 26.05.2007 12:25 |
Obie tabele musisz czym? z??czy?. Po wstaw
|
|
|
|
| Przejdź do forum: |

















