Дублирование результатов после выбора данных из двух таблиц с одинаковыми значениями - PullRequest
2 голосов
/ 12 марта 2019

Добрый день!У меня проблема с дублированием результатов, когда я выбираю данные из двух таблиц с одинаковыми значениями.У меня есть одна информация в моей первой таблице homepost с идентификатором 2, и у меня есть три данные в таблице multiple с идентификатором 2.

Итак.В моем исходном коде.Я выбираю все данные с одинаковыми значениями ID.Но он дублирует мои данные из homepost, потому что у меня есть три данных из multiple с одинаковыми значениями [ID].Любая помощь?Спасибо!

Например, в таблице ниже:

Table [homepost]                    Table [multiple]

homeID   homeDesc               multipleID     multipleImage
2          John                     2              Image1
3        Samantha                   2              Image2
                                    2              Image3
                                    3              Image4
                                    3              Image5

Результаты моего кода:

John
Image1
John
Image2
John
Image3
Samantha
Image4
Samantha
Image5

То, что я хочу:

John
Image1
Image2
Image3

Samantha
Image4
Image5

Вот мой исходный код:

<?php
    include ("dbconnect.php");

    $content_sql="SELECT post.postID, post.postTitle, post.postDesc, post.postImage 
                    FROM post 
                        JOIN category ON (post.categoryID=category.categoryID) 
                    WHERE post.categoryID=".$_GET['categoryID'];

    if($content_query=mysqli_query($con, $content_sql)) {
        $content_rs=mysqli_fetch_assoc($content_query);
    }

do {
    echo $content_rs['postTitle'];
    echo $content_rs['postDesc'];
} while ($content_rs=mysqli_fetch_assoc($content_query))

?>

1 Ответ

0 голосов
/ 12 марта 2019

Вы можете просто проверять имя каждый раз в цикле и выводить его, только если оно новое

<?php
include ("dbconnect.php");

$sql="SELECT post.postID, post.postTitle, post.postDesc, post.postImage 
      FROM post 
          JOIN category ON (post.categoryID=category.categoryID) 
      WHERE post.categoryID=?";

$stmt = $con->prepare($sql);
$stmt->bind_param('i', $_GET['categoryID']);
$stmt->execute();

$result = $stmt->get_result();

$last_name = '';        
while ( $row = $result->fetch_assoc() ) {
    if ( $last_name != $row['postTitle'] ) {
        echo $row['postTitle'];
        $last_name = $row['postTitle'];
    }

    echo $row['postDesc'];
}
?>
...