2015-05-13 2 views
0

Я не могу сказать это словами, потому что я не очень хорош на английском, поэтому я просто приведу пример. И по этой причине я не могу найти, как это сделать. Надеюсь ты понимаешь.Получение информации с теми же данными в mysql

E.g: Скажем, у меня есть такая настройка таблицы.

+-------------+---------+---------+----------+ 
| Category_ID | User_ID | Info1 | Info2 | 
+-------------+---------+---------+----------+ 
|   1 |  1 | 'Info1' | 'Info2' | 
|   1 |  2 | 'Info3' | 'Info4' | 
|   1 |  3 | 'Info5' | 'Info6' | 
|   1 |  4 | 'Info7' | 'Info8' | 
|   1 |  5 | 'Info9' | 'Info10' | 
+-------------+---------+---------+----------+ 

Что-то в этом роде. Так что я хочу, чтобы каждый пользователь, который использует/в category_id из 1. И затем распечатайте информацию, которую они имеют. Возможно ли это? Просто объясните мне, как это сделать. У меня уже есть способ получения информации в mysql и из нее.

Примечание № 1: Идея состоит в том, чтобы распечатать шаблон div для каждого пользователя, чтобы он был подобен списку.
Чтобы быть честным, единственное, что я пробовал, было 'SELECT * FROM table WHERE Category_ID = 1 GROUP BY column_choice'.
Надеюсь, вы, ребята, поняли, что я сказал. Извините, я не очень хорошо разбираюсь в английском.

+0

'SELECT * FROM table WHERE Category_ID = 1 GROUP BY column_choice' - читайте на SELECT https://dev.mysql.com/doc/refman/5.0/en/select.html –

+0

Итак, вы хотите получить данные из этой таблицы или данных пользователя из вашей пользовательской таблицы? – Sean

+0

Имеет ли следующее значение для вас? 'SELECT * FROM table WHERE category_ID = 1;' Я бы порекомендовал вам взглянуть на http://www.w3schools.com/sql/ или на какой-нибудь другой учебник по SQL! – Luke

ответ

0

У вас есть три способа сделать это.

Первое: Используйте декартово произведение таблиц и отфильтровать его:

SELECT t.User_ID, u.ID, u.username, u.email FROM table AS t, users AS u WHERE t.Category_ID = 1 AND t.User_ID = u.ID; 

Второе: Объединить две таблицы вместе и получить результаты:

SELECT t.User_ID, u.username, u.email FROM table AS t NATURAL JOIN users AS where t.Category_ID = 1; 

Третье: Используйте вложенный запрос, чтобы получить Идентификаторы пользователей в категории №1 затем запрашивают таблицу пользователей и фильтруют ее по набору в предыдущей части.

SELECT username, email FROM users WHERE ID in (SELECT User_ID FROM table WHERE Category_ID=1; 

Надеюсь, это поможет.

0

Используйте команду SQL:

SELECT * FROM table WHERE Category_ID=1; 
+0

, что было создано в комментариях. они также хотят распечатать его тоже. * И затем распечатайте информацию, которую они имеют. * –

+0

@ Fred-ii-, ahh, не видел этого. Почему * делают * люди пишут ответы как комментарии вместо ответов? – user1717828

+0

Как я могу сделать это для нескольких вещей? Как получить первого пользователя, у которого есть это, затем получить там данные распечатать его и сделать это для следующего, у кого есть category_id? (Имеет ли это смысл?) – RepeaterCreeper

0
SELECT Information FROM table_name WHERE Category_ID = 1 
+0

Будет ли это работать для нескольких информационных столбцов? – RepeaterCreeper

+0

Да, sintax является SELECT column_name1, column_name2, column_name_n FROM table_name WHERE condition_looked, ---> см. Учебник по SQL на http://www.w3schools.com/sql/ – Chico3001

1

Если вы хотите, чтобы забрать их и поместить их в DIV. Вы можете попробовать это:

if($stmt = $YourConnection->prepare("SELECT Information FROM yourTable WHERE Category_ID = 1")){ 
    $stmt->execute(); 
    $stmt->bind_result($information); 
    while($stmt->fetch()){ 
    ?> 
     <div> 
     <?php echo $information; ?> 
     </div> 
    <?php 
    } /* END OF WHILE LOOP */ 
    $stmt->close(); 
} /* END OF PREPARED STATEMENT */ 

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

+2

Выделение синтаксиса стека говорит мне, что есть синтаксическая ошибка. –

+0

@ Fred-ii- Заметил это тоже. Простите за это. Исправлена! –

+1

Не беспокойтесь, подумал, что я дам вам знать ;-) –

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