0 / 0 / 0
Регистрация: 20.05.2011
Сообщений: 9

Поиск в MS Access средствами PHP

20.05.2011, 03:16. Показов 1533. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно, сабж. Есть файл mdb с некоторым набором таблиц, есть задача сделать поиск по таблице.
Кусок кода с главной страницы:
HTML5
1
2
3
4
<form action="search_emp.php" method="post">
<input type="text" name="occ" value="Введите специальность"/>
<input  type="submit" value="Поиск"/>
</form>
Код обработчика:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
 $x = odbc_connect("test", "", "");
 
$occ = $_REQUEST['occ'];
$query = "Select * from Резюме WHERE Специализация = $occ";
$result= odbc_num_rows($query);
echo $result;
 
 
if ($result == 0)
{
echo "Sorry, I couldn't find any result that matches your query ($occ)";
exit;    
}
else if ($result == 1)
{
echo "I've found <b>1</b> match!<br>";
}
else {
echo "I've found <b>$result</b> matches! <br>";
}
while ($row= odbc_fetch_array($query))
{
$first_name= $row["ФИО"];
 
echo "The first name of the user is: $first_name.<br>";
 
}
?>
При попытке поиска вылетает ошибка "Warning: odbc_num_rows() expects parameter 1 to be resource, string given". Разумеется, нифига найти невозможно
Жду идей
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2011, 03:16
Ответы с готовыми решениями:

Сложный поиск в форме Access Средствами VBA
Здравствуйте, подскажите если есть возможность. Ситуация такая, есть форма, на ней отображаются данные одной записи, переход между записями...

Расширенный поиск в БД средствами PHP
Здравствуйте! ПОдскажите пожалуйста как закончить расширенный поиск // беру переменные из формы $vvAuthor =trim($_POST); $vvTitle...

Поиск файла средствами php на сайте
Добрый день, хочу написать свою CMS и потихоньку собираю разные идеи, вот одна из них, подскажите как можно сделать функцию, которая бы...

6
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
20.05.2011, 09:28
Так написано ведь... в odbc_num_rows() надо передавать ресурс, а не строку.
Может сначала стоит выполнить запрос?
0
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
20.05.2011, 09:30
попробуй:
SQL
1
$query = "SELECT * FROM `Резюме` WHERE `Специализация` = \"$occ\" ";
может $occ ничего не содержит?
0
0 / 0 / 0
Регистрация: 20.05.2011
Сообщений: 9
20.05.2011, 15:08  [ТС]
Цитата Сообщение от FunDuck Посмотреть сообщение
Так написано ведь... в odbc_num_rows() надо передавать ресурс, а не строку.
Может сначала стоит выполнить запрос?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$occ = $_REQUEST['occ'];
$query = "SELECT * FROM `Резюме` WHERE `Специализация` = \"$occ\" ";
$res = odbc_prepare($x,$query);
 
$result = odbc_num_rows($res);
 
if ($result == 0)
{
echo "Sorry, I couldn't find any user that matches your query ($occ)";
exit;   
}
else if ($result == 1)
{
echo "I've found <b>1</b> match!<br>";
}
else {
echo "I've found <b>$result</b> matches! <br>";
}
 
while ($row= odbc_fetch_array($res))
{
$first_name= $row["ФИО"];
 
echo $first_name;
}
В этом варианте выводится только количество результатов $result, а $first_name нету.
Возможно, я запутался в порядке odbc-функций, т.к. их поведение слегка удивляет.
Есть идеи, в каком порядке/как реорганизовать получение результатов?
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
20.05.2011, 18:41
Да вроде с порядком все в порядке)
Возможно разные кодировки в базе и php скрипте? Поэтому лучше не использовать русский для названия таблиц и столбцов.
0
0 / 0 / 0
Регистрация: 20.05.2011
Сообщений: 9
21.05.2011, 03:56  [ТС]
Там дело даже не в кодировке. Пока переписываю обработчик с ноля.
Если верить php.su, то функция odbc_num_rows после запроса SELECT с параметром WHERE ВСЕГДА даёт в результате количество рядов -1. Потому и проблемы. Запрос, кстати, тоже синтаксически неправильный.
В общем, перепишу — скину
0
0 / 0 / 0
Регистрация: 20.05.2011
Сообщений: 9
22.05.2011, 18:20  [ТС]
Переделал, не без костылей и матов в адрес Мракософта.

Код обработчика:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
function xodbc_num_rows($sql_id, $CurrRow = 0) 
{ 
 $NumRecords = 0; 
 odbc_fetch_row($sql_id, 0); 
 while (odbc_fetch_row($sql_id)) 
 { 
  $NumRecords++; 
 } 
 odbc_fetch_row($sql_id, $CurrRow); 
 return $NumRecords; 
}
$occ = $_REQUEST['occ'];
$connect = odbc_connect("test", "", "");
$query = "SELECT * FROM Resume WHERE Spec like '%".$occ."%' " ;
 
$result = odbc_exec($connect, $query);
 
$cnt = xodbc_num_rows($result);
echo "По запросу <b>$occ</b> найдено " .$cnt . " результатов.";
?>
<center><h2>Резюме соискателей</h2></center>
<table border=1 cellspacing=0 cellpadding=4>
<tr><td>ФИО</td><td>Вакансия</td><td>Возраст</td><td>Телефон</td>
<td>Город</td><td>Опыт работы</td><td>Зарплата</td>
<td>Личные качества</td>
<td>E-mail</td>
<td>Владение языками</td>
<td>Цель</td>
<td>Профессиональные качества</td>
</tr>
<? 
for($i = 0; $i < $cnt; $i ++)
{
    $row = odbc_fetch_array($result, $i+1);
    echo '<tr><td>'.$row['ФИО'].'</td><td>';  
  echo $row['Spec'].'</td><td>'.$row['Возраст'].' лет</td>';
  echo '<td>'.$row['Телефон'].'</td><td>'.$row['МестоПроживания'].'</td>';
  echo '<td>'.$row['ОпытРаботы'].'</td><td>от '.$row['Зарплата'].' гривен</td>';
  echo '<td>'.$row['ЛичныеКачества'].'</td><td>'.$row['ЭлектроннаяПочта'].'</td>';
  echo '<td>'.$row['ВладениеЯзыками'].'</td><td>'.$row['Цель'].'</td>';
  echo '<td>'.$row['ПрофессиональныеНавыки'].'</td>';  
     
};
?>
Отдельно хочется акцентировать внимание на самом запросе:
PHP
1
$query = "SELECT * FROM Resume WHERE Spec like '%".$occ."%' " ;
Всем спасибо, всё работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.05.2011, 18:20
Помогаю со студенческими работами здесь

Поиск в исходном коде страницы средствами php
Мне нужно найти слово Купон на странице, в гугле везде один и тот же пример, но он почему то у меня не находит Вот как пробую ...

Поиск всех атрибутов заданных тегов средствами PHP
Доброго дня. Столкнулся со следующей задачей. Есть html код. Есть список тегов (div body tr td и тд.) Затем в файл div.txt...

Средствами PHP и с использованием ООП php создать реализацию следующего интерфейса:
interface ArrayHelperInterface extends IteratorAggregate, ArrayAccess, Countable { /** * @param...

Файл с кодом php средствами php
Товарищи! Есть задача при помощи php кода (например, файл 1.php) создавать файл с php кодом и записывать его на сервер (например, 2.php)....

Обработка бд Access средствами VB
обьясните пожалуйста вот такая вот задачка Создать бд с таблицами: 1 название фильма,компания-производитель,фамилия режиссера, фамилия...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru