Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql]maly problem z wyswietlaniem z bazy danych
MaciekDZN
post
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 6.01.2008
Skąd: Działoszyn

Ostrzeżenie: (0%)
-----


witam, oto moj problem:
  1. <?php
  2. ################################################################################
  3. ##############################
  4. include('config.php'); //polaczenie z baza danych//
  5. $wynik100 = mysql_query(&#092;"SELECT * FROM mp3 WHERE kto=all()\");
  6. $l_1 = ': ';
  7. $l_2 = '
  8. ';
  9. while($linia=mysql_fetch_array($wynik100) AND $rekordy=mysql_num_rows($wynik100))
  10. {
  11. echo ($linia[&#092;"kto\"].$l_1.$rekordy[\"kto\"].$l_2);
  12. }
  13. ################################################################################
  14. ##############################
  15. ?>


chce wyswietlic to w tym stylu:

Maciek: 40
Piotrek: 25
itd...

w bazie:
kto = nick

Tak wyglada to dla jednego nicku o nazwie Maciek:

  1. <?php
  2. include('config.php');
  3. echo 'Maciek: ';
  4. $sqlu_m = mysql_query(&#092;"SELECT id, kto FROM mp3 WHERE kto='Maciek'\");
  5. ?>


ale ja chce zeby to było w pętli i zebym nie musial po pojawieniu sie nowego nicku w bazie dodawac go ręcznie... Jak to zrobic zeby ta pętla zadziala ?

Ten post edytował MaciekDZN 11.01.2008, 16:13:01
Go to the top of the page
+Quote Post
webdice
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




  1. <?php
  2. $wynik100 = mysql_query("SELECT * FROM mp3");
  3. ?>


EDIT: Nie ma czegoś takiego jak all(), gdzie Ty to wyczytałeś?

Ten post edytował webdicepl 11.01.2008, 03:23:00
Go to the top of the page
+Quote Post
MaciekDZN
post
Post #3





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 6.01.2008
Skąd: Działoszyn

Ostrzeżenie: (0%)
-----


no fajnie... ja, tak jak Ty mi pokazales, juz probowalem...

te all() widzialem chyba tutaj na tym forum.php.pl ...

ja chce zrobic takie statystyki ale jak na razie nie pomogles mi.

chce to tak zrobic zeby wyczytało z bazy nick i wyszukalo ile jest rekordów z jego nazwą... mniej wiecej costakiego

Ten post edytował MaciekDZN 11.01.2008, 15:55:45
Go to the top of the page
+Quote Post
webdice
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




mysql_num_rows" title="Zobacz w manualu PHP" target="_manual pokazuje Ci ilość rekordów które pobrałeś z bazy. Pokaż jak wygląda tabela i podaj przykładowe rekordy.
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No ale tu trzeba uzyc group by
  1. SELECT kto, count(kto) AS ilosc FROM mp3 GROUP BY kto


I popraw tytul o znacznik zgodnie z zasadami forum przedszkole
Go to the top of the page
+Quote Post
MaciekDZN
post
Post #6





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 6.01.2008
Skąd: Działoszyn

Ostrzeżenie: (0%)
-----


Tak wyglada u mnie tabela.

Kod
-- Struktura tabeli dla  `mp3`
--

CREATE TABLE `mp3` (
  `id` int(11) NOT NULL auto_increment,
  `nazwa` text NOT NULL,
  `adreswww` text NOT NULL,
  `rozmiar` varchar(7) default NULL,
  `kto` varchar(24) default NULL,
  `kategoria` text NOT NULL,
  `punkty_suma` int(11) default '2',
  `punkty_ilosc` int(11) default '1',
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `kategoria` (`kategoria`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=89;

--
-- Zrzut danych tabeli `mp3`
--

INSERT INTO `mp3` (`id`, `nazwa`, `adreswww`, `rozmiar`, `kto`, `kategoria`, `punkty_suma`, `punkty_ilosc`) VALUES
(1, 'Max Farenthide - Slice me nice', 'http://top20001.wrzuta.pl/aud/file/k5SwBl3GOA/max_farenthide_-_slice_me_nice_.mp3', '3,42 MB', 'MaciekDZN', 'Techno', 30, 10),
(2, 'Basshunter - Professional Party People', 'http://blonnnndiiiina.wrzuta.pl/aud/file/jEDyTtCS90/basshunter_-_professional_party_people_.mp3', '2,88 MB', 'Kuba', 'Techno', 2, 1),
(3, 'Def Leppard - Pour Some Sugar On Me', 'http://darkman7.wrzuta.pl/aud/file/yxKyAuORXP/def_leppard_-_pour_some_sugar_on_me_.mp3', '4,05 MB', 'MaciekDZN', 'Rock', 2, 1),;


chce zeby wyswietlało tak:

MaciekDZN: 2
Kuba: 1

i nie chc tego robic tak:
  1. <?php
  2. include('config.php');
  3. echo 'Maciek: ';
  4. $sqlu_m = mysql_query(&#092;"SELECT id, kto FROM mp3 WHERE kto='Maciek'\");
  5. ?>

tylko chce to zrobic w pętli bo rekordow jest duzo i nie chce dodawac co chwilke kogos nowego do pliku
Go to the top of the page
+Quote Post
webdice
post
Post #7


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Sprawdzałeś zapytanie ~nospora - jest dobre. Ewentualnie możesz sobie dodać sortowanie:

  1. SELECT kto, count(kto) AS ilosc FROM mp3 GROUP BY kto ORDER BY `ilosc` DESC


DESC - malejąco
ASC - rosnąco
Go to the top of the page
+Quote Post
MaciekDZN
post
Post #8





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 6.01.2008
Skąd: Działoszyn

Ostrzeżenie: (0%)
-----


mam cos takiego:
  1. <?php
  2. ################################################################################
  3. ##############################
  4. $wynik1 = mysql_query("SELECT kto, COUNT(*) AS ilosc FROM mp3 GROUP BY kto ORDER BY COUNT(*) AND id DESC");
  5. $wynik2 = mysql_query("SELECT kto, COUNT(*) AS ilosc FROM mp3 GROUP BY kto ORDER BY COUNT(*) AND id DESC");
  6. $l_1 = ': ';
  7. $l_2 = '<br>';
  8. while($linia=mysql_fetch_array($wynik1) AND $linia2=mysql_num_rows($wynik2))
  9. {
  10. echo ($linia["kto"].$l_1.$linia2["kto"].$l_2);
  11. }
  12. ################################################################################
  13. ##############################
  14. ?>


i wyswietla sie to tak:
(IMG:http://em-pe-3.yoyo.pl/pd/aaaaa.jpg)
co zrobilem zle ?
Go to the top of the page
+Quote Post
webdice
post
Post #9


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




  1. <?php
  2. $wynik2 = mysql_query("select kto, count(kto) as ilosc from mp3 group by kto ORDER BY `ilosc` DESC ");
  3. $l_1 = ': ';
  4. $l_2 = '<br>';
  5. while($linia=mysql_fetch_array($wynik1))
  6. {
  7. echo ($linia["kto"].$l_1.$linia["ilosc"].$l_2);
  8. }
  9. ?>


Ten post edytował webdicepl 12.01.2008, 19:35:30
Go to the top of the page
+Quote Post
MaciekDZN
post
Post #10





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 6.01.2008
Skąd: Działoszyn

Ostrzeżenie: (0%)
-----


WIELKIE DZIEKI (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
  1. <?php
  2. $wynik1 = mysql_query("select kto, count(kto) as ilosc from mp3 group by kto ORDER BY `ilosc` DESC ");
  3. $l_1 = ': ';
  4. $l_2 = '<br>';
  5. while($linia=mysql_fetch_array($wynik1))
  6. {
  7. echo ($linia["kto"].$l_1.$linia["ilosc"].$l_2);
  8. }
  9. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 07:13