Autor Zpráva
pavlat
Profil
Dobrý den, potřeboval bych pomoc v proměnný $vypis mám uložený celý řádek tabulky(asi 80 záznamů), A potřebuju zjistit kolikrát se tam vyskytuje slovo Ano. Prosím poradte.
juriad
Profil
$pocty = array_count_values($vypis);
$pocet = isset($pocty['Ano']) ? $pocty['Ano'] : 0;
Spočítá kolikrát se jaká hodnota vyskytuje. Následně zjistí kolikrát tam je 'Ano'; pokud není, musí se to řešit zvlášť.

Chyběl mi středník na konci příkazu
pavlat
Profil
juriad:
Mám to takle a nechodí to..

$vypis = mysql_query("SELECT * FROM `users` WHERE  `id`='".$id."'")
$pocty = array_count_values($vypis)
$pocet = isset($pocty['Ano']) ? $pocty['Ano'] : 0;
 echo $pocet;

syntax error, unexpected T_VARIABLE in /3w/wz.cz/v/vyms/inde.php on line 125

todle je řádek 125 $pocty = array_count_values($vypis)
juriad
Profil
Aha. Takže $vypis neobsahuje jeden řádek, ale celý výsledek dotazu. Musíš ještě provést
$radek = mysql_fetch_array($vypis)
a následně pracovat s proměnnou $radek.
A samozřejmě nezapomínat na středníky.
pavlat
Profil
Furt nic.. kod mam takle

$vypis = mysql_query("SELECT * FROM `users` WHERE  `id`='".$id."'")
$radek = mysql_fetch_array($vypis);
$pocty = array_count_values($radek);
$pocet = isset($pocty['Ano']) ? $pocty['Ano'] : 0;
 echo $pocet;

ta sama chyba. Pochopil jsem to dobře?
fandaa
Profil
pavlat:
Pořád tam chybí středník.
pavlat
Profil
Ježiš už z toho šílim tak už to počítá ale počítá to 2 krát místo 4 píše 8... Nevíte co stím?


Vim že to můžu dělit. Ale jen jestli to nejde jinak.
fandaa
Profil
pavlat:
Kdyby ses podíval do manuálu nebo si vypsal obsah $radek, tak uvidíš, že tam jsou data 2x. Viz mysql_fetch_array.

Řešení je jednoduché:
$radek = mysql_fetch_array($vypis, MYSQL_NUM); // případně MYSQL_ASSOC
juriad
Profil
fandaa:
díky za upřesnění, na to jsem zapomněl
peta
Profil
SELECT * FROM `users` WHERE `id`='".$id."'
vybere vsechny uzivatele do x radku
$radek = mysql_fetch_array($vypis);
vybere prvni radek v poradi, cili vsechny sloupce z radku prvniho uzivatele
Co treba cyklus a presunout si to pekne do pole a z pole pak vyhledavat pocty slov?
A nedal by se ten pocet slov udelat pomoci sql?
pavlat
Profil
Děkuju moc todle řešim už ani nevim kolik hodin :-)


Pomocí Sql jsem to zkoušel a nefungovalo to jak má. Ale jsem začátečník. Takže o určitě pude s indexama.
Silver8000
Profil
Ja myslim ze mysql_fetch_assoc je lepsi neni to tam dvakrat
kdyby to byla blbost tak zapomente ze jsem neco tady psal.
fandaa
Profil
Silver8000:
Samozřejmě, mysql_fetch_assoc a mysql_fetch_row jsou ekvivalentní.
Úprava: ekvivalentní teda ke konstantám MYSQL_ASSOC a MYSQL_NUM - viz #15.
Jan Tvrdík
Profil
fandaa:
Samozřejmě, mysql_fetch_assoc a mysql_fetch_row jsou ekvivalentní.
To rozhodně nejsou :)
fandaa
Profil
Jan Tvrdík:
Chtěl jsem opravit, ty dvě samozřejmě spolu ekvivalentní nejsou, ale ekvivalentní je mysql_fetch_array($vypis, MYSQL_ASSOC) s mysql_fetch_assoc a mysql_fetch_array($vypis, MYSQL_NUM) s mysql_fetch_row.

Napsal jsem to poněkud nejasně.
MiroXXX
Profil *
function pocetSlovAno($str)
{
    $count = 0;
    foreach (preg_split('/\s+/', $str) as $word)
        if (mb_strtolower($word) == 'ano') ++$count;
    return $count;
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: