ВЫБОР нескольких строк по 2 столбца

[ POSTS ] | id | title | class | |----|----------|-------| | 1 | 4567 | 2 | | 2 | 1234 | 1 | | 3 | 9124 | 1 | | 3 | 9124 | w | ________________________ 

Как я могу SELECT несколько значений class column и сортировать их для echo в HTML например

 $query = "SELECT * FROM posts WHERE id = :id" $statment= $conn->prepare($query); $statment->execute([':id' => $id]); while($row = $stmt->fetch()){ $title1 = $row['title'] //WHERE THE CLASS IS 1 $title2 = $row['title'] //WHERE THE CLASS IS 2 echo" <a>$title1</a> <a>$title2</a> } 

Как указать, какой заголовок отображается в своем классе? Я уже использовал id но я хочу использовать class как

 $title1 = $row['id'], AND $row['class'] = 1 $title2 = $row['id'], AND $row['class'] = 2 $titleo = $row['id'], AND $row['class'] = w 

сортировать его while echo или мне нужно идти

 $query = "SELECT * FROM posts WHERE id = :id AND class = 1" $query = "SELECT * FROM posts WHERE id = :id AND class = 2" $query = "SELECT * FROM posts WHERE id = :id AND class = 'w'" //FOR STRINGS 

Я думаю, вы ищете

 SELECT * FROM Posts WHERE class in (1,2,'w') ORDER BY class ASC 

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

 $classes = array(); while($row = $stmt->fetch()){ if(!isset($classes[$row['class']])){ $classes[$row['class']] = array(); } $classes[$row['class']][] = $row['title']; } 

Это даст вам массивы титров для каждого класса:

 [ 1=>[1234,9124] 2=>[4567] 'w'=>[9124] ] 

Затем вы можете вывести их все в порядке класса или класса:

 foreach($classes as $key => $class){ echo "Class Value: ".$key; // just to show the order foreach($class as $title){ echo "<a>".$title."</a>"; } } 

Который заставит вас дать вам:

 Class Value: 1 <a>1234</a> <a>9124</a> Class Value: 2 <a>4567</a> Class Value: w <a>9124</a> 

Я не совсем уверен, приведет ли это к тому, что вы ищете, тем не менее, это дает вам рабочий процесс, чтобы иметь возможность заказывать сообщения по классам и выводить их на основе класса. надеюсь, это поможет