За последние 24 часа нас посетили 17811 программистов и 1625 роботов. Сейчас ищут 1880 программистов ...

поиск и вывод из БД

Тема в разделе "PHP и базы данных", создана пользователем Rose16, 6 ноя 2017.

  1. Rose16

    Rose16 Новичок

    С нами с:
    6 ноя 2017
    Сообщения:
    1
    Симпатии:
    0
    осуществляется поиск, введенного слова по бд. Но нужно вывести эмоцию, которой она соответствует. код index,search работает по поиску, но вывести эмоцию не выходит, помогите пожалуйста.
    index.php
    <?session_start();?>
    <html>

    <head>
    <title>Поиск в базе данных</title>
    </head>


    <body>
    <form action="search.php" method="post">
    <input type="text" name="string">
    <input type="submit" name="submit" value="Найти в БД">
    </form>
    <? print_r($_SESSION['id']) ;
    unset($_SESSION['id']);
    ?>

    </body>
    </html>

    search.php
    <?
    session_start();
    $params = array (
    'host' => 'localhost',
    'dbname' => 'emodji',
    'user' => 'root',
    'password' => '',
    );
    $dsn = "mysql:host={$params['host']};dbname={$params['dbname']}";
    $db = new PDO($dsn, $params['user'], $params['password']);
    $db->exec("set names utf8");
    ?>
    <?
    $str = $_POST['string'];
    $mass = explode(' ', $str);
    $count = count($mass);
    $sql = "SELECT id, name FROM mezhdometiya WHERE name LIKE '%".$mass[0]."%'";
    $sql = "SELECT id, name FROM chastisa WHERE name LIKE '%".$mass[0]."%'";
    $sql = "SELECT id, name FROM ban WHERE name LIKE '%".$mass[0]."%'";

    $result = $db->query($sql);
    $result->setFetchMode(PDO::FETCH_ASSOC);
    $result->execute();
    $id_mass = array();
    $i=1;
    while ($row=$result->fetch()) {
    $id_mass[$i] = $row['id'];
    $i++;
    }

    $id_count = count($id_mass);
    ?>
    <?
    for ($i=1; $i<=$count-1; $i++) {
    for ($j=1; $j<=$id_count; $j++) {
    $sql = "SELECT id, name FROM mezhdometiya WHERE id=".$id_mass[$j]." AND name LIKE '%".$mass[$i]."%'";
    $sql = "SELECT id, name FROM chastisa WHERE id=".$id_mass[$j]." AND name LIKE '%".$mass[$i]."%'";
    $sql = "SELECT id, name FROM ban WHERE id=".$id_mass[$j]." AND name LIKE '%".$mass[$i]."%'";


    $result = $db->query($sql);
    $result->setFetchMode(PDO::FETCH_ASSOC);
    $result->execute();
    $id_mass2 = array();
    $row=$result->fetch();
    $temp = $row['id'];
    if($temp!=$id_mass[$j]) {
    $id_mass[$j] = -1;
    }
    }
    }
    ?>
    <?
    $l=1;
    for($i=1; $i<$id_count+1; $i++) {
    if ($id_mass[$i] == -1) continue;
    else {
    $_SESSION['id'][$l] = $id_mass[$i];
    $l++;
    }
    }
    header('Location: /index.php');
    ?>
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    не то что эмоции показывать не будут, тут моська сморщится быстрее