[ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.07
Prihlásený: 10.08.16
Príspevky: 128
Témy: 40 | 40
NapísalOffline : 02.08.2009 10:22 | Tahanie z databazy a z dvoch tabuliek

Ahojte. Mam jeden problem a ja ako začiatočnik nemam sancu to urobit. Rozmyslam, citam a nemozem nasjt riesenie. Mam databazu kde mam 2 tabulky. Jedna sa vola jos_users - kde su mena uzivatelov a kazdemu je dane id. Nasledne je tabulka s nazvom jos_joomgallery a ta ma v sebe riadky (ako nazov obrazku, id obrazku a to hlavne owner) Owner je cislo, ktore je presne take ako ID v tabulke jos_users. Vlastne popisuje, kto to tam pridal. Ja by som chcel urobit TOP 10 uzivatelov.
Viete mi poradit?


Offline

Užívateľ
Užívateľ
Tahanie z databazy a z dvoch tabuliek

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 02.08.2009 10:59 | Tahanie z databazy a z dvoch tabuliek

TOP 10 uzivatelov vzhladom na co ?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.07
Prihlásený: 10.08.16
Príspevky: 128
Témy: 40 | 40
Napísal autor témyOffline : 02.08.2009 11:09 | Tahanie z databazy a z dvoch tabuliek

Ahaa.. no v tabulke jos_joomgallery sa ukaladaju obrazky a kazdy ma sveje: owner
Potreboval by som spocitat.. napriklad owner 65 pridal 27 obrazkov a 65 je v tabulke jos_users: Mato. Dufam, ze som to nedoplietol :)


Offline

Užívateľ
Užívateľ
Tahanie z databazy a z dvoch tabuliek

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 02.08.2009 12:14 | Tahanie z databazy a z dvoch tabuliek

Aha, takze ty chces vlastne zoradenie TOP 10 podla toho kolko maju fotiek ulozenych ? Mozes to spravit napr. tak , ze si vytvoris este jeden stlpec kde ak si niekto ulozi fotku tak uploadnes aktualnu hodnotu a potom spravis nieco take ako
Kód:
SELECT * FROM jos_users ORDER BY pocet_fotiek DESC LIMIT 10


Alebo ma potom este napadlo to urobit dynamicky (za pochodu), mozno nejak takto :
Kód:
<?php
# Vyber ID od uzivatelov
$VyberId = mysql_query("SELECT id FROM jos_users ");
for($count = 0; $count < mysql_numrows($VyberId); $count++){
$id = mysql_result($VyberId, $count, "id");
$CountPhoto = mysql_query("SELECT * FROM jos_joomgallery WHERE owner ='$id'");
# Ulozenie do pola pocet fotiek
$PocetFotiek[$id] = mysql_numrows($CountPhoto);
}

# Zoradenie pola podla hodnot zostupne
arsort($PocetFotiek);

$limit = 0;
foreach($PocetFotiekID as $IDE => $pocet){
if($limit == 10) // Tu si nastavis kolko chces zobrazeni (TOP 10)
  break;
 
# Tu si uz vyberies a echnes co porebujes
  $VyberTop = = mysql_query("SELECT * FROM jos_users WHERE id='$IDE'");
  echo $pocet." fotiek"; // Pocet fotiek
 
 $limit++;
}
?>


Robim to z hlavy tak sa ospravedlnujem ak tak bude nejaka chyba. Mozno sa to hodi ak nemas az tak obrovsku databazu


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.07
Prihlásený: 10.08.16
Príspevky: 128
Témy: 40 | 40
Napísal autor témyOffline : 02.08.2009 13:28 | Tahanie z databazy a z dvoch tabuliek

Da sa to urobit aj tak, aby som tam nic nepridaval? Ziadny novy stĺpec?


Offline

Užívateľ
Užívateľ
Tahanie z databazy a z dvoch tabuliek

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 02.08.2009 13:36 | Tahanie z databazy a z dvoch tabuliek

ved to druhe riesenie co som ti napisal => zacina od
Citácia:
Alebo ma potom este napadlo to urobit dynamicky (za pochodu), mozno nejak takto :


Je riesenie aby si tam dalsi stlpec nemusel pridavat


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.07
Prihlásený: 10.08.16
Príspevky: 128
Témy: 40 | 40
Napísal autor témyOffline : 02.08.2009 17:14 | Tahanie z databazy a z dvoch tabuliek

Je tento riadok v poriadku?
Kód:
foreach($PocetFotiekID as $IDE => $pocet)
?

Vypisuje mi:
Kód:
Invalid argument supplied for foreach()


Skusal som to hocijako a nic..


Offline

Užívateľ
Užívateľ
Tahanie z databazy a z dvoch tabuliek

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 02.08.2009 18:26 | Tahanie z databazy a z dvoch tabuliek

