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

Форум MySQL

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

 

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

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

тема: Извлечь значение из базы данных MySQL по GET-параметру
 
 автор: sma   (09.01.2008 в 16:57)   письмо автору
 
 

Приветствую.
Нужна помощь.
с php и mysql в плане программирования знаком поверхностно все больше серверное юникс администрирование.
Возникла потребность в скрипте который бы при выполнение через параметры в строке браузер получал некое число которое искалось бы в мускуле в некоторых значениях таблицы и после при положительном результате выдавал бы допустим ID которое можно былоб подставить в готовую адресную строку.

Суть в том что есть база мускул и пшп црм система в которой отсутствует поиск в адресной книги но есть выдача записей по ID а сортировки или выдачи по полям допустим телефон нету.

Может подскажите что да как?

   
 
 автор: Faraon   (09.01.2008 в 21:12)   письмо автору
 
   для: sma   (09.01.2008 в 16:57)
 

Передаете этот Гет-параметр через адресную строку.
Далее возможна обработка, скажем к примеру на магические кавычки.
Далее составляем запрос к БД, для примера такой
SELECT * FROM table WHERE id=Гет-параметр;
Далее в php обрабатываем результат запроса.

   
 
 автор: sma   (10.01.2008 в 11:09)   письмо автору
 
   для: Faraon   (09.01.2008 в 21:12)
 

Есть примерный вариант, но есть много но

[php]<?
$phone = intval($_GET['phone_id']);

$result = mysql_query("SELECT `id` FROM `fieldname` WHERE `phone` = '".$phone."'");
if(mysql_num_rows($result) > 0) {
for($i = 0; $i <= mysql_num_rows($result); $i++) {
echo mysql_result($result, $i, 'id')."\n";
}
}
else {
echo "Искомый телефон не найден в базе";
}

?>[/php]
Но надо чтобы поиск был в нескольких полях допустип не только в телефоне, а в рабочий, домашний и прочии.
Как сюда вставить параметры на подключение к базе и выбор таблиц.
Плюс id должен передаваться в другой юрл и этот юрл должен грузиться.

Вообще таблица у этой адресной книги создавалась такой
CREATE TABLE IF NOT EXISTS `addressbook` (
`contact_id` int(11) NOT NULL auto_increment,
`contact_tid` varchar(1) default 'n',
`contact_owner` bigint(20) NOT NULL,
`contact_private` tinyint(4) default '0',
`tel_work` varchar(40) default NULL,
`tel_cell` varchar(40) default NULL,
`tel_fax` varchar(40) default NULL,
`tel_assistent` varchar(40) default NULL,
`tel_car` varchar(40) default NULL,
`tel_pager` varchar(40) default NULL,
`tel_home` varchar(40) default NULL,
`tel_fax_home` varchar(40) default NULL,
`tel_cell_private` varchar(40) default NULL,
`tel_other` varchar(40) default NULL,
`tel_prefer` varchar(32) default NULL,
`account_id` int(11) default NULL,
PRIMARY KEY (`contact_id`),
UNIQUE KEY `addressbook_account_id` (`account_id`),
KEY `addressbook_contact_owner` (`contact_owner`),
KEY `addressbook_cat_id` (`cat_id`),
KEY `addressbook_n_fileas` (`n_fileas`),
KEY `addressbook_n_family_n_given` (`n_family`,`n_given`),
KEY `addressbook_n_given_n_family` (`n_given`,`n_family`),
KEY `addressbook_org_name_n_family_n_given` (`org_name`,`n_family`,`n_given`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

Берем номер телефона подставляем /search.php?phone_id=790300000XX
После он искалсяб в полях где есть tel_ если нашел то открывалась бы ссылка в которой подставлялсяб contact_id
/index.php?menuaction=addressbook&contact_id=1
А еслиб не находился то грузил ссылку /index.php?menuaction=addressbook

   
 
 автор: KPETuH   (10.01.2008 в 12:20)   письмо автору
 
   для: sma   (10.01.2008 в 11:09)
 

в запросах к базе так же можете использовать логику и/или

непример

"select id from addressbook where (phone='".$phone."') or (tel_dom='".$phone."')" и тд.

   
 
 автор: sma   (11.01.2008 в 13:22)   письмо автору
 
   для: sma   (10.01.2008 в 11:09)
 

Единтственное место где мне реально помогли
http://www.sql.ru/forum/actualthread.aspx?tid=512808&pg=-1

   
Rambler's Top100
вверх

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