php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-09-2003, 19:30
rythms
 Junior Member
Links : Onlinestatus : rythms ist offline
Registriert seit: Jun 2003
Beiträge: 219
rythms ist zur Zeit noch ein unbeschriebenes Blatt
Standard News Skript mit einer query

ich bitte um denkhilfe für mein problem..

ich möchte die hauptnews mit einer mysql query auslesen.
dazu brauche ich eine query die mir die ganzen einträge liefert und [b]die anzahl der comments[/b.

die comments sind jeweils mit einem integerfeld mit den news verknüpft (die id der news = newsID in der tabelle für comments)

das problem ist, wenn ich COUNT(`news_comments`.`id`) benutze, liefert er mir total krumme werte.
normal müsste er mir die komplette comment anzahl jedesmal liefern, was ich aber auch nicht möchte, sondern die anzahl der comments für die jeweilige newsid.

ich hoffe mal ihr habt ein paar ideen.
spart euch vorschläge wie: "les doch für jede news die anzahl der comments einzeln aus" bitte, das kann nicht die richtige lösung sein, da es die performance zu sehr belastet.
Mit Zitat antworten
  #2 (permalink)  
Alt 02-09-2003, 19:40
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

so sollte es doch passen.

Code:
SELECT
    N.newshead,
    COUNT(C.newsid)
FROM
    news N
        LEFT JOIN newscomments C USING(newsid)
GROUP BY
    N.newshead
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #3 (permalink)  
Alt 03-09-2003, 15:12
rythms
 Junior Member
Links : Onlinestatus : rythms ist offline
Registriert seit: Jun 2003
Beiträge: 219
rythms ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
      $query "SELECT 
                  n.id as newsid,
                  n.userid,
                  n.titleid,
                  n.topnews,
                  n.datum,
                  n.title,
                  n.text,
                  t.id,
                  t.name AS theme,
                  u.id AS userid,
                  u.name AS username,
                  l.id,
                  l.newsid,
                  l.name,
                  l.url,
                  c.newsid,
                  COUNT(c.id) as comments
                FROM
                  n_news AS n
                LEFT JOIN
                  n_themes AS t
                ON
                  n.titleid = t.id
                LEFT JOIN
                  u_user AS u
                ON
                  n.userid = u.id
                LEFT JOIN
                  n_links AS l
                ON
                  n.id = l.newsid
                LEFT JOIN
                  n_comments AS c
                ON
                  n.id = c.newsid
                GROUP BY
                  n.id
                ORDER BY
                  n.id DESC
                LIMIT
                  $start,$anz;"

so sieht sie im moment aus, sind natürlich noch andere sachen dabei.
rückt der hier aber nicht ganz richtig ein (erste zeile)

habe zwei testnews.
2 comments bei der ersten, angezeigt werden 2 also korrekt.
8 comments bei der zweiten. angezeigt werden 16.

mit deiner methode sind es bei der zweiten 16, bei der ersten null.

Geändert von rythms (03-09-2003 um 15:15 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 03-09-2003, 15:15
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

ich nehme mal an, dass du nur zwei ausgaben wolltest. so genau ging das auch deinem letzten post nicht hervor.
EDIT:
ändere bitte nicht, wenn andere schon antworten...


das es mehr sind, liegt daran, dass du nun viele weiter felder mit aufgenommen hast, die aufgrund von unterschieden nicht gruppiert werden können. also wird da so nix.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #5 (permalink)  
Alt 03-09-2003, 15:18
rythms
 Junior Member
Links : Onlinestatus : rythms ist offline
Registriert seit: Jun 2003
Beiträge: 219
rythms ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sorry für den edit, bist ja 'n ganz schneller

also, das mit den links wird mit sicherheit schonmal nichts.. da muss ich ne extra query benutzen und die news in einen array packen, dann einen neuen array mit den links dem jeweiligen newsarray einfügen, verbunden per newsid.

das nehme ich mal raus..
comments, user und news brauche ich allerdings schon in einer.

die related links könnte man auch nur bei detailsicht zeigen.

na sowas .. jetzt gehts



danke.
Mit Zitat antworten
  #6 (permalink)  
Alt 03-09-2003, 15:29
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von rythms
na sowas .. jetzt gehts
dann ists ja gut...

ich schiebe dich jetzt auch mal nach sql. denn schliesslich war das kein wirkliches brainstorming...

*VERSCHIEB*
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

Formmailer Bootstrap 4

Mit dem Formmailer kann man sich eMails über seine Seite zukommen lassen.

08.07.2021 arne-home | Kategorie: PHP/ Formular
Fehlerseite Bootstrap 4

Bei Aufruf einer nicht existierenden Seite, teilen Sie Besuchern mit einer eigenen Fehlerseite mit, dass die gewünschte Seite nicht gefunden wurde. Die eigene Fehlerseite sollte dasselbe Design wie die Website haben. Zudem sollte ein Link zur Startseite a

04.07.2021 arne-home | Kategorie: PHP/ Counter
Upload Bootstrap 4

Mit dem PHP - Uploadscript kann man schnell und einfach Bilder und Dateien auf den Webserver hochladen.

04.07.2021 arne-home | Kategorie: PHP/ File
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:41 Uhr.