Nemůžu příjit na to, jak udělat, aby se mi na stránce zobrazoval počet příspěvku jednotlivých autorů, ale na stejné stránce, na které se mi vypisují všechny záznamy z tabulky, kde jsou uloženy všichni autoři.
Nemáš na mysli mysql_num_rows() ?
PoTo poslední je snadný
$celkem= mysql_query(select * from clanky);
$pocetcelkem= mysql_num_rows ($celkem)
Snad to funguje netestováno
No to druhý IMHO bych asi překpal tabulku a přídal tam řádek počet článků a to bych vždy zvětšoval
Předchozí příspěvek je ode mě. Byl tady brácha
select count(id_clanku) from clanky group by id_autor
-> vypise, kolik ktery autor napsal clanku...
ale ja nechci vypsat celkový počet zaznamů, ale počet záznamů pro jednotlivá jména. Třaba autor radek napsal celkem 10 příspěnků, autor pepa napsal 2 příspěvly,atd.
SELECT autor, count(id) GROUP BY autor
pokud mas vic tabulek pouzij JOIN
Moje tabulka vypadá takto:
CREATE TABLE `clanky` (
`id` int(11) NOT NULL auto_increment,
`cas` varchar(55) default NULL,
`jmen` varchar(55) NOT NULL default '',
`email` varchar(55) default NULL,
`web` varchar(55) default NULL,
`nadpis` text,
`zprava` text,
`foto` varchar(110) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=1 ;
zaznamy vypisuju takto:
$spojeni = MySQL_Connect($server, $uzivatel, $heslo);
$sql = "SELECT * FROM clanky ORDER BY id DESC";
$vypis = MySQL_DB_Query("$database", $sql, $spojeni);
echo ".MySQL_Result($vypis, "$i","jmen").";
atd.
řadim to sestupně podle id, aby nové příspěvky byly nahoře,tak že stejné jmeno má pokaždé jiné id.
asi špatnej nápad ode mne
tohle " SELECT autor, count(id) GROUP BY autor
pokud mas vic tabulek pouzij JOIN"
mi nefunguje vypiše mi buď počet jmen nebo celkovy počet zapisů v tabulce, nebo u jmena které je tam víckrát vypiše jedičku, to bych asi musel vytvořit ješte jednu tabulku autoři a nějak to propojit nebo aby každy autor měl unikátní číslo, nevim jak to skloubyt.
select autor, count(*) from clanky group by autor
chcel si toto?
mysql> SELECT owner, COUNT(*) FROM pet GROUP BY owner;
+--------+----------+
| owner | COUNT(*) |
+--------+----------+
| Benny | 2 |
| Diane | 2 |
| Gwen | 3 |
| Harold | 2 |
+--------+----------+
To asi nepujde tohle vypise pocet autoru v tabulce clanky
"select jmen, count(*) from clanky group by jmen"
ale ja bych potreboval vypsat z tabulky clanky, viz výše, kolikrat se ktere jmen v tabulce opakuje
$result=mysql_query("SELECT * FROM tabulka WHERE", $link);
while($row=mysql_fetch_object($result)){
$jmeno[$row->autor]++;
}
jestli chces zpocitat, kolik kdo napsal clanku, tak by to melo jit takhle.
jak to asi nepôjde, je to rovno z manuálu!
a vypíše to z tabulky:
autor, nadpis, text
fero, článkovia, blalalvljfhh
jožo, téma2, hlablahlalc
fero, domov, xixixixi
ďuro, Auto, vrrrrrrr
toto:
fero, 2
jožo, 1
ďuro, 1
keď ti niekto radí, tak to najprv vyskúšaj! na tvoje ASI nieje nikdo zvedavý
?:-E
Je mi líto,ale já to z toho selectu neumím dostat.
Pane Stanley_B707 nebuď urázlivej, ja to samozrejme skousim, na všechny možne zpusoby:
mysql_num_rows
mysql_fetch_object
mysql_fetch_array
atd.
ale stále se nedaří.
Pro jsem napsal ze to ASI nepujde, ale nerad něco vzdávam bez boje, tak to zkousim stále. R
$query="SELECT jmen, count(*) AS pocet_clankov FROM clanky GROUP BY jmen ORDER BY pocet_clankov DESC";
$vystup=mysql_query($query) or print("Chybova hláška".mysql_error());
echo ("Autor (jmen) - > počet_článkov<br />");
while ($riadok= mysql_fetch_array($vystup, MYSQL_NUM)) {
echo ($riadok[0]." - > ".$riadok[1]."<br />");
}
alebo použi resul_type=MYSQL_ASSOC
$vystup=mysql_query($query) or print("Chybova hláška".mysql_error());
echo ("Autor (jmen) - > počet_článkov<br />");
while ($riadok= mysql_fetch_array($vystup, MYSQL_ASSOC)) {
echo ($riadok["jmen"]." - > ".$riadok["pocet_clankov"]."<br />");
}
BTW ten sql dopyt je odskúšaný v phpMA a ten zvyšok je CFFM
alebo skús ešte fciu "mysql_fetch_assoc" (to vyjde s tou druhou možnosťou nastejno)
IMHO: Keby si napísal, že som idiot a spravil som chybu tam a tam, lebo si to skúšal a zistil si, že to nefunguje bolo by to vpoho. Bol by som rád, že sa môžem niečo naučiť a že ma niekto upozornil na moju chybu. Ten tvoj prístup bol asi takýto: "Mám problém.... Stanley ti sa do toho nemotaj!"
Tohle šlape jak jsi říkal, když to vidím napsaný, tak si říkam jak jednoduchý, já to takhle nějak zkoušel, ale asi blbě. Já se to snad nikdy nenaučím. Taky jsem se poučil že se dá použít a SELECTU ORDER BY i GROUP BY najednou. Díky za rady Radek