Jump to content
php.lv forumi

Lietotāja komentāri ar rakstiem, kurus komentējis


senters

Recommended Posts

Lietotājam gribu parādīt visus viņa komentārus ar rakstiem, kuriem pieder šis komentārs. Tas viss būtu vienkārši.

 

Problēma ir ar izvadi. Vajag šādi:

 

RAKSTS1

komentārs #1

komentārs #2

RAKSTS2

komentārs #1

RAKSTS3

komentārs #1

komentārs #2

komentārs #3

 

Bet izvadās šādi:

 

RAKSTS1

RAKSTS2

RAKSTS3

komentārs #1

komentārs #2

komentārs #1

komentārs #1

komentārs #2

komentārs #3

 

Patreizējā izvades shēma iekš php faila aptuveni ir šāda (visu saīsinot):

 

$sql = mysql_query("SELECT <dati> FROM event WHERE comment.user_id = '13'");
while($row = mysql_fetch_assoc($sql))
{
$sql2 = mysql_query("SELECT count(comment.event_id) FROM comment WHERE comment.event_id = '".$event_id."'");
while($row2 = mysql_fetch_assoc($sql2))
{
	<izvada pasākumu>

	$sql3 = mysql_query("SELECT <dati> FROM comment WHERE comment.user_id = '13' AND comment.event_id = '".$event_id."'");
	while($row3 = mysql_fetch_assoc($sql3))
	{
		<izvada komentaru>
	}
}
}

 

Kāda būtu pareiza izvades struktūra, lai iegūtu man vēlamo rezultātu?

Edited by senters
Link to comment
Share on other sites

Pirmais WTF moments jau ir šitem :

$sql = mysql_query("SELECT <dati> FROM event WHERE comment.user_id = '13'");

Ko tieši to domā ar šito iegūt ?

 

Anyway .. tas ko tev vajag ir sql JOIN : http://dev.mysql.com/doc/refman/5.1/en/join.html

Un par slinktu nenāktu arī atmest novecojušas funkcijas un apgūt PDO : http://lv.php.net/pdo

Link to comment
Share on other sites

Man ir tur viss ar JOIN protams (kā jau rakstīju nekopēju pilnus kverijus, tikai idejiski), es par to neprasīju! Bet par to kā izvadīt datus minētā struktūrā. Bez diviem kverijiem tāpat neiztikt:

 

1 - pasākumi

2 - komentāri

 

 

 

"Pamaciba ja kas... labi paraugi utt :)"

 

-- Tas pats.. kurā vietā es prasīju, ka nemāku sajoinot tabulas?

 

 

Te pilns kods ar visiem joiniem

Edited by senters
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...