Autor | Zpráva | ||
---|---|---|---|
FraK Profil * |
#1 · Zasláno: 29. 1. 2007, 20:14:43
Dobrý den,
nenašel jsem možnost řazení dat dle prvního písmene v řetězci. Je nutné zadávat do zvláštního sloupce toto písmeno a poté řadit podle něj a nebo to jde jinak. Konkrétně Databáze Jmen, kdy na straně klienta je Abeceda a potřebuji výstup dle písmen. Děkuji a omlouvám se za možná triviální dotaz |
||
25k Profil * |
#2 · Zasláno: 29. 1. 2007, 20:33:01
Uaaa ted sem se probudil. Takze co me z fleku napadlo je oriznout sloupec jmeno
$pismeno = "B"; 1/ SELECT SUBSTRING(jmeno, 1, 1) as PrvniPismeno , prijmeni from tabulka WHERE PrvniPismeno = '$pismeno' 2/ SELECT jmeno, prijmeni from tabulka WHERE jmeno REGEXP '^[$pismeno]' v 1 pripade se ti clovek jmenem CH bude ukazovat pod Cckem v 2 pripade by to mohlo byt funkcni, zalezi na tom jestli tam tech jmen nebudou tisice, REGEXPY nejsou nejreychlejsi, ale v tomhle pripade se to snad da prekousnoust. Treba poradi nekdo neco lepsiho |
||
FraK Profil * |
#3 · Zasláno: 29. 1. 2007, 20:37:24
Počítám tak 500 jmen, Jedná se o tabulku umělců a tedy nás není mnoho :))
|
||
djlj Profil |
#4 · Zasláno: 29. 1. 2007, 20:44:00
SELECT jmeno FROM tabulka ORDER BY SUBSTR(jmeno, 1, 1)
|
||
Kajman_ Profil * |
#5 · Zasláno: 29. 1. 2007, 21:21:44
Proč to neseřadi i podle dalších písmen. To přeci ničemu nevadí...
...order by jmeno a hotovo... a když tam bude nastavené české porovnání, tak bude i na správném místě ch. |
||
djlj Profil |
#6 · Zasláno: 29. 1. 2007, 21:22:55
Kajman_
To je pravda, nechal jsem se ovlivit zápisem 25k :) |
||
FraK Profil * |
#7 · Zasláno: 29. 1. 2007, 21:25:25
Jde mi o to, aby se při odeslání pismeno="K" zobrazila poze jména, začínající na K z celkové databáze. Pokud jsem špatně specifikoval dotaz, tak se omlouvám
|
||
FraK Profil * |
#8 · Zasláno: 29. 1. 2007, 21:25:57
Například "K"
|
||
djlj Profil |
#9 · Zasláno: 29. 1. 2007, 21:49:23
SELECT jmeno FROM tabulka WHERE SUBSTR(jmeno, 1, 1)="K"
|
||
FraK Profil * |
#10 · Zasláno: 29. 1. 2007, 21:51:02
Děkuju, pokusím se to zařadit
|
||
25k Profil * |
#11 · Zasláno: 29. 1. 2007, 21:53:21
djlj> sem rikal ze sem se vzbudil ;-).
btw co na to pismeno ch? ;-) no vlastne asi staci if ($_GET[pismeno] == "ch") SELECT jmeno FROM tabulka WHERE SUBSTR(jmeno, 2, 1)="$_GET[pismeno] " else SELECT jmeno FROM tabulka WHERE SUBSTR(jmeno, 1, 1)="$_GET[pismeno]" |
||
FraK Profil * |
#12 · Zasláno: 29. 1. 2007, 23:26:15
Děkuji moc za pomoc, nicméně těsně po tom, co jsem chtěl začít jásat, jak skvěle to funguje (cca 21:55) jsem zjistil, že nejsem schopen vypsat další pole z tabulky, res. další řádky, které mají společné ID s jmeno. Mohl bych ještě poprosit o pomoc? Část kódu:
... <li><a href="art_name.php?lett=K">K</a></li> ... if (get_magic_quotes_gpc()) $nazev = stripslashes($_GET['lett']); else $nazev = $_GET['lett']; $nazev = mysql_real_escape_string($nazev); ... $pocatecnipismeno = mysql_query("SELECT umelci_prijmeni AS jmeno FROM umelci_basic WHERE SUBSTR(umelci_prijmeni, 1, 1)='$nazev'"); if($pocatecnipismeno !== FALSE) { while ($prijmeni=mysql_fetch_assoc($pocatecnipismeno)){ $zbytek = mysql_query("SELECT umelci_jmeno, umelci_cv FROM umelci_basic WHERE umelci_id.umelci_prijmeni = umelci_id.umelci_jmeno, umelci_id.umelci_prijmeni = umelci_id.umelci_cv"); echo $prijmeni['jmeno']; echo $zbytek ['umelci_jmeno'];} ELSE |
||
FraK Profil * |
#13 · Zasláno: 29. 1. 2007, 23:26:51
to je samozřejěm nefunkční pokus.
|
||
FraK Profil * |
#14 · Zasláno: 29. 1. 2007, 23:42:49
zatím funguje GROUP BY
|
||
djlj Profil |
#15 · Zasláno: 30. 1. 2007, 08:17:08
$pocatecnipismeno = mysql_query("SELECT umelci_jmeno, umelci_cv FROM umelci_basic WHERE SUBSTR(umelci_prijmeni, 1, 1)='".$nazev."'");
|
||
Venca Černík Profil |
#16 · Zasláno: 30. 1. 2007, 17:58:05
Dobrý den,
mám jeden problém: Udělal jsem to tak jak by to mělo být ( $result = mysql_query('SELECT * FROM kategorie_tree WHERE substr(NAME, 1, 1)='.$kat); ) a pořád jsem si říkal proč to vyhazuje hlášku Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in ***** on line 18 Tak to hodím do phpMyAdmina a ono to hlásí: #1305 - FUNCTION *****.SUBSTR does not exist PS: Jsem na Pipni. |
||
Venca Černík Profil |
#17 · Zasláno: 30. 1. 2007, 18:05:30
Už to mám. Místo SUBSTR tam má být SUBSTRING.
Zlatej našeptávač Googlu (ve FF).. |
||
k Profil * |
#18 · Zasláno: 30. 1. 2007, 18:26:13
Mozna ze jsem uplne nepochopil problem ale proc nepouzit LIKE??
SELECT * FROM tabulka WHERE sloupec LIKE '".$co."%' ?? |
||
k Profil * |
#19 · Zasláno: 30. 1. 2007, 18:27:25
Venca Černík
djlj FraK 25k ?? |
||
djlj Profil |
#20 · Zasláno: 30. 1. 2007, 18:33:58 · Upravil/a: djlj
Venca Černík
Případně ještě WHERE LEFT(jmeno,1) = '".$kat."'. Zkus si, co bude rychlejší. k To by bylo tuším mnohem pomalejší… |
||
k Profil * |
#21 · Zasláno: 30. 1. 2007, 18:46:19
djlj
tusis spatne.. substring je pomalejsi nez like. |
||
25k Profil * |
#22 · Zasláno: 31. 1. 2007, 23:10:36
k> protoze kdyz zadas
?pismeno=CH tak to najde jak Cecilku tak Chabadu ... jestli mi rozumis milane ;-) |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0