zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Problem / Frage zu MySQL

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 16.03.2009, 15:21
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard Problem / Frage zu MySQL

Ich habe eine Tabelle mit Nachrichten.

Ich frage momentan über zwei Query die Anzahl der ungelesenen und der gesamten Nachrichten ab.

Ist es performanter, oder überhaupt machbar, das über eine Query zu lösen?

Meine bisherigen Querys:
PHP-Code:
$_sql sprintf("SELECT COUNT(id) AS neu FROM nachrichten WHERE status = 'ungelesen' AND an = %d"mysql_real_escape_string($_SESSION['user']['userdata']['id']));
$_sql sprintf("SELECT COUNT(id) AS gesamt FROM nachrichten WHERE an = %d"mysql_real_escape_string($_SESSION['user']['userdata']['id'])); 
Die Ergebnisse beider Querys lege ich zusammen in einem Array ab.

Sollte es machbar sein, diese beiden Querys zu einer Query zusammenzufassen, bitte ich um Hilfe, da ich es bisher noch nicht hinbekommen habe.
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 16.03.2009, 15:41
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.733
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Das ist nur in zwei getrennten Abfragen möglich beziehungsweise wenn in einer Abfrage nur mit Unterabfragen möglich:
PHP-Code:
$_sql sprintf("
    SELECT
        (SELECT COUNT(id) AS neu FROM nachrichten WHERE status = 'ungelesen' AND an = %1
$d),
        (SELECT COUNT(id) AS gesamt FROM nachrichten WHERE an = %1
$d)",
    
mysql_real_escape_string($_SESSION['user']['userdata']['id'])
); 
__________________
Markus Wulftange

Geändert von Gumbo (16.03.2009 um 16:32 Uhr)
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 16.03.2009, 16:09
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

Danke Dir, ich werde es wohl in zwei Abfragen lassen.

PS.: Deine Query geht bei mir Lokal nicht (Server Version: 5.1.30-community)
Mit Zitat antworten
  #4 (permalink)  
Alt 16.03.2009, 16:33
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.733
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Die Unterabfragen gehören vermutlich in Klammern. Hab’s geändert.
__________________
Markus Wulftange
Mit Zitat antworten
  #5 (permalink)  
Alt 16.03.2009, 17:45
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

Jau, so geht das. Das dürfte ja dann schneller sein, als wenn ich zwei Querys absetze, oder?
Mit Zitat antworten
  #6 (permalink)  
Alt 16.03.2009, 17:55
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Ich hab den printf Befehl mal rausgemacht:

Code:
SELECT COUNT(id) AS neu, sum(IF(status='ungelesen', 1,0)) AS ungelesen FROM nachrichten WHERE status = 'ungelesen' AND an = %d
Mit Zitat antworten
  #7 (permalink)  
Alt 16.03.2009, 18:11
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

Die Query bringt aber nicht das richtige Ergebnis. Die von Gumbo hingegen liefert das richtige Ergebnis.

neu = 0, ungelesen = NULL

Dabei müsste 0 und 12 rauskommen.
Mit Zitat antworten
  #8 (permalink)  
Alt 16.03.2009, 19:39
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

keine Ahnung, bei mir funktionierts. Ich kenn deine Daten nicht.
Mit Zitat antworten
  #9 (permalink)  
Alt 16.03.2009, 19:46
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

So sehen meine Daten aus und damit klappt es leider nicht.
Angehängte Grafiken
Dateityp: jpg 2009-03-16_194517.jpg (30,7 KB, 7x aufgerufen)
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 16.03.2009, 19:59
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Wie gesagt bei mir klappt's. Ich habe eine Tabelle ähnlich deiner erstellt und kriege die gewünschten Ergebnisse.
Mit Zitat antworten
Sponsored Links
Antwort


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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage zu MySQL uspri Serveradministration und serverseitige Scripte 2 04.11.2008 21:03
Frage zu einem Gedanken (DIV positionieren) charlie CSS 1 06.09.2008 11:36
Problem: IE versteckt Text & Feedback Herbi CSS 2 11.08.2006 14:39
layout frage / problem gerd01 CSS 1 06.08.2006 14:40
Problem mit Background-Color im FireFox to.ni CSS 2 31.08.2004 11:13


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:17 Uhr.