ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
312
312
EMPFEHLEN
-
Hallo zusammen!
Ich baue seit Wochen eine Komponente für Joomla 1.5. Den Adminbereich habe ich sehr gut hin bekommen.
Jedoch habe ich jetzt Probleme bei einer Abfrage im Frontbereich.
Dieses hier ist meine Abfrage die ich erst einmal zum testen so gemacht habe.
Wie man ersehen kann, werden für die einzelnen Abfragen jeweils nur die Anzahl der Datensätze gegeben.PHP-Code:$result = mysql_query ( "SELECT id FROM jos_switchbase WHERE ( cat = 'A' OR cat = 'B' OR cat = 'C' ) AND published='1'" );
$c_abc = mysql_num_rows ( $result );
$result = mysql_query ( "SELECT id FROM jos_switchbase WHERE ( cat = 'D' OR cat = 'E' OR cat = 'F' ) AND published='1'" );
$c_def = mysql_num_rows ( $result );
$result = mysql_query ( "SELECT id FROM jos_switchbase WHERE ( cat = 'G' OR cat = 'H' OR cat = 'I' ) AND published='1'" );
$c_ghi = mysql_num_rows ( $result );
$result = mysql_query ( "SELECT id FROM jos_switchbase WHERE ( cat = 'J' OR cat = 'K' OR cat = 'L' ) AND published='1'" );
$c_jkl = mysql_num_rows ( $result );
$result = mysql_query ( "SELECT id FROM jos_switchbase WHERE ( cat = 'M' OR cat = 'N' OR cat = 'O' ) AND published='1'" );
$c_mno = mysql_num_rows ( $result );
$result = mysql_query ( "SELECT id FROM jos_switchbase WHERE ( cat = 'P' OR cat = 'Q' OR cat = 'R' ) AND published='1'" );
$c_pqr = mysql_num_rows ( $result );
$result = mysql_query ( "SELECT id FROM jos_switchbase WHERE ( cat = 'S' OR cat = 'T' OR cat = 'U' ) AND published='1'" );
$c_stu = mysql_num_rows ( $result );
$result = mysql_query ( "SELECT id FROM jos_switchbase WHERE ( cat = 'V' OR cat = 'W' OR cat = 'X' ) AND published='1'" );
$c_vwx = mysql_num_rows ( $result );
$result = mysql_query ( "SELECT id FROM jos_switchbase WHERE ( cat = 'Y' OR cat = 'Z' ) AND published='1'" );
$c_yz = mysql_num_rows ( $result );
Nun wollte ich dieses vereinfachen, so das ich nur ein Query benutzen kann. Habe mal eine Funktion geschrieben jedoch weiß
ich nicht, wie ich dieses umsetzen soll.
Eventuell könnte mir einer von Euch helfen dieses irgendwie zu coden.PHP-Code:function _loadData()
{
if (empty($this->_data))
{
$query = 'SELECT COUNT(id) FROM '.$this->_table_prefix.'switchbase'.
' WHERE ( cat = "M" OR cat = "N" OR cat = "O" ) AND published = 1';
$this->_db->setQuery($query);
$this->_data = $this->_db->loadObject();
return (boolean) $this->_data;
}
return true;
}
Sag schon einmal Danke für Eure Antworten.
Grüße
Olly
-
Hallo Olly,
du könntest folgende Abfrage verwenden:
Code sql:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SELECT (CASE WHEN cat IN ('A', 'B', 'C') THEN 'ABC' WHEN cat IN ('D', 'E', 'F') THEN 'DEF' WHEN cat IN ('G', 'H', 'I') THEN 'GHI' WHEN cat IN ('J', 'K', 'L') THEN 'JKL' WHEN cat IN ('M', 'N', 'O') THEN 'MNO' WHEN cat IN ('P', 'Q', 'R') THEN 'PQR' WHEN cat IN ('S', 'T', 'U') THEN 'STU' WHEN cat IN ('V', 'W', 'X') THEN 'VWX' WHEN cat IN ('Y', 'Z') THEN 'YZ' ELSE '*' END) AS catgroup, COUNT(*) AS c FROM jos_switchbase WHERE published = 1 GROUP BY catgroup
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
Moin,
noch nen Vorschlag
Code SQL:1 2 3 4 5 6 7 8 9 10 11 12 13 14
SELECT COUNT(*) AS ROWS , ELT( CEIL( INSTR( '#ABC#DEF#GHI#JKL#MNO#PQR#STU#VWX#YZ', cat ) /4 ) , 'ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQR', 'STU', 'VWX', 'YZ' ) AS catgroup FROM `jos_switchbase` WHERE published =1 GROUP BY catgroup
-
Hallo zusammen,
ein Dank erstmal an Sven Mintel und Matthias Reitinger.
Sorry das ich mich jetzt erst melde, ich hatte einen Unfall und lag über 14 Wochen im Krankenhaus.
Ich glaube ich habe mich nicht ganz so gut ausgedrückt, was ich eigentlich haben möchte.
Wie oben im ersten Beitrag steht habe ich eine mehrfache Abfrage. Dieses wollte ich
umgehen mit einer Abfrage.
Aussehen sollte es ungefähr so:
"LINK A - B - C" Bisher gibt es 12 Einträge.
"LINK D - E - F" Bisher gibt es 26 Einträge.
Ausgabe bis
"LINK Y - Z " Bisher gibt es 16 Einträge.
Es sollte mir nur den Wert bei "Bisher gibt es 16 Einträge" ausgeben.
Die Frage ist ob es mit nur einer Abfrage geht oder muss ich für jeden Bereich eine machen?
Danke schon mal im voraus.
Grüße
Olly
-
Oje, dann wünsche ich gute Besserung

Diesen Wert(16) findest du in den Ergebnissen.
Bei mir heisst er rows, bei Matthias c
Ähnliche Themen
-
RGB Farbzuweisung vereinfachen
Von Transporter im Forum CSSAntworten: 4Letzter Beitrag: 30.04.10, 15:12 -
AS vereinfachen/zusammenfassen
Von MathiasG im Forum Flash PlattformAntworten: 4Letzter Beitrag: 23.01.09, 19:56 -
Statistikquery vereinfachen?
Von Admi im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 19.11.07, 00:37 -
If Konstrukt vereinfachen
Von Steffen Giers im Forum PHPAntworten: 2Letzter Beitrag: 22.08.05, 23:47 -
Vereinfachen?
Von BMo im Forum Javascript & AjaxAntworten: 8Letzter Beitrag: 25.07.04, 20:24





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren