Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Autouzupelnianie, PHP+AJAX
Youkash
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 24.10.2004

Ostrzeżenie: (0%)
-----


Witam, mam problem skopiowałem skrypt do uzupełniania danych na stronie i nie moge go zmusic do pracy z polskimi literami jezeli polska literka stoi na 2 miejscu w wyszukiwaniu,wszystko jest okej. Jeżeli wpisujemy ja na pierwszym nic nie znajduje, a napewno sa wpisy z polskimi literami nap "Żaby"

To strona na ktorej jest wyszukiwarka:
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. <script type="text/javascript" charset="UTF-8" src="js/bsn.AutoSuggest_c_2.0.js"></script>
  5. <link rel="stylesheet" href="css/autosuggest_inquisitor.css" type="text/css" media="screen" charset="utf-8" />
  6. </head>
  7. <body>
  8. <form name="form1" method="post">
  9. <input id="testinput" name="znajdz" type="text" class="input_brazowy" size="14"></td>
  10. <img src="../gfx/space.gif" width="6" height="10" border="0"></td>
  11. <input name="stan" type=submit value="szukaj">
  12. </td>
  13. </form>
  14. <table width="760" border="1" align="center" cellpadding="0" cellspacing="0">
  15. <TR>
  16. <td width="6%">ID</td>
  17. <td width="18%">Nazwa_polska_gatunku</td>
  18. <td width="18%">Nazwa_lacinska_gatunku</td>
  19. <td width="18%">Status_ochronny_konwencja</td>
  20. <td width="18%">Status_ochronny_ue</td>
  21. <td width="18%">Gatunek_lacinska</td>
  22. <td width="18%">Gatunek_polska</td>
  23. <td width="18%">Rodzaj_lacinska</td>
  24. <td width="18%">Rodzaj_polska</td>
  25. <td width="18%">Rodzina_lacinska</td>
  26. <td width="18%">Rodzina_polska</td>
  27. <td width="18%">Rzad_lacinska</td>
  28. <td width="18%">Rzad_polska</td>
  29. <td width="18%">Gromada_lacinska</td>
  30. <td width="18%">Gromada_polska</td>
  31. <td width="18%">Typ_lacinska</td>
  32. <td width="18%">Typ_polska</td>
  33. <td width="18%">Krolestwo_lacinska</td>
  34. <td width="18%">Krolestwo_polska</td>
  35. <td width="18%">Link_archive</td>
  36. <td width="18%">Zdjecie</td>
  37. <td width="30%">Komentarz</td>
  38. <td width="18%">Opis</td>
  39. <td width="18%">Podpis_pod_zdjeciem</td>
  40. <td width="18%">synonimy</td>
  41. <td width="18%">mapa</td>
  42. </TR>
  43. <?php
  44. $connection = mysql_connect("*", "*", "*")
  45. or die ("Nie można połączyć się z bazą SQL");
  46.  
  47. $db = mysql_select_db("*", $connection)
  48. or die ("Nie można wybrać bazy SQL");
  49.  
  50. if($stan=='szukaj') {
  51. echo $znajdz;
  52.  
  53. $zapytanie = "SELECT * FROM `UE` WHERE `Nazwa_polska_gatunku` LIKE '%$znajdz%' or `Nazwa_lacinska_gatunku` LIKE '%$znajdz%' or `test1` LIKE '%$znajdz%'";
  54.  
  55. $wykonaj = mysql_query ($zapytanie);
  56.  
  57. while($wiersz=mysql_fetch_array ($wykonaj)) {
  58. echo "<tr><td width=\"6%\">".$wiersz['ID']."</td>";
  59. echo "<td width=\"18%\">".$wiersz['Nazwa_polska_gatunku']."</td>";
  60. echo "<td width=\"18%\">".$wiersz['Nazwa_lacinska_gatunku']."</td>";
  61. echo "<td width=\"18%\">".$wiersz['Status_ochronny_konwencja']."</td>";
  62. echo "<td width=\"18%\">".$wiersz['Status_ochronny_ue']."</td>";
  63. echo "<td width=\"18%\">".$wiersz['Gatunek_lacinska']."</td>";
  64. echo "<td width=\"18%\">".$wiersz['Gatunek_polska']."</td>";
  65. echo "<td width=\"18%\">".$wiersz['Rodzaj_lacinska']."</td>";
  66. echo "<td width=\"18%\">".$wiersz['Rodzaj_polska']."</td>";
  67. echo "<td width=\"18%\">".$wiersz['Rodzina_lacinska']."</td>";
  68. echo "<td width=\"18%\">".$wiersz['Rodzina_polska']."</td>";
  69. echo "<td width=\"18%\">".$wiersz['Rzad_lacinska']."</td>";
  70. echo "<td width=\"18%\">".$wiersz['Rzad_polska']."</td>";
  71. echo "<td width=\"18%\">".$wiersz['Gromada_lacinska']."</td>";
  72. echo "<td width=\"18%\">".$wiersz['Gromada_polska']."</td>";
  73. echo "<td width=\"18%\">".$wiersz['Typ_lacinska']."</td>";
  74. echo "<td width=\"18%\">".$wiersz['Typ_polska']."</td>";
  75. echo "<td width=\"18%\">".$wiersz['Krolestwo_lacinska']."</td>";
  76. echo "<td width=\"18%\">".$wiersz['Krolestwo_polska']."</td>";
  77. echo "<td width=\"18%\">".$wiersz['Link_archive']."</td>";
  78. echo "<td width=\"18%\">".$wiersz['Zdjecie']."</td>";
  79. echo "<td width=\"30%\">".$wiersz['Komentarz']."</td>";
  80. echo "<td width=\"18%\">".$wiersz['Opis']."</td>";
  81. echo "<td width=\"18%\">".$wiersz['Podpis_pod_zdjeciem']."</td>";
  82. echo "<td width=\"18%\">".$wiersz['synonimy']."</td>";
  83. echo "<td width=\"18%\">".$wiersz['mapa']."</td>";
  84. echo "</tr>";
  85. }
  86. }
  87.  
  88. ?>
  89.  <script type="text/javascript" charset="utf-8">
  90. var options = {
  91. script:"test.php?json=true&",
  92. varname:"input",
  93. json:true,
  94. callback: function (obj) { document.getElementById('testid').value = obj.id; }
  95. };
  96. var as_json = new AutoSuggest('testinput', options);
  97.  
  98.  
  99. var options_xml = {
  100. script:"test.php?",
  101. varname:"input"
  102. };
  103. var as_xml = new AutoSuggest('testinput_xml', options_xml);
  104. </script>
  105. </body>
  106. </html>


