cybton.com
Über uns | Jobs | Werbung | Sitemap | AGB | Impressum | Hilfe ?
 Kostenlos anmelden)
Forum
Aktuellste Beiträge
Forenregeln

Community
BB-Codes
Tags
Chat
Suche (Web)
Wer ist online?
Top-User

Basar


Statistik
Mitglieder gesamt: 68138
Mitglieder online: 6
Gäste online: 7
mehr...

Anzeige
Forum » Forum: Website & Webprogrammierung » Thread: Problem mit Kommentarzähler im Newssystem (fertig)

Thread: Problem mit Kommentarzähler im Newssystem (fertig)

Tags: News , Kommentar
Seite 1 von 3123

25.04.2008 14:08 Uhr

 

Status: offline
Hi
also ich habe das Problem, dass die Kommentaranzahl die ich zählen lasse nicht an der Stelle ausgeben werden wo ich das gerne hätte.
+ PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
include("bbcode.php");
 
if (!include("confign.php")) die("Fehler! Config.php nicht gefunden!");
 
$ResultPointer = @mysql_query("SELECT News_ID, News_Titel, News_Text, News_URL, News_Autor, News_Erstellt FROM ".$DatabaseTable."_news ORDER BY News_Erstellt DESC LIMIT ".$MaximaleAnzahlNews, $DatabasePointer);
 
$AnzahlPointer = @mysql_query("SELECT COUNT(Kommentar_ID) AS Anzahl FROM _kommentare WHERE Kommentar_ID = ".$News_ID);
 
if(@mysql_num_rows($ResultPointer)>0)
{
      for($i=0; $i<@mysql_num_rows($ResultPointer); $i++)
      {
            $Result = mysql_fetch_object($ResultPointer);
            echo"<div algin=\"center\">",
            "<center>","<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"550\">",
                  "<tr>",
                  "<td bgcolor=\"#D1D1D1\"><b><img border=\"0\" src=\"iconpics/news.gif\" align=\"absbottom\" width=\"14\" height=\"19\"> ",
                  $Result->News_Titel,
                  "</b></td>",
                  "<td align=\"right\" bgcolor=\"#D1D1D1\"><b><i>",
                  substr($Result->News_Erstellt, 8, 2) . "." . substr($Result->News_Erstellt, 5, 2) . "." . substr($Result->News_Erstellt, 0, 4) . " " . substr($Result->News_Erstellt, 10, 6),
                  "</i></b></td>",
                  "</tr>",
                  "<tr>",
                  "<td colspan=\"2\" height=\"70\" valign=\"top\" bgcolor=\"#DADADA\">";
                  echo substr(nl2br(smilie(bbcode($Result->News_Text))), 0, 1000);
      if (strlen($Result->News_Text) > 1000) echo "...<a class=\"plain1\" href=\"newsfull.php?id=".$Result->News_ID."\">[mehr]</a>";
      else echo "";
                  echo "</td>",
                  "</tr>",
                  "<tr>",
                  "<td bgcolor=\"#D1D1D1\">";
            if(!Empty($Result->News_URL))
            {
                  echo"<a class=\"plain1\" href=\"",
                        $Result->News_URL,
                        "\">Link</a>";
            }
            else
            {
                  echo"&nbsp;";
            }
            echo"</td>",
                  "<td align=\"right\" bgcolor=\"#D1D1D1\"><i>von ",
                  $Result->News_Autor,
                  "</i></td>",
                  "</tr>",
                  "<tr>",
                  $AnzahlPointer->Anzahl,
                  "<td align=\"right\" colspan=\"2\" bgcolor=\"#D1D1D1\">",
                  "<a class=\"plain1\" href=\"comments.php?id=".$Result->News_ID."\">Kommentare</a>",
                  "</td>",
                  "</tr>",
                  "<tr>",
            "<td width=\"550\" colspan=\"2\" height=\"15\">",
            "<hr color=\"#D1D1D1\" size=\"1\">",
            "</td>",
            "</tr>",
            "<tr>",
            "<td width=\"550\" colspan=\"2\" height=\"19\">",
            "&nbsp;",
            "</td>",
                  "</tr>",
                  "</table>",
                  "</center>",
                  "</div>";
      }
}
else
{
      echo"Es wurden leider keine aktuellen News gefunden.";
}
 
?>
Hoffe ihr könnt mir helfen.
Die beiden Zeilen sind 8 und 50, wo die Funktion statt finden soll.
3 mal bearbeitet
___________________________
It's time to say goodbye to Internet Explorer
It's time to use Mozilla Firefox 3.0
www.mozilla-europe.org/de/
25.04.2008 16:06 Uhr

 

Status: offline
Was wird denn ausgegeben?
___________________________
Ministranten Frauenau Gymnasium Zwiesel Christian Schmidt
Der Computer rechnet mit allem - nur nicht mit seinem Besitzer
25.04.2008 18:49 Uhr

 

Status: offline
Es wird an der Stelle nichts ausgeben das ist ja leider das Ärgerliche.
1 mal bearbeitet
___________________________
It's time to say goodbye to Internet Explorer
It's time to use Mozilla Firefox 3.0
www.mozilla-europe.org/de/
25.04.2008 22:06 Uhr

 

Status: offline
Nabend shipp,

du hast
PHP:
1
2
3
4
<?php
  $AnzahlPointer = @mysql_query("SELECT COUNT(Kommentar_ID) AS Anzahl FROM _kommentare WHERE Kommentar_ID = ".$News_ID);
  echo $AnzahlPointer->Anzahl;
?>
Ich habe nirgends das "$Anzahl = mysql_fetch_object($AnzahlPointer);" gesehen um die Anzahl der Kommentare per "echo $Anzahl->Anzahl;" ausgeben zu können  :wink: 
Ist hier wirklich ein Objekt nötig ? Sonst würde ja auch ein Array (mysql_fetch_assoc()) ausreichen.

