Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Alfabetyczne sortowanie
Forum PHP.pl > Forum > Bazy danych > MySQL
djmassive
Witam,

Zapewne ktoś już się tym interesował i mógłby mi bliżej przybliżyć, jak napisać takie coś smile.gif

Mam tabele np:

id | nazwa | miejscowosc | inne

chce aby na stronie byl alfabet, pokolei każda literka od a do z, pomijając takie, na które nie zaczyna się żadna miejscowość. Ale to będzie pryszczem jak dowiem się jak zrobić, aby z bazy pobrało mi te dane.

Tyle co wiem na chwile obecną to wartało by użyć takiego polecenia:

  1. SELECT * FROM tab_miejscowosci WHERE SUBSTRING(miejscowosc,1,1) = 'a'


i teraz tak, samo wykonanie tego nic mi nie daje - orientuje się troche w mySQL ale tego wyczaić nie moge. Wiem, ze wybiera z tabeli ble ble gdzie pierwsza litera jest 'a' - ale przy testach i wstawieniu tego zapytania na query i fetch do print_r zawsze wypisuje mi wartość 1 - niezależne czy jest jakaś miejscowość na podaną literke.

Jeżeli zna ktoś gdzieś jakiś artykuł, lub może mi to bliżej wytłumaczyć, będę wdzięczny 3-kroć smile.gif Zależy mi na czasie, bo w tym momencie ta głupota wstrzymuje prace sad.gif Pozdrawiam,
mysz
Cytat
chce aby na stronie byl alfabet, pokolei każda literka od a do z, pomijając takie, na które nie zaczyna się żadna miejscowość


  1. SELECT DISTINCT SUBSTRING(`miejscowosc`,1,1) AS letter FROM `tab_miejscowosci` ORDER BY letter


a później:
  1. SELECT * FROM `tab_miejscowosci` WHERE `miejscowosc` LIKE 'a%'


Tylko załóż sobie index na kolumnę `miejscowosc`.
bulek01
  1. <?
  2. //BY bulek
  3. $host = "";
  4. $user = "";
  5. $pass = "";
  6. $baza = "";
  7.  
  8. $id = $_GET['entry'];
  9.  
  10. $nazwaq = $_POST['nazwa'];
  11. $gadkaq = $_POST['gadka'];
  12. $zadanieq = $_POST['zadanie'];
  13. $endq = $_POST['end'];
  14. $wygranaq = $_POST['wygrana'];
  15. $ip = $_SERVER['REMOTE_ADDR'];
  16.  
  17. @$polacz = mysql_connect($host,$user,$pass);
  18.  
  19. IF(!$polacz)
  20. {
  21. echo "<font color=\"red\">Placzenie z baza nieudane serwer prawdopodobnie jest <b>offinline</b></font>";
  22. }
  23.  
  24. else
  25.  
  26. {
  27. IF(@!mysql_select_db($baza))
  28. {
  29. echo "Error: Niemożna wybrać bazy danych";
  30. }
  31.  
  32. else
  33.  
  34. {
  35. IF($nazwaq != "")
  36. {
  37. $sql = mysql_query("UPDATE quest_template SET Title='".$nazwaq."',Details = '".$gadkaq."',Objectives = '".$zadanieq."',OfferRewardText = '".$endq."',RequestItemsText = '".$wygranaq."' WHERE entry = ".$id." ");
  38. IF($error = mysql_error())
  39. {
  40. echo $error;
  41. }
  42. else
  43. {
  44. $sql = mysql_query("INSERT INTO quest_zmiana (ip,entry,name) VALUES ('".$ip."','".$id."','".$nazwaq."')");
  45. echo "Quest pomyslnie zmodyfikowany";
  46. }
  47.  
  48. echo "<br><a href=\"/?entry=".$id."\">Powrót</a>";
  49. }
  50. else
  51. {
  52. $sql = mysql_query("SELECT Title,entry FROM quest_template ORDER BY Title ASC");
  53. IF($id != "")
  54. {
  55. $sql = mysql_query("SELECT Title,Details,Objectives,OfferRewardText,RequestItemsText FROM quest_template WHERE entry=".$id." ");
  56. $wynik = mysql_fetch_array($sql,MYSQL_BOTH);
  57.  
  58. echo "
  59. <form method=\"post\">
  60. <div align=\"left\">
  61. Zasady tłumaczenia questów
  62. <br>Używamy następujących znaków
  63. <br>\$B\$B - Odstęp jednej lini
  64. <br>\$N - Nick gracza
  65. <br>\$r - klasa gracza
  66. <br>Nieużywamy znaków polskich to znaczy ą,ź,ć,ł itd.
  67. <br>Niewolno wpisywać głupot lub innych treści niezgodnych z questem.
  68. <br>I nazwa questa ma być wpisana tak np: Egg Hunt - Tropienie jaj.Musi być angielska nazwa i polska.
  69. <br><hr width=\"40%\">
  70. <br><table>
  71. <tr>
  72. <td>
  73. ".$wynik['Title']."
  74. </td>
  75.  
  76. <td>
  77. <input type=\"text\" value=\"".$wynik['Title']."\" name=\"nazwa\">
  78. </td>
  79. </tr>
  80. <tr>
  81. <td><b>Details</b></td>
  82. </tr>
  83. <tr>
  84. <td width=\"50%\">
  85. ".$wynik['Details']."
  86. </td>
  87. <td>
  88. <textarea name=\"gadka\" style=\"width: 100%; height: 100%\">".$wynik['Details']."</textarea>
  89. </td>
  90. </tr>
  91. <tr>
  92. <td><b>Objectives</b></td>
  93. </tr>
  94. <tr>
  95. <td width=\"50%\">
  96. ".$wynik['Objectives']."
  97. </td>
  98. <td>
  99. <textarea name=\"zadanie\" style=\"width: 100%; height: 100%\">".$wynik['Objectives']."</textarea>
  100. </td>
  101. </tr>
  102. <tr>
  103. <td><b>Completion Text</b></td>
  104. </tr>
  105. <tr>
  106. <td width=\"50%\">
  107. ".$wynik['OfferRewardText']."
  108. </td>
  109. <td>
  110. <textarea name=\"end\" style=\"width: 100%; height: 100%\">".$wynik['OfferRewardText']."</textarea>
  111. </td>
  112. </tr>
  113. <tr>
  114. <td><b>Incomplete Text</b></td>
  115. </tr>
  116. <tr>
  117. <td width=\"50%\">
  118. ".$wynik['RequestItemsText']."
  119. </td>
  120. <td>
  121. <textarea name=\"wygrana\" style=\"width: 100%; height: 100%\">".$wynik['RequestItemsText']."</textarea>
  122. </td>
  123. </tr>
  124. <tr>
  125. <td align=\"right\"><input type=\"submit\" value=\"Zmień treść\"></td>
  126. </tr>
  127. </table>
  128. </div>
  129. </form>
  130. ";
  131. }
  132. else
  133. {
  134. while($wynik = mysql_fetch_array($sql, MYSQL_BOTH)) {
  135.  
  136. echo "<br><a href=\"/?entry=".$wynik['entry']."\">".$wynik['Title']."</a>";
  137. }
  138. }
  139. }
  140.  
  141. }
  142. }
  143. ?>


Chciałem zrobić, tak jak kolega, aby wypisywane nazwy można było podzielić na litery.Używałem powyższych zapytań ale mi bład wywalało.Jeżeli ktoś mógłby mi je poprawnie wstawić.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.