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

Форум MySQL

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

 

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

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

тема: Алфавитная навигация?
 
 автор: sidPR   (01.10.2005 в 16:14)   письмо автору
 
 

Народ подскажите как зделать навигацию по алфавиту RUS & ENG есть поле Id за ним следует поле name вот хачю зделать так чтобы к примеру при клике на букву "A" выдавалась вся инфа из поля Name начинающяяся с буквы A... заранее спасибо

   
 
 автор: cheops   (01.10.2005 в 22:53)   письмо автору
 
   для: sidPR   (01.10.2005 в 16:14)
 

Хм... так вы уже задавали этот вопрос - ответ в последнем посте вашей темы http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=6833

   
 
 автор: sidPR   (02.10.2005 в 18:47)   письмо автору
 
   для: cheops   (01.10.2005 в 22:53)
 

а как линк делать после selecta ?

SELECT * FROM gtat WHERE MID(auto,1,1) = 'K' 

привидите пожалуйста пример хотябы с двумя буквами ..
заранее благодарен

   
 
 автор: cheops   (02.10.2005 в 19:19)   письмо автору
 
   для: sidPR   (02.10.2005 в 18:47)
 

Линк на что?

   
 
 автор: sidPR   (02.10.2005 в 23:50)   письмо автору
 
   для: cheops   (02.10.2005 в 19:19)
 

ну всмысле линк на буква "K" к примеру .
да и вообще что делает эта выражение?:

SELECT * FROM gtat WHERE MID(auto,1,1) = 'K' 

   
 
 автор: cheops   (03.10.2005 в 13:21)   письмо автору
 
   для: sidPR   (02.10.2005 в 23:50)
 

Ну как обычно...
<a href=page.php?letter=K>K</a>

или
<a href=page.php?letter=<?php echo rawurlencode('К'); ?>>К</a>

Если буква русская...
Запрос выбирает все записи, которые начинаются с буквы K

   
 
 автор: sidPR   (03.10.2005 в 13:58)   письмо автору
 
   для: cheops   (03.10.2005 в 13:21)
 

а

SELECT * FROM gtat WHERE MID(auto,1,1) = 'K' 

из всех полей выбирает? просто мне нужно например для определенного поля name выбор чтобы был..

   
 
 автор: cheops   (03.10.2005 в 14:38)   письмо автору
 
   для: sidPR   (03.10.2005 в 13:58)
 

Запрос выбирает все записи таблицы и все столбцы для которых поле auto начинается с литеры К.

   
 
 автор: sidPR   (03.10.2005 в 14:44)   письмо автору
 
   для: cheops   (03.10.2005 в 14:38)
 

а вот мне нужно чтобы с определенного поля искала ... реально ?

   
 
 автор: cheops   (03.10.2005 в 15:06)   письмо автору
 
   для: sidPR   (03.10.2005 в 14:44)
 

С какого-то конкретного номера? Тогда в условие поиска следует просто добавить ещё одно ограничение
SELECT * FROM gtat WHERE MID(auto,1,1) = 'K' AND num > 1000

   
 
 автор: napTu3aH   (03.10.2005 в 15:10)   письмо автору
 
   для: sidPR   (03.10.2005 в 14:44)
 

Перечислите просто вмест звездочки названия полей, которые нужно выбрать

SELECT name, surname, forname FROM gtat WHERE MID(auto,1,1) = 'K'


Выбирает только поля(name, surname, forname)

   
 
 автор: sidPR   (03.10.2005 в 19:13)   письмо автору
 
   для: napTu3aH   (03.10.2005 в 15:10)
 

так ну происходит выборка к примеру а как зделать чтобы она выдовало все что выбрало правильно слинками ?

   
 
 автор: napTu3aH   (03.10.2005 в 19:47)   письмо автору
 
   для: sidPR   (03.10.2005 в 19:13)
 

>так ну происходит выборка к примеру а как зделать чтобы она
>выдовало все что выбрало правильно слинками ?
Линк на что?

   
 
 автор: sidPR   (03.10.2005 в 20:06)   письмо автору
 
   для: napTu3aH   (03.10.2005 в 19:47)
 

Я прото что после селекта чтобы отображалась инфа которая например начинаеться только на букву "К"

   
 
 автор: napTu3aH   (03.10.2005 в 20:23)   письмо автору
 
   для: sidPR   (03.10.2005 в 20:06)
 

Насколько я понял вы имеете ввиду, как вывести информацию из Базы в браузер после нажатия на ссылку с определенной буквой?
Для этого существует несколько способов, вот один из них

#Формируете запрос к БД
$sql="select * from table";
$r=mysql_query($sql);
#Выводите все найденые результаты из поля "name"
for($i=0; $i<mysql_num_rows($r); $i++)

$f=mysql_fetch_array($r);
echo "$f[name]<br>";
}
?>

   
 
 автор: sidPR   (10.10.2005 в 21:03)   письмо автору
 
   для: napTu3aH   (03.10.2005 в 20:23)
 

Вроде пашет но криво например при селекте только буквы "S" выводить все что есть с ней и еще русские буквы влазиют в список непойму каким гаком ... =\

   
 
 автор: sidPR   (12.10.2005 в 20:44)   письмо автору
 
   для: sidPR   (10.10.2005 в 21:03)
 

