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 21-10-2006, 16:48
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard [SQL allgemein] SQL-Anweisung mit COUNT(*)

Hallo php resource!

ich habe folgendes Problem:
Bei einem Newssystem kann man kommentare abgeben. Dabei können 3 Fälle eintreten:
1. News wurden geschrieben, aber es bestehen noch keine Kommentare
2. News wurden geschrieben und es bestehen x Kommentare
3. News wurden geschrieben, aber Kommentare sind verboten

Wenn ich nun alle news ausgeben will + Anzahl der Kommentare bekomme ich ständig probleme :/

Bei der Variante unten werden alle News mit Kommentaren ausgegeben und alle News, wo Kommentare verboten sind. Allerdings mit der Kommentaranzahl aller vorhandener Kommentare, was über 10.000 sind.

Zitat:
Tabelle News:

id---titel---inhalt---datum---autor---comment_erlaubt

Tabelle comments

id---inhalt---datum---autor---id_news

SELECT
news.titel,
news.datum,
news.datum,
news.autor,
COUNT(comments.id)
FROM
news,comments
WHERE
news.datum BETWEEN 1161122400 AND 1161208799 AND
(comments.id_news = news.id OR news.comment_erlaubt = 0)
GROUP BY news.datum
ORDER by news.datum desc
LIMIT 0,30;
Thx 4 Help!

mfg zerni
Mit Zitat antworten
  #2 (permalink)  
Alt 21-10-2006, 21:25
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dein Join ist meiner meinung nach falsch gesetzt weil Du das OR mit in die klammer nimmst
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

Geändert von MelloPie (24-10-2006 um 08:23 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 23-10-2006, 13:10
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

äh ne der müsste stimmen, hat denn jemand eine Ahnung ob ich das mit IF bzw CASE abfragen machen könnte?

Weil ich will alle News in einer bestimmten Zeit haben und diese sollen kommentare haben oder es soll verboten sein, oder sie haben keine :/

wäre es besser wenn ich das in 2 einzelne abfragen packe?

das wollte ich eigentlich nicht, da die news sehr oft aufgerufen werden und ~200 User zur gleichen Zeit auf der Webseite surfen.

Geändert von zerni (23-10-2006 um 13:50 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 03-11-2006, 17:32
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Als Lösung habe ich nun folgendes gemacht:

PHP-Code:
Tabelle News:

id---titel---inhalt---datum---autor---comment_erlaubt---comment_count

Tabelle comments

id
---inhalt---datum---autor---id_news 
und wenn ein Kommentar geschrieben wird, was nicht so oft der Fall ist, zählt er comment_count um 1 hoch!
es ginge zwar sicher auch mit joins, aber dieses ist performanter beim auslesen
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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:21 Uhr.