To jest kod pliku test.php wyswietlajacego podpowiedzi
  1. <?php
  2. /*
  3. note:
  4. this is just a static test version using a hard-coded countries array.
  5. normally you would be populating the array out of a database
  6.  
  7. the returned xml has the following structure
  8. <results>
  9. <rs>foo</rs>
  10. <rs>bar</rs>
  11. </results>
  12. */
  13.  
  14. $aUsers = array(
  15. "Czubacz hełmiasty",
  16. "Ĺťurawie",
  17. "Dropie",
  18. "Korońce",
  19. "Papugowe",
  20. "Ary niebieskie",
  21. "Meksykanki",
  22. "Loreczki",
  23. "Turaki",
  24. "Sowy",
  25. "Kolibry",
  26. "DzioboroĹĽce",
  27. "Skalikurki",
  28. "Cudowronki",
  29. "Pudełeczniki",
  30. "Kaczugi",
  31. "Terapeny, (amerykańskie) ĹĽółwie pudełkowe, terapeny",
  32. "Ĺťółwie lądowe",
  33. "Ĺťółwie morskie",
  34. "Ĺťółwiaki wąskogłowe",
  35. "Ĺťółwiaki olbrzymie",
  36. "Terekaj",
  37. "Krokodylowate",
  38. "Tuatary; Hatterie",
  39. "Biczogony",
  40. "Kameleony ĹĽyworodne",
  41. "Kameleony ĹĽyworodne",
  42. "Legwany fidĹĽyjskie",
  43. "Legwany lądowe z Galapagos",
  44. "Legwany nosorogie",
  45. "Legwany; Iguana",
  46. "Szyszkowce",
  47. "Teju kajmanowy",
  48. "Teju",
  49. "Helodermy",
  50. "Warany",
  51. "Pytony norowe",
  52. "Pytony",
  53. "Boa",
  54. "Ropuchy ĹĽyworodne",
  55. "Drzewołazy",
  56. "Epifitołaz",
  57. "Liściołazy",
  58. "Mantelle",
  59. "Ĺťaby gÄ™borodne",
  60. "Salamandry olbrzymie",
  61. "Pławikoniki",
  62. "Latimerie",
  63. "Organeczniki",
  64. "Ä™",
  65. "ZĹťaby gÄ™borodne",
  66. "ZŻĹťaby gÄ™borodne"
  67. );
  68.  
  69. $aInfo = array(
  70. "North Yorkshire",
  71. "Nottinghamshire"
  72. );
  73. $input = strtolower( $_GET['input'] );
  74. $len = strlen($input);
  75. $aResults = array();
  76.  
  77. if ($len)
  78. {
  79. for ($i=0;$i<count($aUsers);$i++)
  80. {
  81. // had to use utf_decode, here
  82. // not necessary if the results are coming from mysql
  83. //
  84.  if (strtolower(substr(utf8_decode($aUsers[$i]),0,$len)) == $input)
  85. $aResults[] = array( "id"=>($i+1) ,"value"=>htmlspecialchars($aUsers[$i]), "info"=>htmlspecialchars($aInfo[$i]) );
  86.  
  87. //if (stripos(utf8_decode($aUsers[$i]), $input) !== false)
  88. // $aResults[] = array( "id"=>($i+1) ,"value"=>htmlspecialchars($aUsers[$i]), "info"=>htmlspecialchars($aInfo[$i]) );
  89. }
  90. }
  91. header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
  92. header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
  93. header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
  94. header ("Pragma: no-cache"); // HTTP/1.0
  95. header ("Content-Type: content=text/html; charset=UTF-8");
  96.  
  97. if (isset($_REQUEST['json']))
  98. {
  99. header("Content-Type: application/json; charset=UTF-8");
  100.  
  101.  
  102. echo "{\"results\": [";
  103. $arr = array();
  104. for ($i=0;$i<count($aResults);$i++)
  105. {
  106. $arr[] = "{\"id\"\"".$aResults[$i]['id']."\"\"value\"\"".$aResults[$i]['value']."\"\"info\"\"\"}";
  107. }
  108. echo implode(", ", $arr);
  109. echo "]}";
  110. }
  111. else
  112. {
  113. header("Content-Type: text/xml");
  114.  
  115. echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?><results>";
  116. for ($i=0;$i<count($aResults);$i++)
  117. {
  118. echo "<rs id=\"".$aResults[$i]['id']."\" info=\"".$aResults[$i]['info']."\">".$aResults[$i]['value']."</rs>";
  119. }
  120. echo "</results>";
  121. }
  122. ?>


Nie wiem jak sie zabrać za rozwiązanie tego problem, nie wiem dlaczego akurat z pierwsza polska listera nie działa

Ten post edytował Youkash 28.08.2008, 08:20:16
Go to the top of the page
+Quote Post

Posty w temacie
- Youkash   Autouzupelnianie   27.08.2008, 11:04:21


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 19:26