Avatar billede kirsten Nybegynder
15. april 2004 - 16:18 Der er 5 kommentarer og
1 løsning

Gået kold!

Hej eksperter..
Jeg er gået kold på denne her...
Har en sql query som henter noget data fra 2 tabeller.. (nyheder)
<-- sql start -->
$result = mysql_query("select news_img.img_name, news_img.attr, news.id, news.writer, news.headline, news.article, news.use_link, news.link, news.img, news.time from news_img, news WHERE news_img.img_name = news.img order by time desc limit $s,$pr_side") or die(mysql_error());
<-- sql slut -->

Derudover har jeg lavet et kommentar system og mit problem er nu at jeg skal have vist på nyheds siden om der er skrevet nogle kommetare inden for de sidste 3 døgn..
Har indtil videre:
<-- sql+php start -->
$nu = time() ;

$_3dagesiden = $nu - 259200 ;

$query = mysql_query("SELECT news.id, news.writer, news_comment.news_id, news_comment.date, count(news_comment.date) as antal from news, news_comment WHERE $nu > $_3dagesiden AND news_comment.news_id=news.id GROUP BY news.id") or die(mysql_error());


$row = mysql_fetch_array($query);

if ($row[antal] > 0) {
    $ny = "nyt indlæg";
} else {
    $ny = "ingen nye indlæg";
}

echo $ny;
<-- sql+php slut -->

Hvordan får jeg flettet de her to ting sammen?
Avatar billede kirsten Nybegynder
15. april 2004 - 17:10 #1
Har bikset denne sammen, men gir fejl?

$result = mysql_query("SELECT news_img.img_name, news_img.attr, news.id, news.writer, news.headline, news.article, news.use_link, news.link, news.img, news.time, news_comment.news_id, news_comment.date, COUNT(news_comment.date) AS antal FROM news_img, news, news_comment WHERE news_img.img_name = news.img AND WHERE $nu > $_3dagesiden AND news_comment.news_id=news.id GROUP BY news.id ORDER BY news.time DESC LIMIT $s,$pr_side") or die(mysql_error());
Avatar billede mikl-dk Nybegynder
15. april 2004 - 17:29 #2
Hvordan fejl? Fejlmeddelelse? Paste den...
Avatar billede Slettet bruger
16. april 2004 - 13:21 #3
En fejl i din kode, er at den i SQL-koden sammenligner de to tal $nu og $_3dagesiden. Dette er overflødigt, da $_3dagesiden netop bare er $nu-259200, og den vil derfor altid være mindre end $nu.

Måske kan du bruge noget i denne stil:

WHERE TO_DAYS(NOW())-3 < TO_DAYS(news_comment.date)

Dette vil virke, hvis news_comment.date er et rigtigt datofelt.
Avatar billede kirsten Nybegynder
16. april 2004 - 13:30 #4
Det er lavet med time()..

Har fået bikset dette sammen, men den viser ikke nyhederne.. :S

$result = mysql_query("select news_img.img_name, news_img.attr, news.id AS newsid, news.writer, news.headline, news.article, news.use_link, news.link, news.img, news.time from news_img, news WHERE news_img.img_name = news.img order by time desc limit $s,$pr_side") or die(mysql_error());

if(mysql_num_rows($result) == 0)
{
echo "<font color='white'>There is no news at the moment!</font>\n";
}else{
while ($row = mysql_fetch_array($result)) {
   
$newsid = $row[newsid];

$nu = time() ;

$_3dagesiden = $nu - 259200 ;

$query = mysql_query("SELECT COUNT(*) as antal from news_comment WHERE $nu > $_3dagesiden AND news_id=$newsid GROUP BY date") or die(mysql_error());

while ($row = mysql_fetch_array($query)) {

if ($row[antal] > 0) {
    $ny = "nyt indlæg";
} else {
    $ny = "ingen nye indlæg";
}
Avatar billede kirsten Nybegynder
21. maj 2004 - 11:57 #5
Har fået fikset det..
Avatar billede kirsten Nybegynder
21. maj 2004 - 11:58 #6
svar!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester