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 ::

TYPO3 Kochbuch

TYPO3 Kochbuch 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)
Hilfe Community Kalender Heutige Beiträge Suchen

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 28.08.2004, 18:02:36
Janson
Guest
 
Beiträge: n/a
count aus einer anderern Tabelle

Hi,

ich schon wieder.
Habe diesmal ein komplizierteres Problem.
Habe in meiner datenbank 2 Tabellen : cat und ANZEIGEN

In cat stehen die namen der ganzen Kategorien

In ANZEIGEN stehen dann die anzeigen mit den zugehörigen Kategorien.

Nun mein problem.

Ich möchte aus der Tabelle cat die cat_name auslesen und
gleichzeitig aus der Tabelle ANZEIGEN die anzeigen Zählen, die diesen cat_name haben. Praktisch eine Navigation mit Zähler.

Mein script funktioniert irgendwie nicht.

$query_cat = "SELECT cat.cat_name, COUNT art AS anzcat FROM cat, ANZEIGEN WHERE ANZEIGEN.art=cat_name ";
$cat = mysql_query($query_cat, $Echsenkeller) or die(mysql_error());
$row_cat = mysql_fetch_assoc($cat);
$totalRows_cat = mysql_num_rows($cat);

Vielleicht kann mir da jemand weiter helfen.

Glaube das die Select abfrage schon falsch ist, zeigt mir da schon einen Fehler.
Mit Zitat antworten
  #2  
Alt 29.08.2004, 08:52:18
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi,
PHP-Code:
/*
    Ich wuerde die Tabellennamens lieber alle klein schreiben...
*/
$query_cat "SELECT
                  c.cat_name, COUNT(a.art) AS anzcat
              FROM
                  cat c, ANZEIGEN a
              WHERE
                  c.cat_name=a.art
              GROUP BY
                  a.art"

So in der Art sollte das klappen, musste evtl. noch anpassen.

Bei der Verknüpfung der Tabellen "WHERE c.cat_name=a.art" wären IDs sinnvoller. Bsp.: -> "WHERE c.id=a.cat_id". Das hängt von Deinen Tabellenstrukturen ab.

Grüße
Mit Zitat antworten
  #3  
Alt 29.08.2004, 09:27:26
Janson
Guest
 
Beiträge: n/a
Hab ich probiert, kommt aber die selbe Fehlermeldung, nämlich :

You have an error in your SQL syntax near '(a.art) AS anzcat FROM cat c, ANZEIGEN a WHERE c.cat_name=a.art GROUP BY a.art' at line 1
Mit Zitat antworten
  #4  
Alt 29.08.2004, 10:02:37
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
//verschoben - MYSQL probleme => MYSQL forum

hast du es wirklich so 1:1 in deinem code stehen?

poste doch bitte mal etwas mehr php-code und auch die tabellenstruktur der beiden tabellen, denn ich kann wirklich nichts am code erkennen.
Mit Zitat antworten
  #5  
Alt 29.08.2004, 10:26:22
Janson
Guest
 
Beiträge: n/a
Die Tabelle cat:

cad_id
cat
cad_name

Hier sind die ganzen Kategorien aufgeführt.

Die tabelle anzeigen:

anz_id
bst
art
a_text
aid
datum

Hier werden die anzeigen gespeichert. art sind die Kategorien.
Die möchte ich mit der abfrage mit zählen.
Die Tabelle cat ist meine Navigation.

z.B.

Leguane (20) (vorne die Kategorie und in Klammern die anzahl der Anzeigen)

Das Script zum Auslesen :

<?php
mysql_select_db($database_Echsenkeller, $Echsenkeller);
$query_cat = "SELECT c.cat_name, COUNT (a.art) AS anzcat FROM cat c, ANZEIGEN a WHERE c.cat_name=a.art GROUP BY a.art";
$cat = mysql_query($query_cat, $Echsenkeller) or die(mysql_error());
$row_cat = mysql_fetch_assoc($cat);
$totalRows_cat = mysql_num_rows($cat);
?>

Den PHP-Code für die ausgabe habe ich noch nicht geschrieben, da ja meine abfrage noch nicht funktioniert.
Mit Zitat antworten
  #6  
Alt 29.08.2004, 10:54:40
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Du hast zwischen COUNT und den ()-Klammern ein Leerzeichen drin, das muss raus.
Code:
$query_cat = "SELECT c.cat_name, COUNTKEIN LEERZEICHEN(a.art) AS anzcat FROM cat c, ANZEIGEN a WHERE c.cat_name=a.art GROUP BY a.art";
P.S.: Sind wahrscheinlich nicht die Originalfeldnamen, oder?
Code:
cad_id
cat
cad_name
Mit Zitat antworten
  #7  
Alt 29.08.2004, 11:08:24
Janson
Guest
 
Beiträge: n/a
Sorry, schreibfehler.

Jetzt habe ich keine Fehlermeldung mehr.

Er findet aber keine Daten, obwohl die Tabelle cat eigentlich voll ist?
Mit Zitat antworten
  #8  
Alt 29.08.2004, 11:11:50
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
ist die tabelle anzeige voll?

edit:
c.cat_name=a.art

du bist dir wikrlich sicher, dass du das so willst? auto-increment-ids sind einzigartig, aber was passiert wenn zwei cats ausversehen mal gleich heißen? chaos?
Mit Zitat antworten
  #9  
Alt 29.08.2004, 11:14:17
Janson
Guest
 
Beiträge: n/a
Nein, aber adnn müßte er doch bei der anzahl (0) anzeigen, oder?
Mit Zitat antworten
  #10  
Alt 29.08.2004, 11:24:06
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
na also:

Er findet aber keine Daten, obwohl die Tabelle cat eigentlich voll ist?

und bei der anzahl kommt 0 raus oder umgekehrt.

desweiteren hatte ich das auch schon. ich habe ein sql-statement und da war eine tabelle dabei die leer war und dadurch war mein kompletter result-array leer...müsste mal schauen woran das liegt...
Mit Zitat antworten
Antwort


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

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


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


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


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