[ Príspevkov: 4 ] 
AutorSpráva
Offline

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

Registrovaný: 31.07.07
Prihlásený: 11.12.17
Príspevky: 317
Témy: 82 | 82
Bydlisko: Humenné
NapísalOffline : 31.01.2011 11:40 | vypisovanie z databazy je zlé

Robím teraz nad jedným projektom a nemôžem nijako sa pohnúť z jedného dosť primitivneho miesta mam dve tabuľky, jednu kde zaznamenava stiahnutia a druhu kde sú mp3.

Kód:
<b>Najsťahovanejšie dnes</b>
  <ol id="najstahovanjsie">
<?php
$date=date("Y-m-d");
$query=mysql_query("SELECT * FROM mp3,downloads WHERE mp3.status=1 AND downloads.date='$date' AND mp3.id=downloads.id_mp3 ORDER BY downloads DESC LIMIT 15") or die(mysql_error());
while($row=mysql_fetch_array($query)){
$url=constant("URL");
$id=$row["id"];
$interpret=$row["interpret"];
$song=$row["song"];
$downloads=$row["downloads"];
$sql=mysql_query("SELECT * FROM downloads WHERE id_mp3=$id AND downloads.date='$date'") or die(mysql_error());
$num=mysql_num_rows($sql);
if($num==0){
  echo "<b>Dnes nebola ešte žiadna mp3 stiahnutá</b>";
}
?> 
    <li><a href="<?=$url?><?=$id?>/<?=seo_adresa($interpret);?>-<?=seo_adresa($song);?>/"><?=$interpret?> - <?=$song?></a> <?=$num?></li>
<?}?> 
  </ol>


Chcel by som aby mi to vypisalo len mp3 a počet stiahnutí no ale ak je za ten deň jedna mp3-ka stiahnutá dvakrát tak vypiše to takto:

1. Interpret1 - Song1 početstiahnuti: 2
2. Interpret1 - Song1 početstiahnuti: 2
3. Interpret2 - Song2 početstiahnutí: 1

a chcel by som aby mi to vypisalo takto:

1. Interpret1 - Song1 početstiahnuti: 2
2. Interpret2 - Song2 početstiahnutí: 1

určite by vedel niekto pomôcť je to primítivne len ja to nejako neviem zvladnúť sa s tým seriem už asi dve hodiny :roll:


Offline

Skúsený užívateľ
Skúsený užívateľ
vypisovanie z databazy je zlé

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 31.01.2011 11:57 | vypisovanie z databazy je zlé

počkaj, ty ukladáš každé stiahnutie súboru do databázy ako riadok ?! máš na to nejaký konkrétny dôvod? osobne by som také riešenie určite nevolil, nie ak potrebuješ len zistiť počet stiahnutí...

druhá vec, naštuduj si niečo o "DISTINCT"


_________________
C#, PHP, ...
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2 | 2
NapísalOffline : 31.01.2011 12:06 | vypisovanie z databazy je zlé

walther píše:
druhá vec, naštuduj si niečo o "DISTINCT"


nie nahodou count() a group by ?
Kód:
SELECT interpret, song , count(downloads.id_mp3) as pocetstiahnuti
   FROM mp3 ,downloads
 WHERE mp3.status=1
     AND downloads.date='$date'
     AND mp3.id=downloads.id_mp3
group by  interpret, song
 ORDER BY count(downloads.id_mp3) DESC LIMIT 15


neviem ci som presne trafil syntax mysql a stlpce interpret, song si vymen za spravne z tabulky mp3


Offline

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

Registrovaný: 31.07.07
Prihlásený: 11.12.17
Príspevky: 317
Témy: 82 | 82
Bydlisko: Humenné
Napísal autor témyOffline : 31.01.2011 12:18 | vypisovanie z databazy je zlé

walther píše:
počkaj, ty ukladáš každé stiahnutie súboru do databázy ako riadok ?! máš na to nejaký konkrétny dôvod? osobne by som také riešenie určite nevolil, nie ak potrebuješ len zistiť počet stiahnutí...

druhá vec, naštuduj si niečo o "DISTINCT"

No vieš, ten kto mi to dal naprogramovať nechce aby sa z jednej ip zaznamenavalo ako viac stiahnutí možno sa to dalo aj inak ale vtedy som to robil tak :)

// pridané po 8 minútach od posledného príspevku

coldak píše:
nie nahodou count() a group by ?

Diky, ako ja som použil aj count len s takou trochu hlupou kombinaciou že som pritom zbytočne použil dvakrát query :lol: :oops: ale tak dlho som už neprogramoval v php :oops: no ale vďaka pomohlo to ;)


 [ Príspevkov: 4 ] 


vypisovanie z databazy je zlé



Podobné témy

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

Zle kodovanie pri vkladani .csv do databazy

v Databázy

2

717

04.02.2008 19:07

eiger33

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

Vypisovanie kombinácii

v JavaScript, VBScript, Ajax

6

685

10.04.2011 19:59

emer

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

JTextArea - vypisovanie textu

v Assembler, C, C++, Pascal, Java

3

117

17.04.2013 21:47

XOLOO

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

Skript na vypisovanie menin

v Operačné systémy Unix a Linux

0

213

08.03.2010 21:49

SkyHiRider

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

prikaz na vypisovanie do riadku

v Assembler, C, C++, Pascal, Java

4

260

31.12.2010 17:32

juho

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

Zle znacenie

v ATI/AMD grafické karty

5

279

22.05.2012 18:09

michalesku

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

Zle spojenie

v Video programy

2

319

13.10.2008 14:08

Skyro

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

zle rozbalovanie

v Redakčné systémy

0

242

17.02.2007 8:12

koudy

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

zle cidlo?

v Intel - Integrated Electronics

2

484

24.03.2009 18:08

bananas21

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

Zle kodovanie?

v Databázy

10

1299

28.01.2008 11:54

Matho

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

zle zobrazovanie

v HTML, XHTML, XML, CSS

5

144

07.02.2015 19:35

petko117

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

Zlé zobrazovanie

v ATI/AMD grafické karty

6

385

20.05.2009 9:51

jacho6380

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

Zlé ramky

v Pamäte

5

197

26.04.2016 21:13

Ivan-K

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

Zle osadeny procak

v Intel - Integrated Electronics

13

481

08.11.2007 14:43

Intelman

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

zle titulky (diakritika)

v Video programy

8

866

13.01.2013 10:40

Commodor

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

Zlé zobrazovanie stránok

v Sieťové a internetové programy

1

197

24.04.2012 18:40

weniik



© 2005 - 2017 PCforum, edited by JanoF