Sagmal, ist das Absicht das ALLE News ausgelesen werden, aber nur die Anzahl zu den Kommentaren EINER EINZIGEN BESTIMMTEN News !?

Gruß Dragonl
___________________________
Gemeinde Jugend Vertretung Bremen
"Ich will das Rad kein zweites mal erfinden,
ich will nur verstehen wie es funktioniert !"
25.04.2008 22:13 Uhr

 

Status: offline
Also eigentlich sollte nur zu der jeweiligen News die Gesamtzahl der Kommentar ausgeben werden.
___________________________
It's time to say goodbye to Internet Explorer
It's time to use Mozilla Firefox 3.0
www.mozilla-europe.org/de/
25.04.2008 22:48 Uhr

 

Status: offline
Dann würde ich zu der News Tabelle noch ein Feld hinzufügen das die Anzahl der Kommentare enthält
(z.B. INT(3) "Kommentare_Anzahl" default 0)
Das kannst du dann ganz normal beim Auslesen der News mit auslesen und ausgeben.
Der Inhalt muss dann natürlich beim erstellen eines Kommentars um eins erhöht werden
(UPDATE `News` SET `Kommentare_Anzahl`=`Kommentare_Anzahl`+1 WHERE `id`=X)
und beim löschen eines Kommentars logischerweise um eins reduziert.

Schönen Abend noch
~Tobias
___________________________
Gemeinde Jugend Vertretung Bremen
"Ich will das Rad kein zweites mal erfinden,
ich will nur verstehen wie es funktioniert !"
25.04.2008 23:02 Uhr

 

Status: offline
Naja so stark wollte ich da nicht rum ändern, dass ich da noch ein Feld hinzufügen muss sondern daher ist auch die Zählschleife drin.
___________________________
It's time to say goodbye to Internet Explorer
It's time to use Mozilla Firefox 3.0
www.mozilla-europe.org/de/
25.04.2008 23:24 Uhr

 

Status: offline
Nun ja, so viel ist das ja auch nicht, im gegenteil !
Alles was du machen musst ist;
  • ein neues Feld anlegen,
  • bei der Erstell-Funktion einen UPDATE-Query hinzufügen (+1) und
  • bei der Lösch-Funktion einen UPDATE-Query hinzufügen (-1)


Eine weitere Möglichkeit wäre beim Auslesen der News mit der Kommentar-Tabelle zu JOINEN und so zusätzlich die Anzahl der Kommetare der News zu ermitteln. Das fände ich allerdings "A" komplizierter und "B" Serverlastiger weil es ja bei jedemmal anzeigen der News ausgeführt werden muss.

~Tobias
___________________________
Gemeinde Jugend Vertretung Bremen
"Ich will das Rad kein zweites mal erfinden,
ich will nur verstehen wie es funktioniert !"
25.04.2008 23:49 Uhr

 

Status: offline
Ich glaub ich lass das dann doch lieber erst mal komischer, dass das nicht mit Count nicht geht.
___________________________
It's time to say goodbye to Internet Explorer
It's time to use Mozilla Firefox 3.0
www.mozilla-europe.org/de/
26.04.2008 00:25 Uhr

 

Status: offline
Nein nein, das geht schon mit COUNT() !
Mir kam da aber gerade noch eine Idee:
+ PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
 
  $query ="SELECT `Kommentar_ID`, COUNT(`Kommentar_ID`) AS `Anzahl`
             FROM `_kommentare`
         GROUP BY `Kommentar_ID`";
  $result=mysql_query($query);
  $counts=array();
  while($kommentar=mysql_fetch_assoc($result)){
        $counts[$kommentar['Kommentar_ID']]=$kommentar['Anzahl']
        }
  //print_r($counts);
 
  /*
   * $counts sollte nun ein Array nach folgendem Aufbau sein:
   *
   * array(
   *       [Kommentar_ID] = 15,
   *       [Kommentar_ID] = 20,
   *       [Kommentar_ID] = 13
   *       );
   */
  
?>
Das setzt allerdings vorraus, das in der Kommentar-Tabelle das Feld "Kommentar_ID" die ID des dazugehörigen News-Artikel enthält.
So könntest du dann an entsprechender Stelle "echo $count[$Result->News_ID];" setzen um die Anzahl der Kommentare auszugeben.

Ich kann leider keine gewähr dafür geben ob das Script so funktioniert, aber entweder es tut es oder ich bringe dich vielleicht auf eine andere Idee  :lol: 

~Tobias

//EDIT: Hoops, kleiner Schönheitsfehler ^^
1 mal bearbeitet
___________________________
Gemeinde Jugend Vertretung Bremen
"Ich will das Rad kein zweites mal erfinden,
ich will nur verstehen wie es funktioniert !"
Seite 1 von 3123
Ähnliche Threads Forum Ähnlichkeitsgrad
 Nexem-Newseinblendungsverbesserungsvorschlag Lob, Kritik, Beschwerden und Wünsche 1
 Newsystem mit Seitenzählen kleines Problem tritt auf Website & Webprogrammierung 1
 Englische Schlagzeilen Off-Topic 1
 News bearbeiten Lob, Kritik, Beschwerden und Wünsche 1
nach obennach oben

Copyright © 2008 cybton-network

Google
Partner: #Musik - Dein Internetradio - nexem. - .wir machen news - Your-Book.net - Dein kostenloses Gästebuch
ANEXIA - PHP Entwicklung - Dockers - s.Oliver Schuhe - Think Schuhe - der eigene Weg - Dorfen - Paul Green Schuhe - Bequeme Geox - Web-Entwicklung