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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
28.08.2004, 18:02:36
|
|
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.
|
29.08.2004, 08:52:18
|
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
|
29.08.2004, 09:27:26
|
|
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
|
29.08.2004, 10:02:37
|
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.
|
29.08.2004, 10:26:22
|
|
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.
|
29.08.2004, 10:54:40
|
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
|
29.08.2004, 11:08:24
|
|
Sorry, schreibfehler.
Jetzt habe ich keine Fehlermeldung mehr.
Er findet aber keine Daten, obwohl die Tabelle cat eigentlich voll ist?
|
29.08.2004, 11:11:50
|
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?
|
29.08.2004, 11:14:17
|
|
Nein, aber adnn müßte er doch bei der anzahl (0) anzeigen, oder?
|
29.08.2004, 11:24:06
|
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...
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 09:22:07 Uhr.
|