Autor Zpráva
Stepanka
Profil *
Ahoj,
prosím neporadil by mi někdo?
Mám takový velice jednoduchý formulář:
echo '<form method="post" action="">';
echo '<input type="text" name="retezec" size="40">&nbsp;';
echo '<input type="submit" value="'.__VYHLEDAT__.'">';
echo '</form><br />';

A jeho vykonání:
if (isset ($_POST['retezec'])) {
	$slovo = StrTr ($retezec, "áäčďéěëíňóöřšťúůüýžÁÄČĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽ",
    "aacdeeeinoorstuuuyzAACDEEEINOORSTUUUYZ");
	$query = "SELECT *
  				FROM produkty 
				WHERE web = '".$_GET['eshop']."' ";
	                        AND nazev_cz_bezdiak LIKE '%$slovo%' 
				ORDER BY nazev_cz ";
	
	$result = mysql_query ($query);
 	
	$pocet_produktu = mysql_num_rows($result);
	echo '<b>'.__BYLO_NALEZENO__.' '.$pocet_produktu.' '.__PRODUKTU__.':</b><br /><br />';
	while ($row = mysql_fetch_array ($result)) {
		echo $row['nazev_cz'].'<br />';
	}
}


Funguje to celkem dobře, ale ta funkce Strtr se mi zdá divná. Protože když zadám vyhledávat slovo "digitální" vyhodí mi to 0 nalezených produktů. Ale když zadám "digitalni" vyhodí to 29 nalezených produktů. Což je nějaké zvláštní. Neměla by právě tohle dělat ta funkce strtr, aby to bralo "digitální" stejně jako "digitalni"?

Děkuju moc za jakékoliv rady.
Matty
Profil
Stepanka
Zkus dát místo „$slovo = StrTr ($retezec,“ tohle: $slovo = StrTr ($_POST['retezec'],
Stepanka
Profil *
Matty
Právě tohle mě napadlo hned jak jsem ten příspěvek odeslala, tak jsem to vyzkoušela, ale nepomohlo to. Ale děkuju.
BetaCam
Profil
Stepanka

Dej tam místo :

$slovo = StrTr ($retezec, "áäčďéěëíňóöřšťúůüýžÁÄČĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽ", "aacdeeeinoorstuuuyzAACDEEEINOORSTUUUYZ"); 


tohle :

$p = array('á'=>'a','ä'=>'a','č'=>'c','ď'=>'d','é'=>'e','ě'=>'e','ë'=>'e',' í'=>'i','ň'=>'n',
'ó'=>'o','ö'=>'o','ř'=>'r','š'=>'s','ť'=>'t','ú'=>'u','ů'=>'u','ü'=>'u ','ý'=>'y','ž'=>'z',
'Á'=>'A','Ä'=>'A','Č'=>'C','Ď'=>'D','É'=>'E','Ě'=>'E','Ë'=>'E','Í'=>'I ','Ň'=>'N',
'Ó'=>'O','Ö'=>'O','Ř'=>'R','Š'=>'S','Ť'=>'T','Ú'=>'U','Ů'=>'U','Ü'=>'U ','Ý'=>'Y','Ž'=>'Z');
$slovo = StrTr ($retezec, $p);
Stepanka
Profil *
BetaCam
Aha, děkuju moc, tohle funguje perfektně. Díky!

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: