Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 18

Поиск по базе данных PHP

10.02.2017, 22:17. Показов 1641. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написана страница клиентов, нужен поиск по номеру машины, как его организовать не знаю... Помогите пожалуйста
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php require_once "head.php"; ?>
 
<?php
$isAddClient    = isset($_GET['add_client']);
$isDeleteClient = isset($_GET['delete']);
$isU            = isset($_GET['u']);
 
if($isDeleteClient)
{
    $id = $_GET['delete'];
    
    $stmt = $DBH->prepare("DELETE FROM `clients_table` WHERE `id` = :id");
    $stmt->bindParam(":id", $id);
    $stmt->execute();
    
    header("location: index.php?page=clients");
}
else if($isAddClient)
{
    $fio        = $_GET["client_fio"];
    $phone      = $_GET["client_phone"];
    $carNumber  = $_GET["client_carNumber"];
    $passport   = $_GET["client_passport"];
    
    $stmt = $DBH->prepare("INSERT INTO `clients_table` VALUES(NULL, :fio, :phone, :carNumber, :passport)");
    $stmt->bindParam(":fio", $fio);
    $stmt->bindParam(":phone", $phone);
    $stmt->bindParam(":carNumber", $carNumber);
    $stmt->bindParam(":passport", $passport);
    $stmt->execute();
    
    header("location: index.php?page=clients");
}
else if($isU)
{
    $stmt = $DBH->prepare("UPDATE `clients_table` SET `fio` = :fio, `phone` = :phone, `carNumber` = :car, `passport` = :pass WHERE `id` = :id");
    $stmt->bindParam(":fio", $_GET['fio-1']);
    $stmt->bindParam(":phone", $_GET['phone-1']);
    $stmt->bindParam(":car", $_GET['car-1']);
    $stmt->bindParam(":pass", $_GET['pass-1']);
    $stmt->bindParam(":id", $_GET['id-1']);
    $stmt->execute();
    
    header('location: index.php?page=clients');
}
 
?>
 
 
<div class="wrap1">
    <div class="table clients vopros">
        <div class="table-row">
            <div class="table-cell"> # </div>
            <div class="table-cell"> ФИО </div>
            <div class="table-cell"> Тел. номер </div>
            <div class="table-cell"> Номер машины </div>
            <div class="table-cell"> Паспортные данные </div>
            <div class="table-cell"> Действия </div>
        </div>
        <form class="table-row" action="index.php?page=clients" method="get">
            <div class="table-cell">  </div>
            <div class="table-cell"> <input type="text" name="client_fio" placeholder="Петров Петр Петрович" required="on" autocomplete="off"> </div>
            <div class="table-cell"> <input type="text" maxlength="11" onkeyup="this.value = this.value.replace (/[^\d]/g, '')" name="client_phone" placeholder="88005553535" required="on" autocomplete="off"> </div>
            <div class="table-cell"> <input type="text" name="client_carNumber" placeholder="о000оо" required="on" autocomplete="off"> </div>
            <div class="table-cell"> <input type="text" onkeyup="this.value = this.value.replace (/[^\d-]/g, '')" name="client_passport" placeholder="111-123123" required="on" autocomplete="off"> </div>
            <div class="table-cell"> <input type="submit" name="add_client" value="Добавить клиента"> </div>
            <input type="hidden" name="page" value="clients">
        </form>
        <?php
        $stmt = $DBH->prepare("SELECT * FROM `clients_table` ORDER BY `id` DESC");
        $stmt->execute();
        
        while($row = $stmt->fetch(PDO::FETCH_OBJ)):
        ?>
        <form class="table-row">
            <div class="table-cell"> <?= $row->id ?> </div>
            <div class="table-cell"> <input type="text" name="fio-1" value="<?= $row->fio ?>" required> </div>
            <div class="table-cell"> <input type="text" maxlength="11" onkeyup="this.value = this.value.replace (/[^\d]/g, '')" name="phone-1" value="<?= $row->phone ?>" required> </div>
            <div class="table-cell"> <input type="text" name="car-1" value="<?= $row->carNumber ?>" required> </div>
            <div class="table-cell"> <input type="text" onkeyup="this.value = this.value.replace (/[^\d-]/g, '')" name="pass-1" value="<?= $row->passport ?>" required> </div>
            <div class="table-cell"> <a class="silka" href="?page=clients&delete=<?= $row->id ?>"> Удалить </a> <input type="submit" name="u" value="Изменить"></div>
            <input type="hidden" name="page" value="clients">
            <input type="hidden" name="id-1" value="<?= $row->id ?>">
        </form>
        <?php endwhile; ?>
    </div>
</div>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.02.2017, 22:17
Ответы с готовыми решениями:

поиск в базе данных на php
здравствуйте! у меня имеется база данных написанная на php данные беруться из 2ух таблиц mysql. я хотела бы сделать поиск по полю ФИО в...

Php + postgresql поиск по базе данных
Народ ну подскажите плиз, ни как не могу понять как допилить. Что нужно: 1. Есть большая база данных 2. Необходимо из неё выдернуть...

КАК сделать поиск пополю с базе данных на PHP????
помогите кто-нибудь сделать поиск по полю в базе данных???...есть готовая...только поиск пополю не сделан...я могу скинуть на ящик???

9
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
11.02.2017, 09:21
Цитата Сообщение от lFENOMENl Посмотреть сообщение
нужен поиск по номеру машины
сделать форму для поиска
HTML5
1
2
3
<form method='POST' action='' name='search_form'>
<input type='text' name='search_car_number' value='' placeholder='Введите номер машины'> <input type='submit' name='search_buttom' value='Поиск'>
</form>
и обработчик
PHP
1
2
3
4
5
6
7
if (isset($_POST['search_buttom'])) {
$car_number = $_POST['search_car_number'];
$stmt = $DBH->prepare("SELECT * FROM `clients_table` WHERE `carNumber` = :car_number");
    $stmt->bindParam(":car_number", $car_number);
    $stmt->execute();
// ну а дальше вывод
}
0
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 18
11.02.2017, 11:38  [ТС]
блин, делаю вывод, а он выводит то что я пишу... не получается
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
11.02.2017, 12:12
Цитата Сообщение от lFENOMENl Посмотреть сообщение
а он выводит то что я пишу... не получается
Покажите что Вы там делаете
0
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 18
11.02.2017, 12:49  [ТС]
Цитата Сообщение от Виталюска Посмотреть сообщение
Покажите что Вы там делаете
походу, я делаю что то не то
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
if (isset($_POST['search_buttom'])) {
$car_number = $_POST['search_car_number'];
$stmt = $DBH->prepare("SELECT * FROM `clients_table` WHERE  `carNumber` = :car_number");
    $stmt->bindParam(":car_number", $car_number);
    $stmt->execute();
    echo '<form method="post">
  <input type="text" value="'.$car_number.'" required />
</form>';
}
?>
я хочу чтобы получилось что то на подобии вот этого, чтобы можно было и запись изменить или удалить
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
11.02.2017, 14:39
зачем вот это
Цитата Сообщение от lFENOMENl Посмотреть сообщение
echo '<form method="post">
*<input type="text" value="'.$car_number.'" required />
</form>';
и посмотрите внимательней на то что я Вам написал выше
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
11.02.2017, 17:03
Цитата Сообщение от lFENOMENl Посмотреть сообщение
походу, я делаю что то не то
ну да. запрос выполнили, но нужно же еще вывести данные.\
пример
0
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 18
11.02.2017, 18:26  [ТС]
Блин, не выходит, что то неправильно пишу

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if (isset($_POST['search_buttom'])) {
$carNumber = $_POST['search_car_number'];
$fio = $_POST['search_car_number'];
$stmt = $DBH->prepare("SELECT * FROM `clients_table`");
    $stmt->bindParam(":carNumber", $carNumber);
    $stmt->bindParam(":fio", $fio);
    $stmt->execute();
    $row = $stmt->fetch(PDO::FETCH_OBJ);
}
 
?>
<input type="text" value="<?= $row->carNumber  ?>" required>
<input type="text" value="<?= $row->fio  ?>" required>
 
<form method='POST' action='' name='search_form'>
<input type='text' name='search_car_number' value='' placeholder='Введите номер машины'> <input type='submit' name='search_buttom' value='Поиск'>
</form>
Добавлено через 7 минут
Вот примерно так все должно работать, только он не выводит нужный результат, в чем может быть ошибка?

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
<?php
if (isset($_POST['search_buttom'])) {
$carNumber = $_POST['search_car_number'];
$fio = $_POST['search_car_number'];
$stmt = $DBH->prepare("SELECT * FROM `clients_table` ORDER BY `id` DESC");
    $stmt->bindParam(":fio", $fio);
    $stmt->bindParam(":phone", $phone);
    $stmt->bindParam(":carNumber", $carNumber);
    $stmt->bindParam(":passport", $passport);
    $stmt->execute();
    $row = $stmt->fetch(PDO::FETCH_OBJ);
}
 
?>
<div class="wrap1">
    <div class="table clients vopros">
<form class="table-row">
            <div class="table-cell"> <?= $row->id ?> </div>
            <div class="table-cell"> <input type="text" name="fio-1" value="<?= $row->fio ?>" required> </div>
            <div class="table-cell"> <input type="text" maxlength="11" onkeyup="this.value = this.value.replace (/[^\d]/g, '')" name="phone-1" value="<?= $row->phone ?>" required> </div>
            <div class="table-cell"> <input type="text" name="car-1" value="<?= $row->carNumber ?>" required> </div>
            <div class="table-cell"> <input type="text" onkeyup="this.value = this.value.replace (/[^\d-]/g, '')" name="pass-1" value="<?= $row->passport ?>" required> </div>
            <div class="table-cell"> <a class="silka" href="?page=clients&delete=<?= $row->id ?>"> Удалить </a> <input type="submit" name="u" value="Изменить"></div>
            <input type="hidden" name="page" value="clients">
            <input type="hidden" name="id-1" value="<?= $row->id ?>">
        </form>
    </div>
</div>
<form method='POST' action='' name='search_form'>
<input type='text' name='search_car_number' value='' placeholder='Введите номер машины'> <input type='submit' name='search_buttom' value='Поиск'>
</form>
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
11.02.2017, 20:29
PHP
1
2
3
4
5
6
7
    $car_number = $_POST['search_car_number'];
    $stmt = $DBH->prepare("SELECT * FROM `clients_table` WHERE `carNumber` = :car_number");
    $stmt->bindParam("car_number", $car_number);
    if($stmt->execute()){
        $row = $stmt->fetch(PDO::FETCH_OBJ);
    }
    var_dump($row);
0
40 / 42 / 15
Регистрация: 24.10.2015
Сообщений: 598
12.02.2017, 08:32
вижу несколько решений
1) на PHP
делаем строку поиска и перезагружаем форму, добавляя в запрос вывода переменную поиска

2) на JS (не относится к ветке форума, подойдет если вы не используете пагинацию)

1)добавляем поле поиска
HTML5
1
2
Найти: <input id="searchText" type="text">
<button id="findTable" class="btn btn-default">Найти</button>

ну и добавляем скрипт в наш файл
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 <script>
    //если веб-страницы загружена
$(document).ready(function() {
  //нажата кнопка с id="findTable"
  $("#findTable").click(function(){
    //сохраняем в переменную текст, который нам необходимо найти в таблице
    //из id="searchText"
    var search = $('#searchText').val().toLowerCase();
    //перебираем всем строки таблицы
    $("table tbody tr").each(function (i) {
      //если не нахоим искомый текст
      if ($(this).text().toLowerCase().replace(/\+/g, '').indexOf(search)==-1)
        //то скрываем
        $(this).hide();
      else
        //иначе показываем
       $(this).show();
    });
  });
});
    </script>
(Второй способ работает без перезагрузки страницы )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.02.2017, 08:32
Помогаю со студенческими работами здесь

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

Подключение к базе данных PHP и HTML - PHP БД
Здравствуйте. Помогите пожалуйста? Проблема в следующем. У меня есть форма регистрации. Как мне сделать личный кабинет на сайте? И мне...

php+mysql (поиск в базе)
&lt;?php if (isset($_POST)) { $noch = $_POST; if ($noch == '') { unset($noch);} } if (isset($_POST)) { $strana = $_POST; if ($strana ==...

Php+postgresql поиск по базе данных
Народ ну подскажите плиз, ни как не могу понять как допилить. Что нужно: 1. Есть большая база данных 2. Необходимо из неё выдернуть...

Поиск в ADoquery, Delphi, поиск в базе данных
Доброго времени суток многоуважаемые пользователи данного сайта! Есть очень глупая проблема, с которой я, к сожалению, справиться не...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru