Autor | Zpráva | ||
---|---|---|---|
spacek145 Profil |
Dobrý den, mám následující MySQL příkaz, který mi to tabulky vypíše USERNAME a BALANCE (číslená hodnota) v limitu 10
$result = mysql_query("SELECT username,balance FROM svestky ORDER BY balance DESC LIMIT 10"); while($row = mysql_fetch_assoc($result)){ Problém je to, ze do tabulky se zapisuje vse malym pismenem, a jelikoz to potrebuju naspano PRESNE takze velkyma i malyma.. tak se chci zeptat, zda-li by MySQL prikazem neslo z tabulky svestky vypsat jen BALANCE a z tabulky visne PLAYER a dát do do jednoho prikazu tak, ze by vysledkem byl $row['player'] a $row['balance'] nebo podobne? Jde to? ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ POUZE PRIKLADY! Tabulka: svestky ------------------------------------- USERNAME BALANCE ------------------------------------- marruska 50 Tabulka: Visne ------------------------------------- PLAYER SKUPINA ------------------------------------- MarrUSka mestan |
||
Str4wberry Profil |
#2 · Zasláno: 31. 3. 2013, 12:55:10
A existují nějaké sloupce, podle kterých by mohlo jít tabulky propojit?
|
||
spacek145 Profil |
#3 · Zasláno: 31. 3. 2013, 12:55:47
bohužel ne.
|
||
DJ Miky Profil |
Pokud ty tabulky jdou propojit podle jmen (která jsou v obou tabulkách stejná, jen se liší velikostí písmen), tak by to bylo např.:
SELECT v.player, s.balance FROM svestky s JOIN visne v ON (LOWER(s.username) = LOWER(v.player)) ORDER BY s.balance DESC LIMIT 10 Ale kvůli výkonu by bylo vhodnější přidat nějaké ID a propojovat podle něj. |
||
spacek145 Profil |
ano. presne tak... zkusím to
a ještě dotázek: v tom ".$row['player']." to mám použít takhle? nebo tam mam dát v.player? nebo jinak... nedaří se mi ty vytažená data správně dostat do row |
||
Tori Profil |
Jaké je na těch sloupcích nastavené porovnávání? Zkoušel jste, jestli nebude přeci jen fungovat obyčejné
svestky s JOIN visne v ON s.username = v.player ?
Pokud ne, tak se dá při spojování tabulek nastavit jiné porovnávání (pro oba porovnávané sloupce musí být stejné): svestky s JOIN visne v ON s.username COLLATE utf8_czech_ci = v.player COLLATE utf8_czech_ci --> mAruSKa == maruska
svestky s JOIN visne v ON s.username COLLATE utf8_general_ci = v.player COLLATE utf8_general_ci --> máRuŠKä == maruska
|
||
Časová prodleva: 11 let
|
0