Autor Zpráva
Santa11
Profil *
Zdravim vsechny,
mam takovej dotaz. Mam tabulku "clanky" a v ni je sloupec s nazvem "autori"...obsah sloupce "autori" vypada asi takto:

Petr
Petr
Adam
Pepa
Petr
Adam

a z toho bych chtel vypsat kolik jakej uzivatel napsal clanku tedy kolikrat se tam dane jmeno vyskytuje a vysledek seradit od nejvetsiho po nejmensi...moje predstava vypisu bude takova:

Petr 3
Adam 2
Pepa 1

Predem diky
djlj
Profil
SELECT autori.jmeno, COUNT(clanky.id) AS pocet FROM autori LEFT JOIN clanky ON autori.id=clanky.autor_id GROUP BY autori.id ORDER BY pocet
Santa11
Profil *
jak to ted vypisu??
nightfish
Profil
jak to ted vypisu??
myslíš jako v PHP?

$result = mysql_query("SELECT autori.jmeno, COUNT(clanky.id) AS pocet FROM autori 

LEFT JOIN clanky ON autori.id=clanky.autor_id GROUP BY autori.id ORDER BY pocet");
if ($result) {
while ($data = mysql_fetch_row($result)) {
echo $data[0]." -- ".$data[1]."<br>";
}
}
Santa11
Profil *
Tohle mi nic nevypise:


$result = mysql_query("SELECT titulek.jmeno, COUNT(rs_clanky.id) AS pocet FROM titulek LEFT JOIN rs_clanky ON titulek.id=rs_clanky.autor_id GROUP BY titulek.id ORDER BY pocet");
if ($result) {
while ($data = mysql_fetch_row($result)) {
echo $data[0]." -- ".$data[1]."<br>";
}
}
nightfish
Profil
- v příkladu chybí připojení k databázi a výběr databáze
- když si ten dotaz dáš spustit v phpMyAdminovi, vrátí nějaké řádky?
- dej si za mysql_query ještě echo mysql_error();, třeba ten něco vypíše
Santa11
Profil *
kdyz to spustim primo v phpMyAdminovi tak to hodi:

Chyba
SQL-dotaz:

SELECT titulek.jmeno, COUNT( rs_clanky.id ) AS pocet
FROM rs_clanky
LEFT JOIN rs_clanky ON titulek.id = rs_clanky.autor_id
GROUP BY titulek.id
ORDER BY pocet
LIMIT 0 , 30

MySQL hlásí:

#1066 - Not unique table/alias: 'rs_clanky'


pripojeni a vyber databaze je uz predtim ve scriptu
djlj
Profil
Santa11
No tak samozřejmě si ten SQL dotaz musíš své databázové struktuře. Já jsem neměl po ruce křišťálovou kouli, když jsem to psal ;).
Santa11
Profil *
--
-- Struktura tabulky `rs_clanky`
--

CREATE TABLE `rs_clanky` (
`idc` int(10) unsigned NOT NULL auto_increment,
`link` int(10) unsigned NOT NULL,
`seo_link` varchar(200) NOT NULL,
`titulek` varchar(150) NOT NULL,
`uvod` text,
`text` text,
`tema` tinyint(3) unsigned NOT NULL,
`datum` datetime NOT NULL,
`autor` smallint(5) unsigned NOT NULL,
`kom` int(11) NOT NULL,
`visit` int(10) unsigned NOT NULL,
`t_slova` text,
`visible` tinyint(4) NOT NULL,
`zdroj` varchar(60) NOT NULL,
`priority` tinyint(3) unsigned NOT NULL default '1',
`datum_pl` datetime NOT NULL,
`skupina_cl` smallint(5) unsigned NOT NULL default '0',
`hodnoceni` int(10) unsigned NOT NULL default '0',
`mn_hodnoceni` int(10) unsigned NOT NULL default '0',
`znacky` tinyint(3) unsigned NOT NULL default '0',
`typ_clanku` tinyint(3) unsigned NOT NULL default '1',
`sablona` smallint(5) unsigned NOT NULL default '0',
`level_clanku` int(10) unsigned NOT NULL default '0',
`zobr_na_indexu` tinyint(3) unsigned NOT NULL default '1',
`anketa_cl` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`idc`),
KEY `idx_datum` (`datum`),
KEY `idx_priority` (`priority`),
KEY `idx_tema` (`tema`),
KEY `idx_link` (`link`),
KEY `idx_skupina_cl` (`skupina_cl`),
KEY `idx_level_clanku` (`level_clanku`),
KEY `idx_zobr_na_indexu` (`zobr_na_indexu`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=640 ;


ve sloupecku "titulek" jsou hodnoty jako:
+-----------+
| titulek |
+-----------+
| Anonym |
| Anonym |
| Pavel |
| Petra |
| Pavel |
| Anonym |
................


este neco k tomu potrebujes? :)
djlj
Profil
Santa11
este neco k tomu potrebujes? :)
Ne, protože nic dělat nebudu. Snad sis nemyslel, že ti ten dotaz budu upravovat. Člověk s IQ vyšším než 100 si to předělá sám, protože je to zcela primitivní...

Tohle fórum je k tomu, abychom někomu poradili a ne za něj vše dělali.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0