SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 27.12.2006, 14:10:39
thilo thilo ist offline
Anfänger
 
Registriert seit: Dec 2006
Beiträge: 5
Elemente aus Elementen aus Elementen zählen ...

Hey Leute!

Ich beschäftige mich zur Zeit mit folgendem Problem:
Es gibt Kateogrien (tab_kat), in denen Artikel enthalten sind (tab_art). Diese Artikel widerum haben mehrere Bestandteile (tab_bes).

Ich habe in tab_kat lediglich die Namen, ein paar Eigenschaften und natürlich die kat_id festgehalten.
In tab_art sind die Artikelbezeichnungen sowie allgemeine Infos und ihre art_id beschrieben, sowie die kat_id der kategorie, in die sie gehören.
In tab_bes sind nun die Bestandteile beschrieben. Dort habe ich die art_ids der Artikel, sowie die bes_id gespeichert.

Diese Informationen sollten eigentlich genügen um festzustellen, in welcher Kateogrie sich die Bestandteile befinden.
Ich will nun zählen, wieviele Bestandteile in einer Kategorie enthalten sind und das möglichst mit einer Abfrage.

Kleines Beispiel: Anzahl der Bestandteile in der Kategorie mit kat_id 3:
Code:
SELECT COUNT(*)
FROM
 tab_art AS a LEFT OUTER JOIN tab_bes AS b
 ON a.art_id = b.art_id
WHERE a.kat_id = 3
Leider funktioniert das so nicht. In meiner Logik muss irgendwo ein knick sein. Kann mir jemand auf die Sprünge helfen?

thx)
Mit Zitat antworten
  #2  
Alt 27.12.2006, 21:47:48
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: Elemente aus Elementen aus Elementen zählen ...

Funktioniert das?
PHP-Code:
SELECT COUNT(*)
FROM
 tab_bes 
AS a LEFT OUTER JOIN tab_art AS b
 ON a
.art_id b.art_id
WHERE b
.kat_id 
Mit Zitat antworten
  #3  
Alt 27.12.2006, 22:06:09
thilo thilo ist offline
Anfänger
 
Registriert seit: Dec 2006
Beiträge: 5
AW: Elemente aus Elementen aus Elementen zählen ...

Hallo Heinrich!

Ich habs mal einfach in mysql ausprobiert:

Code:
mysql> SELECT COUNT(*)
    -> FROM
    ->  tab_bes AS a LEFT OUTER JOIN tab_art AS b
    ->  ON a.art_id = b.art_id
    -> WHERE b.kat_id = 3
    -> ;
+----------+
| COUNT(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)
Es funktioniert also leider nicht.

Ich hab mal die Datenbank hochgeladen: http://nopaste.tshw.de/1167246397de7ae/
Einfach in phpMyAdmin oder die mysql-Konsole kopieren und ausführen, dann seht ihr, was ich sehe :)

Ich hab auch nochmal die Tabellenstruktur ausgeben lassen, falls die mal jemand sehen will:
Code:
mysql> describe tab_kat;
+--------------+----------------------+------+-----+---------+----------------+
| Field        | Type                 | Null | Key | Default | Extra          |
+--------------+----------------------+------+-----+---------+----------------+
| kat_id       | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| superKat_id  | smallint(5) unsigned | YES  |     | NULL    |                |
| name         | varchar(255)         | YES  |     | NULL    |                |
| beschreibung | text                 | YES  |     | NULL    |                |
+--------------+----------------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)

mysql> describe tab_art;
+--------+----------------------+------+-----+---------+----------------+
| Field  | Type                 | Null | Key | Default | Extra          |
+--------+----------------------+------+-----+---------+----------------+
| art_id | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| kat_id | smallint(5) unsigned | YES  |     | NULL    |                |
| name   | varchar(255)         | YES  |     | NULL    |                |
+--------+----------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

mysql> describe tab_bes;
+---------------+----------------------+------+-----+---------+----------------+
| Field         | Type                 | Null | Key | Default | Extra          |
+---------------+----------------------+------+-----+---------+----------------+
| bes_id        | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| art_id        | smallint(5) unsigned | YES  |     | NULL    |                |
| hersteller_id | smallint(5) unsigned | YES  |     | NULL    |                |
| datum         | datetime             | YES  |     | NULL    |                |
| inhalt        | text                 | YES  |     | NULL    |                |
+---------------+----------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
Wär echt Klasse, wenn da jemand die Nadel im Heuhaufen finden würde. Ich seh da irgendwie nix und klappen tuts auch einfach nicht :-/
Mit Zitat antworten
  #4  
Alt 28.12.2006, 22:39:53
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: Elemente aus Elementen aus Elementen zählen ...

Krieg' grad nicht den Durchblick, weil in Hektik > Uuuurlaub steht bevor.

Ändere vielleicht mal den JOIN (statt LEFT OUTER JOIN einfach JOIN oder RIGHT JOIN)

Bräuchte mehr Muse, um das logisch zu durchblicken.
Mit Zitat antworten
  #5  
Alt 29.12.2006, 00:09:32
Andes Andes ist offline
Member
 
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
AW: Elemente aus Elementen aus Elementen zählen ...

PHP-Code:
SELECT COUNTbes_id 
FROM `tab_kat` AS k
INNER JOIN 
`tab_art` AS a ON k.kat_id a.kat_id 
INNER JOIN `tab_bes` AS b ON a.art_id b.art_id 
WHERE k.kat_id 3
oder

PHP-Code:
SELECT COUNTbes_id 
FROM `tab_bes` AS b
INNER JOIN 
`tab_art` AS a ON a.art_id b.art_id 
WHERE a.kat_id 3
Bloß damit nicht 0 raus kommt solltest du auch Beschreibungen in deiner Tabelle haben die Artikeln der Kategorie 3 zugeordnet sind.
Bei deiner sind aber nur Beschreibungen enthalten, wo die Artikel der Kategorie 1 zugeordnet sind.
Wenn du obige Abfrage mit 1 ausführst erhältst du 390 und das sind genau so viele Datensätze wie in tab_bes drin stehen.
__________________
Grüße Andes
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zählen gleicher Feldinhalte in ZEILE ? tritones MySQLi/PDO/(MySQL) 2 19.09.2006 13:45:51
Sonderzeichen und Ziffern zählen BeSt PHP Grundlagen 2 15.03.2006 20:43:57
Absätze in einer Textdatei zählen. C@$ToR PHP Grundlagen 4 07.02.2006 20:05:56
Array-Schlüssel nach Löschung einzelner Elemente Aichbus PHP für Fortgeschrittene und Experten 2 09.06.2003 15:53:51
klicks zählen aber wie ?? col7 PHP für Fortgeschrittene und Experten 5 14.03.2003 14:57:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:15:59 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt