[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Функция проверки на значения
Страницы: 1, 2
6stPROD
Есть такая функция, которая проверяет имеется ли в таблице ид юзера сессии, если есть, должно выводить - "что то есть"

	
На данный момент у Вас

<?
$user_id = $_SESSION['id'];
$result = mysql_query("SELECT `user_id` FROM `p_orders` WHERE `user_id`= '$user_id'");

if ($result=='true')
{ echo "<font color='darkred'>что то есть</font>";}
else
{ echo "<font color='darkred'>ничего нет</font>"; }
?>




Но выдает она - "ничего нет", даже если "что то есть"

В чем беда?
Kopipaster
Я думаю тут уместнее:
if (empty($result)){
echo "нет";
}
else{
echo "да";
};

или:.........)
6stPROD
К сожалению хоть есть значение, хоть его нет, выводит "да" (
Kopipaster
Цитата (6stPROD @ 19.05.2014 - 00:30)
К сожалению хоть есть значение, хоть его нет, выводит "да" (

Это с isset или с empty?
6stPROD
Цитата (Kopipaster @ 19.05.2014 - 00:33)
Цитата (6stPROD @ 19.05.2014 - 00:30)
К сожалению хоть есть значение, хоть его нет, выводит "да" (

Это с isset или с empty?

да
Kopipaster
Цитата (6stPROD @ 19.05.2014 - 00:36)
да

не может быть ты точно ничего не напутал пока копировал?
6stPROD
Цитата (Kopipaster @ 19.05.2014 - 00:40)
Цитата (6stPROD @ 19.05.2014 - 00:36)
да

не может быть ты точно ничего не напутал пока копировал?

На данный момент у Вас  

<?
$user_id = $_SESSION['id'];
$result = mysql_query("SELECT `user_id` FROM `p_orders` WHERE `user_id`= '$user_id'");

if (empty($result)){
echo "нет";
}
else{
echo "да";
};
?>


Вот весь код)
Kopipaster
Ну а что тогда $result печатает?
6stPROD
Цитата (Kopipaster @ 19.05.2014 - 00:45)
Ну а что тогда $result печатает?


echo "да";   
:D
6stPROD
Создал нового пользователя, у него высвечивается "да") хотя у него нету в таблице p_orders значения с его user_id
Kopipaster
Цитата (6stPROD @ 19.05.2014 - 00:46)
echo "да"; 

:D

бля
$user_id = $_SESSION['id'];
$result = mysql_query("SELECT `user_id` FROM `p_orders` WHERE `user_id`= '$user_id'");
print $result;
print_r ($result);
sergeiss
Цитата (Kopipaster @ 19.05.2014 - 00:21)
Я думаю тут уместнее:
if (empty($result)){
echo "нет";
}
else{
echo "да";
};

Не давай плохих советов, не вводи человека в заблуждение!!!

Если этот запрос будет выполнен без ошибок
Цитата (6stPROD @ 19.05.2014 - 00:07)
$result = mysql_query("SELECT `user_id` FROM `p_orders` WHERE `user_id`= '$user_id'");

то тогда в $result будет находиться resource - см. хелп для деталей.

Надо смотреть либо количество возвращенных строк mysql_num_rows(), либо в запросе запросить именно количество
$result = mysql_query("SELECT count(`user_id`) as c FROM `p_orders` WHERE `user_id`= '$user_id'");


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

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

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

user posted image
Kopipaster
Цитата (sergeiss @ 19.05.2014 - 00:58)
Надо смотреть либо количество возвращенных строк mysql_num_rows(), либо в запросе запросить именно количество

ты прав надо доработать
<?
$user_id = $_SESSION['id'];
$result = mysql_query("SELECT `user_id` FROM `p_orders` WHERE `user_id`= '$user_id'");
$result = mysql_num_rows($result);
if ($result=='0'){
echo "нет";
}
else{
echo "да";
};
?>
sergeiss
Цитата (Kopipaster @ 19.05.2014 - 01:37)
$result = mysql_query("SELECT `user_id` FROM `p_orders` WHERE `user_id`= '$user_id'");
$result = mysql_num_rows($result);

Категорически не рекомендую вот так вот "экономить" переменные. Если дальше понадобится выбрать данные этого запроса, то это уже не получится сделать - потому что переменная $result будет перезаписана во второй строке.

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

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

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

user posted image
Valick
<?php
$user_id = (int)$_SESSION['id'];
$query = "SELECT `user_id` FROM `p_orders` WHERE `user_id`= '$user_id'";
$resource = mysql_query($query) or die(mysql_error());

if($resource){
if(mysql_num_rows($resource) == 1){
echo "<font color='darkred'>пользователь найден</font>";
}else{
echo "<font color='darkred'>пользователя нет</font>";
}
}

?>


_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

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