Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вывод первых букв городов
 
 автор: liberty   (14.08.2013 в 04:45)   письмо автору
 
 

выводит список всех городов, а не буквы.
<?php 
$result 
mysql_query("SELECT * FROM town  WHERE
                    name LIKE '"
mysql_real_escape_string($_GET['letter']) ."%' 
                ORDER BY
                    name"
$db);
while (
$row mysql_fetch_array($result))   {
printf ("<a href='post.php?id_town=$row[id_town]'>%s</a> 
"
$row["name"]);
     }
?>



так тоже не помогает
<?php 
$result 
mysql_query("SELECT * FROM town WHERE left(name, 1) = '" mysql_real_escape_string($_GET['letter']) . "'"$db);
while (
$row mysql_fetch_array($result))   {
printf ("<a href='post.php?id_town=$row[id_town]'>%s</a> 
"
$row["name"]);
     }
?>


а так выводит города, начинающиеся на "а"
<?php 
$result 
mysql_query("SELECT * FROM town WHERE name LIKE 'а%'"$db);
while (
$row mysql_fetch_array($result))   {
printf ("<a href='post.php?id_town=$row[id_town]'>%s</a> 
"
$row["name"]);
     }
?>

  Ответить  
 
 автор: Rolex   (16.08.2013 в 01:17)   письмо автору
 
   для: liberty   (14.08.2013 в 04:45)
 

Здравствуйте. Попробуйте вот так:
<?php  
$result 
mysql_query("SELECT * FROM town  WHERE 
                    name LIKE '"
mysql_real_escape_string($_GET['letter']) ."%'  
                ORDER BY 
                    name"
$db); 
while (
$row mysql_fetch_array($result))   { 
echo 
"<a href='post.php?id_town=$row[id_town]'>$row["name"][0]</a>"
     } 
?>


Т.к. строка является по своей сути массивом символов, то скрипт выведет элемент массива с индексом "0", т.е. первую букву названия города.

  Ответить  
 
 автор: Valick   (16.08.2013 в 07:10)   письмо автору
 
   для: Rolex   (16.08.2013 в 01:17)
 

Rolex, гениально. Отправляем GET букву "а" получаем, 30-40 экземпляров буквы "а"....

  Ответить  
 
 автор: Valick   (16.08.2013 в 07:21)   письмо автору
 
   для: Valick   (16.08.2013 в 07:10)
 

SELECT LEFT(`name`,1) let, COUNT(`name`) cou FROM `town`  GROUP BY `name` ORDER BY `name`

  Ответить  
 
 автор: Valick   (16.08.2013 в 07:30)   письмо автору
 
   для: Valick   (16.08.2013 в 07:10)
 

:)

  Ответить  
 
 автор: Rolex   (16.08.2013 в 13:58)   письмо автору
 
   для: Valick   (16.08.2013 в 07:30)
 

Амиго, задача стоит не на запрос первых букв, а на вывод ))))

  Ответить  
 
 автор: Sfinks   (16.08.2013 в 21:06)   письмо автору
 
   для: Rolex   (16.08.2013 в 13:58)
 

А вот это еще не известно =) У этого автора все может быть. Тем более что в заголовке у него одно, а в коде - совсем другое =)

  Ответить  
 
 автор: Tonik992   (17.08.2013 в 23:55)   письмо автору
 
   для: liberty   (14.08.2013 в 04:45)
 

Автор, вот вам ссылка на супер статейку..
Помогает решать вообще любые возникающие вопросы. И не только в PHP!

http://habrahabr.ru/post/127967/

p.s. это я к тому, что у вас вообще не описана суть проблемы и что вы хотите сделать.. приходится лишний раз напрягаться и додумывать самому (и не факт, что это получится правильно) что же вам действительно нужно

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования