Autor | Zpráva | ||
---|---|---|---|
w8 Profil * |
#1 · Zasláno: 9. 10. 2006, 17:52:31
Ahoj. Zajimalo bymne, jak pokračovat v tomto pro vsechna pismena. Dekuji
Array( 'ä' => 'a', 'Ä' => 'a', 'á' => 'a', 'Á' => 'a', '%E8' => 'c', // č toto '%C8' => 'c', // Č toto 'ć' => 'c', atp. |
||
pavel prochazka.zde.cz Profil * |
#2 · Zasláno: 9. 10. 2006, 18:01:02
tezko rici.... nevim co resis....:)
|
||
w8 Profil * |
#3 · Zasláno: 9. 10. 2006, 18:11:32
no, jde o to, ze z tohoto
'Č' => 'c', 'ć' => 'c', udelam toto '%E8' => 'c', // č toto '%C8' => 'c', // Č toto |
||
pavel prochazka.zde.cz Profil * |
#4 · Zasláno: 9. 10. 2006, 18:27:09
takze chces odstranit diakritiku? Z jakeho kodovani.....
A moje funkce StandartStrin ti nestaci? |
||
w8 Profil * |
#5 · Zasláno: 9. 10. 2006, 18:51:21
No, toto funguje a tamto sem nerozchodil:(
|
||
pavel prochazka.zde.cz Profil * |
#6 · Zasláno: 9. 10. 2006, 19:00:12
to je nejak divne..... zde mas popis funkce ktera je v te me funkci standartstring..... skuste si doma skusit nejake pokusy:
strtr (PHP 3, PHP 4, PHP 5) strtr -- Translate certain characters Description string strtr ( string str, string from, string to ) string strtr ( string str, array replace_pairs ) This function returns a copy of str, translating all occurrences of each character in from to the corresponding character in to. If from and to are different lengths, the extra characters in the longer of the two are ignored. Example 1. strtr() example <?php $addr = strtr($addr, "äåö", "aao"); ?> strtr() may be called with only two arguments. If called with two arguments it behaves in a new way: from then has to be an array that contains string -> string pairs that will be replaced in the source string. strtr() will always look for the longest possible match first and will *NOT* try to replace stuff that it has already worked on. Example 2. strtr() example with two arguments <?php $trans = array("hello" => "hi", "hi" => "hello"); echo strtr("hi all, I said hello", $trans); ?> This will show: hello all, I said hi Note: This optional to and from parameters were added in PHP 4.0.0 |
||
w8 Profil * |
#7 · Zasláno: 9. 10. 2006, 19:28:59
Momentalne mi staci spravny zapis vsech pismen ve formatu '%C8' ale nevim, kde to najit, takze kdyby to nekdo mel, prosim Vas o to... a nebo par vet o tomto "kodovani" znaku.
|
||
pavel prochazka.zde.cz Profil * |
#8 · Zasláno: 9. 10. 2006, 19:43:05
nevim co je to za kodovani.... Ja mam ascii tabulku jen do 7F.... A tam neni diakritika... je to tabulka zroku 1989... Skuste pouzit funkci na prevod asii kodu na znak zda neni ta hodnota totozna.... pokud ano, tak si udelejte cyklus ktery vypise vsechny hodnoty a nebo jeste lepe vyrovy rovnou ten php kod.... at se stim nemusite silene piplat :)
|
||
krteczek Profil |
#9 · Zasláno: 9. 10. 2006, 19:51:03
w8:mužeš prosímtě ukázat celou aplikaci někde na netu, k tomu celý jeji kod a přesně specifikovat proč překládáš písmena na bezdiakritické písmo? možná bysme pochopili o co Ti jde a nabídli ti sofistikovanější řešení... čím více informací polopaticky podaných tim lépe (snad)
krteczek |
||
w8 Profil * |
#10 · Zasláno: 9. 10. 2006, 20:03:32
No, jde mi o vyhledavani. A jen potrebuji vytvorit to vyse. Ukazka kodu:
<? function upravstr($nazev){ $diakritika = Array( 'ä' => 'a', 'Ä' => 'a', 'á' => 'a', 'Á' => 'a', 'č' => 'c', 'Č' => 'c', 'ć' => 'c', 'Ć' => 'c', 'ď' => 'd', 'Ď' => 'd', 'ě' => 'e', 'Ě' => 'e', 'é' => 'e', 'É' => 'e', 'ë' => 'e', 'Ë' => 'e', 'í' => 'i', 'Í' => 'i', 'ľ' => 'l', 'Ľ' => 'l', 'ń' => 'n', 'Ń' => 'n', 'ň' => 'n', 'Ň' => 'n', 'ó' => 'o', 'Ó' => 'o', 'ö' => 'o', 'Ö' => 'o', 'ř' => 'r', 'Ř' => 'r', 'ŕ' => 'r', 'Ŕ' => 'r', 'š' => 's', 'Š' => 's', 'ś' => 's', 'Ś' => 's', 'ť' => 't', 'Ť' => 't', 'ú' => 'u', 'Ú' => 'u', 'ü' => 'u', 'Ü' => 'u', 'ý' => 'y', 'Ý' => 'y', 'ž' => 'z', 'Ž' => 'z', 'ź' => 'z', 'Ź' => 'z' ); $nazevx = strtr($nazev,$diakritika); $nazevx = strtolower($nazevx); return $nazevx; } Nejaka dobra duse mi poradila, at zkusim dat misto 'č' => 'c', 'Č' => 'c', toto: '%E8' => 'c', '%C8' => 'c', Pote jsme zkusil vyhledavat text, kde bylo č a jinak zadna diakritika, a slo to. takze chci prevest i ostatni pismenka na tyhle zaznamy.. rozumite mi uz? |
||
krteczek Profil |
#11 · Zasláno: 9. 10. 2006, 20:07:56
Já jsem měl na mysli včetně toho formuláře...
|
||
Anonymní Profil * |
#12 · Zasláno: 9. 10. 2006, 20:09:44
> Nejaka dobra duse mi poradila, at zkusim dat misto
tak nech ti povie aj ostatok :) nestaci toto: $search = StrTr ($search, "áäčďľéěëíňóöřšťúůüýžÁÄČĎĽÉĚËÍŇÓÖŘŠŤÚŮÜÝŽ", "aacdleeeinoorstuuuyzAACDLEEEINOORSTUUUYZ"); |
||
w8 Profil * |
#13 · Zasláno: 9. 10. 2006, 20:14:59
muzes mi ukazat, jak to bude vypadat v tomto kodu prosim? Nevim, jak to napojit... Proto hledam tamtu alternativu.
<? function upravstr($nazev){ $diakritika = Array( 'ä' => 'a', 'Ä' => 'a', 'á' => 'a', 'Á' => 'a', 'č' => 'c', 'Č' => 'c', 'ć' => 'c', 'Ć' => 'c', 'ď' => 'd', 'Ď' => 'd', 'ě' => 'e', 'Ě' => 'e', 'é' => 'e', 'É' => 'e', 'ë' => 'e', 'Ë' => 'e', 'í' => 'i', 'Í' => 'i', 'ľ' => 'l', 'Ľ' => 'l', 'ń' => 'n', 'Ń' => 'n', 'ň' => 'n', 'Ň' => 'n', 'ó' => 'o', 'Ó' => 'o', 'ö' => 'o', 'Ö' => 'o', 'ř' => 'r', 'Ř' => 'r', 'ŕ' => 'r', 'Ŕ' => 'r', 'š' => 's', 'Š' => 's', 'ś' => 's', 'Ś' => 's', 'ť' => 't', 'Ť' => 't', 'ú' => 'u', 'Ú' => 'u', 'ü' => 'u', 'Ü' => 'u', 'ý' => 'y', 'Ý' => 'y', 'ž' => 'z', 'Ž' => 'z', 'ź' => 'z', 'Ź' => 'z' ); $nazevx = strtr($nazev,$diakritika); $nazevx = strtolower($nazevx); return $nazevx; } $_GET['word'] = upravstr(htmlspecialchars($_GET['word'],ENT_QUOTES)); ?> <?php mysql_connect("**","**","***"); mysql_select_db("**"); $sql = "SELECT *,MATCH (jmeno, popis) AGAINST ('$_GET[word]' IN BOOLEAN MODE) relevancy FROM produkty WHERE MATCH (jmeno, popis) AGAINST ('$_GET[word]' IN BOOLEAN MODE) ORDER BY relevancy DESC"; $q = mysql_query ($sql); echo mysql_error(); $n = mysql_num_rows($q); ?> <p><?php echo $n; ?> <?//if ($n='1') //echo "záznam"; //elseif ($n='2,3,4') // echo "záznamy"; //else // echo "záznamů"; //endif; ?> záznamy/ů</p> <br /> <?php while ($arr = mysql_fetch_array($q)) { ?> <li><p><?echo $arr["jmeno"];?> <?echo " > "; ?> <?echo $arr["popis"];?></p> </li> <? } ?> <br /> <? mysql_close(); ?> |
||
krteczek Profil |
#14 · Zasláno: 9. 10. 2006, 20:47:32
No jo to je formulář odeslaná getem už je mi to jasne:-)
ušetříš si práci když form odešleš method="post" ale tady stačí použít funkci rawurldecode(); takže celou vyhledávací proceduru bych vypsal následovně:-)
vyzkoušej to a dej mi vědět jestli je to ok ;-) krteczek |
||
w8 Profil * |
#15 · Zasláno: 9. 10. 2006, 22:49:55
Tady jsi mel chybu mysql_fetch_asso mel jsi tam mysqk_fetch_asso
Jinak mi to nic nevypise, takze nevim zatim. |
||
w8 Profil * |
#16 · Zasláno: 10. 10. 2006, 00:11:42
Vypada to, ze jsem to zprovoznil, ale jetse nevim, jak zahjistit podrobnejsi vypis, tedy ze to vypise napr. popis. Porsimj, poradte kma a jak to umistit do kodu... dik
<?php include("connect.php"); if (get_magic_quotes_gpc()) { $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST, &$_FILES); while (list($key, $val) = each($process)) { foreach ($val as $k => $v) { unset($process[$key][$k]); if (is_array($v)) { $process[$key][($key < 5 ? $k : stripslashes($k))] = $v; $process[] =& $process[$key][($key < 5 ? $k : stripslashes($k))]; } else { $process[$key][stripslashes($k)] = stripslashes($v); } } } } if((!empty($_GET['word'])) && (rawurldecode(trim($_GET['word'])) != '')) { $slovo = rawurldecode($_GET['word']); $slovo = htmlspecialchars($slovo); $slovo = addslashes($slovo); //vypíšeme si obsah dotazu pro kontrolu jak vypada(mužeme zakomentovat) echo $slovo; $dotaz = "SELECT * FROM produkty WHERE (jmeno LIKE '%" . $slovo . "%') OR (popis LIKE '%" . $slovo . "%') "; if($v = mysql_query($dotaz)) { $p = mysql_num_rows($v); if($p > 0) { for($i = 0; $i < $p; $i++) { $r = mysql_fetch_assoc($v); //tady si to zpracuj dál } } else { echo 'lituji nebyl nalezen žáden záznam'; } } else { echo 'databáze vrátila na váš dotaz: <br>' . $dotaz . '<br>chybu číslo: ' . mysql_errno() . '<br>Její znění je: <br>' . mysql_error(); } } ?> |
||
krteczek Profil |
#17 · Zasláno: 10. 10. 2006, 00:29:40
jen zkráceně:
takhle jsem to udělal protože neznám tvoji tabulku. všechno by se mělo vypsat pod sebe a další položka oddělit hvězdičkami krteczek |
||
w8 Profil * |
#18 · Zasláno: 10. 10. 2006, 00:50:13
co znamena sa?
|
||
krteczek Profil |
#19 · Zasláno: 10. 10. 2006, 13:35:22
w8: kua další překlepy, jak nemá člověk možnost to zkoušet a píše jen zhlavy... :-(
znova:-)
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0