Поиск по картинкам

DenVeroid

Новичок
Поиск по картинкам

Проблема такова, нужно из базы вывести данные по картинкам, тоесть из формы выберается поиск
с картинками либо без картинок,
если выбираю с картинками то результат заканчивается удачно как нужно вот запрос
where t_img like '%jpg%' or t_img like '%gif%'
если искать без картинок, то почемуто не находит, хотя данные такие есть, запрос такой
where t_img like '%%' пробывал даже такой where t_img='' всё равно ненаходит
да, в базе там в записях где нет картинок ничего неуказывается при размещении, типа "no_img","0"
кстати, там где есть картинки то в место их указывается имя самой картинки
тип поля "t_img" varchar 30


что можете посоветовать?
 

Demiurg

Guest
Что то ничего не понятно из твоего запроса.
Приведи пример запроса, который работет "не так", структуру таблиц и пример данных.
 

DenVeroid

Новичок
сам запрос большой состоит из множеств устловий, но кусочек могу пивести

PHP:
$delimiter = "where ";

......

    if ($simg == 'all')
    {
      $query .= "";
      $delimiter = '  ';
    }
    elseif ($simg == 'no')
    {
      $query .= $delimiter . "t_img1 like '%%'";
      $delimiter = ' and ';
    }
    elseif ($simg == 'yes')
    {
      $query .= $delimiter . "t_img1 like '%jpg%' or t_img1 like '%gif%'";
      $delimiter = ' and ';
    }
    else{
      $query .= "";
      $delimiter = '  ';
    }

........

вот форма где можно выбрать вывод с картинками или без картинок

<select size=1 name=simg>
  <option value=all>не важно:</option>
  <option value=yes>Да</option>
  <option value=no>Нет</option>
</select>
так вот, сдесь неработает только когда условие выподает на $simg == 'no'
 

StUV

Rotaredom
сделай
SELECT t_img FROM tbl
и посмотри какие у тебя там значения для записей без картинок
 

DenVeroid

Новичок
StUV делаю так

PHP:
     $query = @mysql_query("SELECT t_img1 FROM tbl where t_img1=''");
     while ($row=@mysql_fetch_array($query))
     {
     echo $row["t_img1"]."<BR>";
     }
не выводит вообще ничего даже новых строк нет спереносом от <BR>
если запрос такой SELECT t_img1 FROM tbl
то выводит в каждой строке имена картинок и пустые строки
вот см.
начало






thumb_16_1.jpg
thumb_17_1.jpg
thumb_20_1.jpg
конец

-~{}~ 10.04.04 19:15:

ровным счётом нужно вывести только те записи где неприсутствуют имена картинок, в место них ничего нет, пусто, так как туда ничего незаписывалось
 

StUV

Rotaredom
а как ты создаешь записи без картинок (покажи инсерт) ?
+ приведи полное описание поля t_img
 

DenVeroid

Новичок
Winer, круто, именно то что нужно isnull(t_img)
я даже и незнал о функции isnull() спасибо :)
StUV,
там по условию вычисляется если картинка не указанна в форме, то вмето ниё записывается
insert into tbl SET t_img1=''
я нестал, заносить в базу в том месте где нет картинки, что либо, дабы уменьшить размер, хоть небольшой но всёже
 
Сверху