2014-06-07 4 views
-5

У меня есть несколько имен файлов, хранящихся в моей таблице, с категорией для каждого изображения.Если значение истинно, если значение ложно, показать что-то еще

У меня есть галерея на одной странице.

Итак, мой вопрос: если значение моей категории_3 равно 3, я хочу, чтобы он показывал изображение.

Если category_id не 3, я хочу отобразить сообщение «no content» или что-то еще.

Вот мой код. Не знаю, где я ошибся. Надеюсь, кто-то может дать мне руку.

<?php 

$newlogos = DB::getInstance()->query("SELECT `logo_id`, `creation`, `logo_name`, `category_id`, `org_img`, `new_img` FROM `logos` WHERE category_id = 3 ORDER BY `logo_id` DESC "); 

$category_id = ('category_id' == 3); 

if($category_id == false){ ?> 
<div><h2>No Content</h2></div> 
<?php }  

if($category_id == true){ 

foreach($newlogos->results() as $nl){ ?> 
//Do Stuff 

Я пробовал кучу комбинаций, как это, например:

$category_id = ('category_id' == 3); 

if($category_id != 3){ ?> 
<div><h2>No Content</h2></div> 
<?php }  

else{ 
//Do Stuff 

Просто не могу понять это.

+0

Является ли этот CodeIgniter? –

+0

@AliGajani Нет, это не CodeIgniter – cwd

+1

'$ category_id = ('category_id' == 3);' WTF?!? Вы проверяете, имеет ли строка со значением «category_id» значение 3 ..... конечно же, нет, точно так же, как яблоня никогда не бывает крокодилом. –

ответ

1

Ваше заявление здесь не является правильным:

<?php 
    $category_id = ('category_id' == 3); 
?> 

Вы пытаетесь сравнить строку с целым числом, и это всегда возвращает ложные.

Edit:

После выполнения вашего запроса, вам нужно получить данные из базы данных. После того, как вы сохранили данные в переменной (например, $ данных), вы можете сравнить это следующим образом:

<?php 
    $category_id = ((int)$data['category_id'] == 3); 
?> 

Edit: @cwd:

Вот один из способов сделать это:

<?php 
    //$con is database connection object 
    $result = mysqli_query($con,"SELECT `logo_id`, `creation`, `logo_name`, `category_id`, `org_img`, `new_img` FROM `logos` WHERE category_id = 3 ORDER BY `logo_id` DESC LIMIT 0,1"); 
    $row = mysqli_fetch_assoc($result); 
    $category_id = (int)$row['category_id'] == 3 ?true:false; 
?> 

Это может вам помочь.

+0

что бы это исправить? – cwd

+1

Хорошо, я был в порядке с '$ category_id = ('category_id' == 3);' Dang -5 вниз голосов и подсчета. Может ли кто-нибудь исправить меня по тому, что должно быть? Если это не сильно беспокоит. – cwd

Смежные вопросы