Jak napsat select (vrací Resource id #5)?
Testujeme 6 stejných bankovních ústavů v každém kraji. Do databáze se uloží data z formuláře, co už testeři navštívili. Chci udělat přehled, co už je hotové. Třeba tabulka pro středočeský kraj. Chci tam mít šest řádků s vypsanými bankami a prázdné místo pro město a ulici. Když to tester navštíví, doplní se město a ulice. Např tedy
<td>Česká spořitelna a. s.</td>
<?php
$sc_cs_mesto = mysql_query(
"Select mesto FROM bb_2013 WHERE kraj='Středočeský kraj' LIKE banka='Česká spořitelna a. s.'"
);
?>
<td><?php echo $sc_cs_mesto; ?>
Jenže tohle mi vrací Resource id #5
Co dělám blbě?
když tam dám
while( $row = mysql_fetch_array($sc_cs_mesto))
a v buňce <?php echo $row ['mesto']; ?>, zmizne sice Resource id, ale nic se nezobrazí.
resource id #5 atd. ti vypisuje pretoze nepouzivas mysql_fetch_array alebo mysql_fetch_assoc.
s najvacsou pravdepodobnostou mas problem s diakritikou.
cize daj sem co ti vypise v sqlku tento dotaz:
show variables where variable_name like '%coll%';
malo by to vyplut nieco podobne:
nojo, kódování
jdu studovat proč
To jsem z toho jelen...
vid moj prispevok ohladne vysvetlenia collation o jedno vyssie.
cp1250_czech_cs je nejaky windows like ceske collation pricom "cs" znamena case sensitive. "ci" je case insensitive - co urcite odporucam viac.
Mě to nikdy nezlobilo, mám tak snad 50 jiných.
skus este upravit ten select:
Select mesto FROM bb_2013 WHERE trim(kraj)='Středočeský kraj' and banka LIKE '%Česká spořitelna a. s.%'
Nepomohlo
tak skus tieto premenne nastavit vsetky na cp1250_czech_cs a potom ci pojde tvoj povodny select. podla mna je cely problem v tom, ze je to rozhasene na rozne collation a nie je to ujednotene.
Variable_name Value
collation_connection utf8_unicode_ci
collation_database latin2_czech_cs
collation_server utf8_czech_ci
Dík za pomoc, nebudu se s tím nervovat, udělal jsem to jako jsem začal tu Prahu a nad tím vším udělám tabulku s kraji a počtem vyplněných, aby se nemuselo rolovat.
http://kochlear.cz/banka-bez-barier/2013/vypisy/vy plnene.php
Aby sis do budoucna ušetřil nervy, poopravil bych návrh databáze.
Zaveď si číselník krajů i bank.
Nejenomže se zbavíš výše řešeného problému - kód 001 v databázi najdeš třeba v čínštině.
Ale banka se třeba může přejmenovat. Neopravoval bys všechny záznamy, ale jenom políčko název v číselníku.