[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как узнать что ключ пустой
AkudJEE
Всем привет. В БД прописываются ключи файла, через запятую.
Далее я их разбиваю:
$key=$row->metakey;
list($a, $b, $c, $d, $e) = explode(', ', $key);

После я вывожу с помощью LIKE одинаковые ключи.
Но есть проблема при выводе ключей, к примеру, если ключей только три он выводит три одинаковых ключа и далее выводит все ключи. Происходит это потому что ключи $d, $e пустые, запрос не понимает, что они пустые и в итоге выводит все ключи из БД.
Как же можно задать условие к примеру такое:
if ($d пустой)
{echo 'УРА';}
elseif ($e пустой)
{echo 'опять УРА';}

и так далее. Пробовал задать как empty не получается, пробовал задать как '0' таже не получается.
Пробовал так:
if ($key=list($a, $b, $c, $d));
{echo 'УРА';}

Тоже не получается. Подскажите, пожалуйста, каким образом можно задать функцию, что ключ пустой?

_____________
[URL]http://izans.ru/ красивые обои и картинки скачать на рабочий стол
sergeiss
Надо просто сделать всё по-другому smile.gif В такой ситуации не используй list(). А просто присвой результат работы explode() одной переменной, получишь в ней массив. Вот с ним и работай. Ты можешь оценить, например, количество элементов (функция count()) в массиве и принять решение, что с ними делать.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
AkudJEE
$keys = explode(", ", $key);
$key[0] = ключ1;
$key[1] = ключ2;
$key[2] = ключ3;
$key[3] = ключ4;
$key[4] = ключ5;
$result = count($key);

if ($result== 4)
{echo 'УРА';}
elseif ($result== 5)
{echo 'Опять УРА';}

Таким образом?
Можно подробнее расписать, примеры какие-нибудь?

_____________
[URL]http://izans.ru/ красивые обои и картинки скачать на рабочий стол
sergeiss
Цитата (AkudJEE @ 9.10.2013 - 08:15)
$key[0] = ключ1;

Похоже, ты вообще в программировании не разбираешься, не понимаешь, что такое присвоение переменных, как оно происходит... Начни с этого!!!
Ну, хотя бы вот тут почитай: http://www.php.net/manual/ru/language.variables.basics.php

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
AkudJEE
$key[0] = ключ1;
$key[1] = ключ2;
$key[2] = ключ3;
$key[3] = ключ4;
$key[4] = ключ5;

Это примеры, я их не обрамил комментариями, на них не надо внимания обращать.

_____________
[URL]http://izans.ru/ красивые обои и картинки скачать на рабочий стол
NitroGenerate

foreach(explode(', ', $row->metakey) AS $val)
{
$qArr = array();
if(ctype_digit($val)) // проверка ТОЛЬКО для ЧИСЛОВЫХ ключей
{

$qArr[] = trim($val); // удаляем пробелы если таковые есть и заносим в новй массив для запроса

}

}

$qArr = array_unique($qArr); // удаляем дубли значений

$qLogic = "OR"; //логика селекта
$qCol = "name"; //столбец для поиска




foreach($qArr AS $key=>$val) // перебираем массив и дописываем столбец для поиска
$qArr[$key] = "`".$qCol."` like '".$val."'";

$query = "SELECT * FROM `table` where ".implode(" ".$qLogic." ", $qArr);

echo $query;
sergeiss
Цитата (AkudJEE @ 9.10.2013 - 10:24)
Это примеры...

Я имел ввиду, что ты вообще представляешь, что означает запись "$key[0] = ключ1;", что куда присваивается в итоге?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
AkudJEE
Это никуда не присваивается, Я написал пример, что $key[0] это будет первый ключ, $key[1] второй ключ и так далее в массиве

_____________
[URL]http://izans.ru/ красивые обои и картинки скачать на рабочий стол
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.