no odstran ID z
Kód:
foreach($PocetFotiekID as $IDE => $pocet){


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.07
Prihlásený: 10.08.16
Príspevky: 128
Témy: 40 | 40
Napísal autor témyOffline : 02.08.2009 18:49 | Tahanie z databazy a z dvoch tabuliek

Dakujem ti Snacker. Stacilo uz iba dodat tahanie mien a je to .. Super. dakujem este raz.


Offline

Užívateľ
Užívateľ
Tahanie z databazy a z dvoch tabuliek

Registrovaný: 26.12.06
Prihlásený: 30.10.17
Príspevky: 4009
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Vek: 24
NapísalOffline : 03.08.2009 12:26 | Tahanie z databazy a z dvoch tabuliek

Ja by som riadky
Kód:
$CountPhoto = mysql_query("SELECT * FROM jos_joomgallery WHERE owner ='$id'");
# Ulozenie do pola pocet fotiek
$PocetFotiek[$id] = mysql_numrows($CountPhoto);

zmenil na
Kód:
$CountPhoto = mysql_query("SELECT COUNT(*) FROM jos_joomgallery WHERE owner ='$id'");
# Ulozenie do pola pocet fotiek
$PocetFotiek[$id] = mysql_result($CountPhoto, 0);

Prvý spôsob je pomalší, pretože sa vytiahnu všetk údaje, pripravia sa do štruktúry na spracovanie, alebo ako to povedať :D

Ak použiješ COUNT(), je to oveľa rýchlejšie, pretože sa iba vytiahne štatistický údaj.


_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.12.08
Prihlásený: 31.08.13
Príspevky: 28
Témy: 5 | 5
Bydlisko: Košice
NapísalOffline : 05.08.2009 14:36 | Tahanie z databazy a z dvoch tabuliek

Ako nehnevajte sa ale 11 query na databázu ? Hlavne ak sa to dá pomocou jedneho.

Za predopkladu že máš štruktúru tabuliek takúto:

jos_users:
id - jedinečne id užívateľa
user - meno užívateľa
...

jos_joomgallery:
name - id užívateľa
...

potom top 10 užívateľov vyberieš jednym query, napríklad takto:


Kód:
SELECT user
FROM jos_users
RIGHT JOIN (
  SELECT name
  FROM jos_joomgallery
  GROUP BY name
  ORDER BY count( name ) DESC
  ) AS t1 ON id = name
LIMIT 0 , 10


 [ Príspevkov: 11 ] 


Tahanie z databazy a z dvoch tabuliek



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Vloženie tabuliek do databázy

v Databázy

2

482

12.03.2011 15:10

walther

V tomto fóre nie sú ďalšie neprečítané témy.

údaje do dvoch tabuliek

v PHP, ASP

2

267

28.12.2009 12:21

M1rcO_o

V tomto fóre nie sú ďalšie neprečítané témy.

vyber z dvoch tabuliek

v Databázy

2

577

27.02.2011 16:57

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

vyber z dvoch tabuliek

v Databázy

9

420

05.01.2010 20:22

rooobertek

V tomto fóre nie sú ďalšie neprečítané témy.

Mysql dotaz z dvoch tabuliek

v Databázy

6

117

11.06.2013 14:13

M1rcO_o

V tomto fóre nie sú ďalšie neprečítané témy.

Ako vybrať mená z dvoch tabuliek ?

v Databázy

5

614

07.09.2008 13:25

MISPULIN

V tomto fóre nie sú ďalšie neprečítané témy.

Zoradeny vyber z dvoch tabuliek naraz

v Databázy

3

138

06.02.2014 7:02

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Tahanie interneru. Telekom.

v Siete

4

269

07.05.2012 11:08

Sajwnex

V tomto fóre nie sú ďalšie neprečítané témy.

Hladam program na rychle tahanie z Rapidshare

v Sieťové a internetové programy

8

1213

21.11.2007 16:44

nZL

V tomto fóre nie sú ďalšie neprečítané témy.

Kupa servera na tahanie world of wacraft wotlk

v PC zostavy

17

773

26.07.2011 21:22

amd8650

V tomto fóre nie sú ďalšie neprečítané témy.

spojenie tabuliek

v Databázy

4

149

19.12.2013 11:21

ChickenHunter79

V tomto fóre nie sú ďalšie neprečítané témy.

Prepojenie tabuliek

v Databázy

2

652

01.02.2010 13:35

Antuanet

V tomto fóre nie sú ďalšie neprečítané témy.

Velkost tabuliek

v Databázy

1

241

22.11.2011 13:09

GoodWill

V tomto fóre nie sú ďalšie neprečítané témy.

porovnanie tabuliek

v Databázy

2

531

06.02.2009 12:30

awtt

V tomto fóre nie sú ďalšie neprečítané témy.

Prepojenie tabuliek

v Databázy

3

890

25.02.2008 16:27

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Optimalizácie velkých tabuliek

v Databázy

2

369

04.04.2010 9:50

Unlink



© 2005 - 2017 PCforum, edited by JanoF