Селект от таблица където колона съдържа число

vinsbg

Registered
Сигурно е супер елементарно, но така и не успявам да изкарам правилните резултати. Опитвам се да селектна от таблица където колоната съдържа число. Това е което се опитвам
Код:
SELECT * FROM posts WHERE category LIKE '%9%' LIMIT 3
Селект от колона category всички редове, които имат запис 9..
Моля за малко помощ
 
Това, което ти правиш: избери от таблицата posts всички колони от най-много 3 реда, където в колоната category се съдържа цифрата 9.
Какъв е проблемът? Какво извежда и какво очакваш да изведе? Може би имаш предвид
Код:
category = 9
?
 
Имам сайд бар в който искам да изведа 3 статии, които са от категория с id 9.
Това ми е целия код и вади някакви нелогични резултати .. всеки рефреш различно все едно е на рандом
Код:
<?php
              			require_once 'misc/database.inc.php'; 
		                $pdo = Database::connect();
                		error_reporting(E_ALL); 
		                ini_set('display_errors', 1);
		                $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
				    function truncate($text, $chars = 180) {
		                        $text = $text." ";
		                        $text = substr($text,0,$chars);
		                        $text = substr($text,0,strrpos($text,' '));
		                        $text = $text." ...";
                		        return $text;
		                    }
			        $query2 = $pdo->query("SELECT * FROM posts WHERE category = 9 LIMIT 3");
                    		foreach ($query2 as $row) {
	                        	echo '<li class="col-md-12 col-sm-4"> 
                                    	<div class="single-post">
                                    	<h4>'.$post['post_title'].'</h4>
                                        	<a href="#"><img src="'.$row['post_image'].'" alt="post-img" class="img-responsive"></a>
	                                        <p>'.truncate($row['post_text']).'</p>
	                                        <a href="#" style="float: right;"> Прочти още -></a>
                                        </div>
	                                </li>';                
              			}                          
                   		Database::disconnect();
			    ?>
 
Не разбрах защо не ти изкарва правилните резултати с LIKE командата, но ето нещо друго, което може да пробваш:

[sql]SELECT * FROM posts WHERE category IN (9) LIMIT 3[/sql]
като на мястото на числата, може да са и повече отделени със запетая: => (9,2,1) :idea:
 
Имам 10-тина записа в базата данни. 3 от тях са category=1 и останалите 7 са category=9.
Идеята е каквато и статия да отворя отстрани в сайдбара винаги да ми зарежда последните 3 статити с category=9.

Сега като натисна post_id=1 ми отваря post_id=2 три пъти в сайд бара. Ако натисна post_id=7, което вече е от category=9 ще ми отвори следващото post_id=8 три пъти в сайдбара..

Тоест винаги ми отваря следващото id поред 3 пъти... а не 3 статии от category=9 ...

Дано стана малко по-ясно.
 
ми подреди ги order by id, също така изкарваш $post['post_title'], а вероятно трябва да е $row...
 
djman каза:
ми подреди ги order by id, също така изкарваш $post['post_title'], а вероятно трябва да е $row...
Проблема беше в $post['post_title'] ... като го оправих на $row и се оправи... цял ден го гледам и не съм го забелязал...
Благодаря :?:
 
vinsbg каза:
djman каза:
ми подреди ги order by id, също така изкарваш $post['post_title'], а вероятно трябва да е $row...
Проблема беше в $post['post_title'] ... като го оправих на $row и се оправи... цял ден го гледам и не съм го забелязал...
Благодаря :?:
:D :D :D :D :D :D
На всеки се е случвало нещо подобно, важното е, че го оправи.
 

Back
Горе