Jump to content
php.lv forumi

Recommended Posts

Posted

Man ir tāda situācija, ka vēlos uztaisīt, lai kārtotu izveidotās diskusiju tēmas pēc pēdējā komentāra. Man ir divas tabulas 1) diskusijas, kura sastāv no id,tema,niks 2) komentari, kas sastāv no id,temasid,niks,datums.

 

Man vajadzētu, lai tiek atēlotas tās diskusijas, kuras ir konkrētam cilvēkam, kas ielogojies mājas lapā, kas tiek kārtotas, pēc pēdējā komentāra.

" Select * From diskusijas Where niks=$niks Order by (Select datums komentari) "

Kaut kā šādi laikam vajadzētu izskatīties, taču kaut kas tomēr nav pareizi, tiek izmests erors, ka vajag norādīt vēl kādu parametru.

Posted

Man pašam nesen bija līdzīga problēma. Nezinu vai šitais tev uzreiz nostrādās, bet ideja sekojoša. Pieņemu ka komentāra datums ir unix timestamp formātā.

 

SELECT diskusijas.*, (SELECT MAX(date) FROM komentari WHERE temasid=diskusijas.id) as latest_comment WHERE diskusijas.niks=$niks ORDER BY latest_comment ASC  

Posted (edited)

variants bez apakšvaicājumiem

 

select diskusijas.tema, max(komentari.datums) as datums from temas

join komentari on diskusijas.id = Komentari.temasid

group by tema

order by datums

Edited by php newbie
Posted

Tas nozīmē, ka padotais parametrs nav resurss, visdrīzāk tas ir false vērtībā, jo kvērijs nav izpildījies, jo tajā ir kļūda.

 

Kam tad Dievs devis mysql_error()?? :)

Posted

variants bez apakšvaicājumiem

 

select diskusijas.tema, max(komentari.datums) as datums from temas diskusijas

join komentari on diskusijas.id = Komentari.temasid

group by tema

order by datums

 

un vēl vajadzētu grupēt pēc id jo varētu būt diskusijas ar vienādiem nosaukumiem. un sagrupē arī pēc nosaukuma, lai varētu to izvilkt

 

šitādus piemērus būtu jāspej izmantot

Posted (edited)


$d="SELECT diskusijas.tema, Max(dkomentari.datums) as datums from diskusijas join dkomentari on 

dkomentari.temasid=diskusijas.id  where autors='juritis'

group by tema
order by datums DESC";

$rezultats=mysql_query($d) or die(mysql_error());

while($diskusija = mysql_fetch_array( $rezulatats ))
{
echo"$diskusija[1] $diskusija[0]<br>";
}

 

Kādēļ, pēc šāda pieprasījuma tiek izvadīti tikai 4 ieraksti, ja pēc dotajiem parametriem tiem vajadzētu būt krietni vairāk? Man ir nepieciešams, lai visus ierakstus izvada, atiecīgajam lietotājam juritim, un tie tiek sakārtoti atbilstoši dilstošā secībā pēc pēdējā pievienotā komentāra.

Edited by djmartins

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...