что делать как быть с русскими названиями пожаулуйста помагите ! :(

   
 
 автор: cheops   (12.10.2005 в 20:51)   письмо автору
 
   для: sidPR   (12.10.2005 в 20:44)
 

А вы какой запрос используете?
SELECT name, surname, forname FROM gtat WHERE MID(auto,1,1) = 'S'

   
 
 автор: sidPR   (12.10.2005 в 21:48)   письмо автору
 
   для: cheops   (12.10.2005 в 20:51)
 

Вот мой запрос:

$s_sql = "SELECT auto FROM '$table' WHERE MID(auto,1,1) = 'A'";

далее выводить все ок все что начинаеться буквы "A" - eng + к етому все в конце выводяться данные еще и с русскими буквами ? почему так...

   
 
 автор: cheops   (12.10.2005 в 22:37)   письмо автору
 
   для: sidPR   (12.10.2005 в 21:48)
 

Хм... а MySQL какой версии используется и в какой кодировке данные в таблице?

   
 
 автор: sidPR   (12.10.2005 в 23:35)   письмо автору
 
   для: cheops   (12.10.2005 в 22:37)
 

MySQL 3.23.54-nt
cp1251

   
 
 автор: cheops   (13.10.2005 в 13:06)   письмо автору
 
   для: sidPR   (12.10.2005 в 23:35)
 

Это хостинг или локальная машина?

   
 
 автор: sidPR   (13.10.2005 в 22:40)   письмо автору
 
   для: cheops   (13.10.2005 в 13:06)
 

Локаль :)

   
 
 автор: cheops   (13.10.2005 в 23:31)   письмо автору
 
   для: sidPR   (13.10.2005 в 22:40)
 

Тогда при переходе на реальный сервер скорее всего всё образуется - на этой версии настроить MySQL для нормальной работы под Windows с русскими кодировками можно только после перекомпиляции дистрибутива.

   
 
 автор: sidPR   (14.10.2005 в 01:07)   письмо автору
 
   для: cheops   (13.10.2005 в 23:31)
 

а какую верси тогда посоветуете поставить? и как все данные граматно перенести на новую.
и кстате говоря ставил новую mysql непомню какую версию тык вот у меня возникала проблема с авторизацией на своих админ панелях тоесть зашифрованный пароль в mysql непринимался . :) + возникала проблема с установкой пароль root непринимало =( посоветуйте какую поставить ..

   
 
 автор: cheops   (14.10.2005 в 16:35)   письмо автору
 
   для: sidPR   (14.10.2005 в 01:07)
 

Поставьте MySQL 4.0.25 - в ней можно настроить корректную сортировку русского языка, и в тоже время отсутсвуют проблемы с паролями которые возникают в MySQL 4.1 - так как в ней изменился формат функции PASSWORD и для старых паролей следует использовать OLD_PASSWORD.

   
 
 автор: sidPR   (18.10.2005 в 19:09)   письмо автору
 
   для: cheops   (14.10.2005 в 16:35)
 

вы были правы поставил 4.1 все алфовитка нормальна стала выводиться... :)

   
 
 автор: sidPR   (18.10.2005 в 21:03)   письмо автору
 
   для: sidPR   (18.10.2005 в 19:09)
 

тут сталкнулся с такой трабло...незнаю получиться ли понятно объяснить...
есть алфовитная навигации
выборка и вывод типо того:
$s_sql = "SELECT auto FROM '$table' WHERE MID(auto,1,1) = '$letter'";

$r = mysql_query($s_sql);

for($i=0; $i<mysql_num_rows($r); $i++)

WHILE ($arr = mysql_fetch_array($r))
{
выводим инфу ..
}
поясню какая буква выбрана в навигации такой и будет переменна $letter...
так дальше я интегрирую ето все себе на сайт
а у меня до этого была там построничная навигация...

ну тык вот там у меня чтото типо этого
// Формируем и выполняем SQL-запрос
$select_sql = "SELECT * FROM $table
ORDER BY id DESC
LIMIT $begin, $pnumber";
$result = MYSQL_QUERY($select_sql);
if(!$result) exit(mysql_error());

// Постраничная навигация
$query = "SELECT COUNT(*) FROM $table ";
$ctg = mysql_query($query);
if(!$ctg) puterror("Ошибка при обращении к таблице");
$total = mysql_result($ctg,0);

IF ($total == 0) {
PRINT "<CENTER><P>Автомобилей в наличии нет !времено</CENTER>";
}
ELSEIF ($total > 0)
{
PRINT "<CENTER><P>Автомобилей в наличии: $total<BR><BR>";

WHILE ($arr = mysql_fetch_array($result))
{
Проблема в том что я нехачю алфовитную убирать я просто хачю сформировать правило чтото типо если че нажал на букву в алфовитной навигации то просто селект базы меняеться на $s_sql = "SELECT auto FROM '$table' WHERE MID(auto,1,1) = '$letter'";
типо того ... ну и естественно постраничка остаеться для выбронной буквы ...
надеюсь более мене понятно =\

   
 
 автор: cheops   (18.10.2005 в 21:46)   письмо автору
 
   для: sidPR   (18.10.2005 в 21:03)
 

Чего-то не очень понятно :( Может новую тему заведём для разбора этой задачи?

PS И если не сложно помещайте код в тэги [code][ /code] - иначе сложно вопрос воспринимать...

   
Rambler's Top100
вверх

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