Tahání dat z MySQL databáze

Tahání dat z MySQL databáze
« kdy: 29. 10. 2014, 12:23:04 »
Ahoj všem,
potřebuji vytáhnout z databáze data poslední objednávky na mém eshopu.
A to číslo produktu, číslo objednávky a email klienta.

Z databáze se mi daří vytáhnout číslo poslední objednávky z tabulky "oxorder".
Ostatní data však vypisuje nahodile. Předpokládám že podle čísla objednávky bych mohl vytáhnout i email klienta, který je ve stejné tabulce. Číslo výrobku je pro změnu v jiné tabulce "oxarticles".

S tímto kódem úspěšně tahám číslo poslední objednávky:
Kód: [Vybrat]
$sql = "SELECT OXORDERNR,OXBILLEMAIL,OXARTNUM FROM oxorder,oxarticles ORDER BY OXORDERNR DESC LIMIT 5";
Má někdo návrh řešení, které bych mohl použít?
Díky za rady :)
« Poslední změna: 29. 10. 2014, 14:40:47 od Petr Krčmář »


Petr

Re:Začátečník :) Jak tahat potřebná data z mysql databáze?
« Odpověď #1 kdy: 29. 10. 2014, 12:35:27 »
Přes jakou hodnotu máš spojené tabulky oxorder,oxarticles ? Takhle ti to provádí cross join.

roghir

Re:Začátečník :) Jak tahat potřebná data z mysql databáze?
« Odpověď #2 kdy: 29. 10. 2014, 12:40:41 »
Kup si knihu mySql za 21 dni. Predpokladam, ze polozky objednavky jsou v jine tabulce, tudiz by mely byt spojeny pres neco (id objednavky) mezi ORDER a ORDER_ITEMS.

Nicmene me spise zarazil ten email. Predpokladam, ze tabulka OXORDER obsahuje jen vlastnostni spjate s objednavkou a data o uzivateli budes mit treba v tabulce PERSON, pricemz bude existovat vazba mezi OXORDER a PERSON (trebaze v OXORDER bude sloupec PERSONID s vazbou na primarni klic tabulky PERSON).

Rejpal

Re:Začátečník :) Jak tahat potřebná data z mysql databáze?
« Odpověď #3 kdy: 29. 10. 2014, 12:41:45 »
Řešení je jednoduché:
1) naučit se nějaký základ o relačních databázích
2) naučit se pracovat s MySQL
3) naučit se zpracovávat výsledky z MySQL třeba v PHP (soudě podle Vašeho příkladu)

Pokud jste již někdy slyšel o Google, pak Vás zřejmě napadne si to tam vyhledat. Pokud Vám pak něco KONKRÉTNÍHO nebude jasné, vraťte se sem pro radu. Řešení na míru bez znalosti db schématu a dalších návazností nemají smysl a Vám by nepomohla k pochopení problematiky.

Re:Začátečník :) Jak tahat potřebná data z mysql databáze?
« Odpověď #4 kdy: 29. 10. 2014, 13:05:34 »
 ???
Děkuji za možnost editace příspěvku.


Lol Phirae

Re:Začátečník :) Jak tahat potřebná data z mysql databáze?
« Odpověď #5 kdy: 29. 10. 2014, 13:18:50 »
Radši nic neradit, ještě vám pak vynadaj  ::) :o

robin martinez

  • *****
  • 1 138
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
Re:Tahání dat z MySQL databáze
« Odpověď #6 kdy: 29. 10. 2014, 15:36:20 »
jak koukam, tak PHP muze dnes fakt delat kazdej...
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

robin martinez

  • *****
  • 1 138
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
Re:Tahání dat z MySQL databáze
« Odpověď #7 kdy: 29. 10. 2014, 15:37:46 »
ale jinak abych jen nekritizoval, ten problem, ktery popisujes jsou NAPROSTE zaklady SQL. Jak bylo receno - dela se to spojovanim tabulek, nezname sice schema tve databaze, ale ocividne nebude spravne.
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

karel

Re:Tahání dat z MySQL databáze
« Odpověď #8 kdy: 29. 10. 2014, 21:12:03 »
upada to upada, za dnesek se tu na foru rozthl pytel s debilnimi dotazy

h7

Re:Začátečník :) Jak tahat potřebná data z mysql databáze?
« Odpověď #9 kdy: 29. 10. 2014, 21:35:44 »
Radši nic neradit, ještě vám pak vynadaj  ::) :o

Nebo tady, kde tazatel kopíruje bezhlavě příkazy a důsledky ... ;)

dsfasdfasdf

Re:Tahání dat z MySQL databáze
« Odpověď #10 kdy: 29. 10. 2014, 21:39:40 »
1) je cislo objednavky rostouci? pokud ano tak nejnovejsi objednavka treba:
select max(oxordernr) from oxorder

2) provazani tabulek oxorder, oxarticles pro posledni objednavku, napriklad

SELECT OXBILLEMAIL,OXARTNUM FROM oxarticles WHERE OXORDERNR IN (select max(oxordernr) from oxorder)

Hmmm

Re:Začátečník :) Jak tahat potřebná data z mysql databáze?
« Odpověď #11 kdy: 30. 10. 2014, 11:14:48 »
Kup si knihu mySql za 21 dni. Predpokladam, ze polozky objednavky jsou v jine tabulce, tudiz by mely byt spojeny pres neco (id objednavky) mezi ORDER a ORDER_ITEMS.

Nicmene me spise zarazil ten email. Predpokladam, ze tabulka OXORDER obsahuje jen vlastnostni spjate s objednavkou a data o uzivateli budes mit treba v tabulce PERSON, pricemz bude existovat vazba mezi OXORDER a PERSON (trebaze v OXORDER bude sloupec PERSONID s vazbou na primarni klic tabulky PERSON).
Budem hovorit vo vseobecnosti, zo svojich skusenosti, tabulka objednavky musi obsahovat aj data zakaznika a celkovo vsetky data, ktorych hodnoty sa mozu po case menit, pretoze je pri objednavke nutne mat data z doby, kedy objednavka vznikla a nie aktualne data. To sa tyka udajov o zakaznikovi, udajov o tovare (ceny, kod, ...), o sposobe dopravy a tak dalej.

V opacnom pripade si e-shop koleduje o pruser ak nahodou dojde k padu niektorych tabuliek alebo zakaznik po objednani zmeni svoje udaje alebo obchodnik zmeni ceny tovaru.

Rejpal

Re:Tahání dat z MySQL databáze
« Odpověď #12 kdy: 30. 10. 2014, 11:51:56 »
Ta rada od Hmmm je příliš předčasná a sofistikovaná vzhledem k tomu, že tazatel ještě neprošel přes úskalí joinů a nejnovější záznam tahá s pomocí limit 5.

tommm

Re:Tahání dat z MySQL databáze
« Odpověď #13 kdy: 30. 10. 2014, 12:47:41 »
A takhle to dopada kdyz si kazdej ten svuj eshop woe postavi na nejakem polotovaru nebo hotovem reseni a nebo mu to udela znamej, kterej do toho prej taky dela ...

Jo takhle si zaplatit nekoho kdo udela co je potreba presne na miru vcetne reportingu. Ale to by stalo asi penize :D

Kdo setri ma za tri :)

Kit

Re:Tahání dat z MySQL databáze
« Odpověď #14 kdy: 30. 10. 2014, 12:59:49 »
Pokud bychom neexperimentovali, měli bychom SW jen od megakorporací.

Na druhou stranu, když vidím názvy tabulek oxorder a oxarticles, tak se z toho oxypávám.