非常抱歉,因为这将是一个很长的职位。我是MYSQL的初学者,我刚刚开始学习。
我正在尝试制作用户评论 - 回复系统。我完全被卡住了。
我有一个表名为'post'的数据库,用以下结构进行评论
TABLE `post` (
`id_posta` int(4) NOT NULL,
`tekst_posta` text NOT NULL,
`name` text NOT NULL,
`slika_posta` blob NOT NULL,
`type` text NOT NULL,
`vreme_posta` datetime NOT NULL,
`id_autora` int(4) NOT NULL,
`ime` varchar(50) NOT NULL,
`prezime` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;和表名'komentar',其中书面回复评论
TABLE `komentar` (
`id_komentara` int(11) NOT NULL,
`tekst_komentara` text NOT NULL,
`id_aut_komentara` int(4) NOT NULL,
`id_autora` int(4) NOT NULL,
`vreme_komentara` datetime NOT NULL,
`id_posta` int(4) NOT NULL,
`imek` varchar(50) NOT NULL,
`prezimek` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin当我撰写所有评论时,一切都很完美。
$upit = "SELECT id_posta, slika_posta, vreme_posta, tekst_posta, id_autora, ime, prezime FROM post ORDER BY `post`.`id_posta` DESC;";
$postovi = $con->query($upit);
if($postovi->num_rows > 0)
{
while($red = $postovi->fetch_assoc())
{
$idp = $red["id_posta"];
echo "
echo "
";echo $red["ime"]. " " . $red["prezime"]. ':' ;
echo "
";echo "
";echo $red["tekst_posta"];
echo "
";if( $red["slika_posta"] != '' ){
echo '
}
echo "
";
echo "
";echo 'Objavljeno' . ' ' . $red["vreme_posta"];
echo "
";echo "
";echo "
";echo "
";echo "
";echo REPLY ?????
echo "
";echo "
Lajk";echo "
";echo "
";
}
}
$con->close();当我尝试在回复td中回复回复给适当的评论时,问题就出现了。
我试试这个....
$con = new mysqli ("localhost", "root", "", "introduce");
$upit = "SELECT id_posta, slika_posta, vreme_posta, tekst_posta, id_autora, ime, prezime FROM post ORDER BY `post`.`id_posta` DESC;";
$postovi = mysqli_query($con,$upit);
if($postovi->num_rows > 0)
{
while($red = $postovi->fetch_assoc()) {
echo "
echo "
";echo $red["tekst_posta"];
echo "
";echo "
";$upit1 = "SELECT * FROM komentar INNER JOIN post ON post.id_posta=komentar.id_posta ;";
$komentari = mysqli_query($con,$upit1);
while($red = $komentari->fetch_assoc()) {
echo "
echo "
";echo $red["tekst_komentara"];
echo "
";echo "
";}
}
}结果是
2 2 (second post)
1-1 2-1 (first reply)
1-2 2-2 (second reply)
2-1
1 and should be 1 (first post)
1-1 1-1 etc,etc....
1-2 1-2
2-1
DIV>
DIV>
那我试试这个
$con = new mysqli("localhost", "root", "", "introduce");
$sql = "SELECT * FROM komentar INNER JOIN post ON post.id_posta=komentar.id_posta ; ";
$komentari = $con->query($sql);
if($komentari->num_rows > 0)
{
while($red = $komentari->fetch_assoc())
{
echo $red["tekst_posta"];
echo "
";
echo $red["tekst_komentara"];
}
}
DIV>
DIV>
结果是
1
1-1
1
1-2
2
2-1 duplicate post on every replay....
2
2-2
2
2-3
DIV>
DIV>
接下来我尝试...
$sql = "SELECT id_posta, slika_posta, vreme_posta, tekst_posta, id_autora, ime, prezime FROM post ORDER BY `post`.`id_posta` DESC;";
$sql .= "SELECT * FROM post JOIN SELECT * FROM komentar WHERE komentar.id_posta = 'post.id_posta'";
DIV>
DIV>
我尝试GROUP BY并尝试,然后尝试.....
我在考虑阵列....所以,我要求你的建议,因为我永远无法这样做。
没有找到相关结果
已邀请:
与内容相关的链接
0 个回复
为什么被折叠?
0 个回复被折叠