php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.02.2007, 22:53  
Neuer Benutzer
 
Registriert seit: 20.02.2007
Beiträge: 5
dEMolite
Standard Count fehler?

Hi leute,

habe mir eine kleine Vinyldatenbank erstellt mit Artist titel label ....
einfach ebend das was eine kleine datenbank braucht.
Nun habe ich eine kleine Statistik am arbeiten aber leider arbeitet die nicht richtig. Den er gibt das falsche Label aus was angeblich die meisten hat.

Hier ein beispiel wie die Statistik aussieht:
Zitat:
dEMolite besitzt immoment 71 Vinyls.
Die meisten Vinyls kommen vom Label Suntec.
Die meistens Vinyls kommen aus Italien.
Die meistens Vinyls sind Hardstyle Vinyls.
Nur ist in den beispiel das Label Suntec falsch den Suntec hat 4Vinyls
und das label mit den meisten Platten ist Sigma Records mit 5Vinyls.
Dies kann man auch alles schön in der liste absehen. Nur in der Statistik wirds falsch ausgegeben.

Hier der code von der Statistik vielleicht findet ihr ja was:
PHP-Code:
<? 
    $sql 
"SELECT
                label,
                land,
                genre,
                sort,
                COUNT(id)
            FROM
                vinyls
            GROUP BY
                sort
            ORDER BY
                label desc limit 1"
;

    
$result mysql_query($sql) OR die(mysql_error());
    while(
$row mysql_fetch_array($result)){
        echo 
"<font size='1' face='Verdana'>[b]dEMolite[/b] besitzt immoment [b]"$row['COUNT(id)'] ."[/b] Vinyls.</font>
"
;
        echo 
"<font size='1' face='Verdana'>Die meisten Vinyls kommen vom Label [b]"$row['label'] ."[/b].</font>
"
;
        echo 
"<font size='1' face='Verdana'>Die meistens Vinyls kommen aus [b]"$row['land'] ."[/b].</font>
"
;
        echo 
"<font size='1' face='Verdana'>Die meistens Vinyls sind [b]"$row['genre'] ."[/b] Vinyls.</font>
"
;
        echo 
"
"
;
    }
?>
Das ganze könnt ihr euch als Demolink auch hier ansehen:
http://demolite.climbers-germany.de/vinyl
dEMolite ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.02.2007, 23:12  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

Ist wohl eher ein MySQL Fehler. Vilicht hilft dir ja das weiter: http://www.phpfriend.de/forum/ftopic61138.html
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 20.02.2007, 23:24  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Du sortierst ja auch nicht nach der Anzahl sondern nach dem Label...
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 20.02.2007, 23:33  
Neuer Benutzer
 
Registriert seit: 20.02.2007
Beiträge: 5
dEMolite
Standard

Agrajag kommt eigentlich genau das gleiche dann raus.
Wenn ichs nach ID sortiere:
Zitat:
dEMolite besitzt immoment 1 Vinyls.
Die meisten Vinyls kommen vom Label Anthem.
Die meistens Vinyls kommen aus Italien.
Die meistens Vinyls sind Hardtrance Vinyls.
Wenn ichs nach SORT sortiere:
Code:
dEMolite besitzt immoment 71 Vinyls.
Die meisten Vinyls kommen vom Label Suntec.
Die meistens Vinyls kommen aus Italien.
Die meistens Vinyls sind Hardstyle Vinyls.
Oder verstehe ich grad was falsch was Sie meinen?

P.S wenn der thread in der falschen Kategorie ist dürft ihr ihn ruhig verschieben.
dEMolite ist offline  
Alt 20.02.2007, 23:38  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von dEMolite
Agrajag kommt eigentlich genau das gleiche dann raus.
Wenn ichs nach ID sortiere:
Zitat:
dEMolite besitzt immoment 1 Vinyls.
Die meisten Vinyls kommen vom Label Anthem.
Die meistens Vinyls kommen aus Italien.
Die meistens Vinyls sind Hardtrance Vinyls.
Du willst doch als Ergebnis das Label, welches am meisten Vinyls/Platten hat?

Ich geh davon aus, dass du für jede Platte einen Eintrag in diese Tabelle machst. Und jetzt gruppierst du nach sort und zählst die Datensätze. Sortieren tust du aber nach dem Label(namen) (also alphabetisch) - du willst aber nach der Anzahl sortieren also ORDER BY COUNT(id).

btw.:
Evtl. solltest du mal nach "Datenkbank-Normalisierung" oder ähnlichem suchen. Außerdem bin ich mir nicht sicher ob man so wie du es da machst gruppieren kann - in MySQL geht es glaube ich, schön ist das trotzdem nicht.
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 20.02.2007, 23:45  
Neuer Benutzer
 
Registriert seit: 20.02.2007
Beiträge: 5
dEMolite
Standard

stimmt genau das wollt ich. Aber irgentwie bei COUNT(id) gibt er mir das label suntec auch.

Also muss ich woll nach einer anderen möglichkeit gucken um die statistiken aus zurufen.
dEMolite ist offline  
Alt 21.02.2007, 00:03  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

SELECT label, COUNT(*) FROM vinyls GROUP BY label ORDER BY COUNT(*) DESC

Gibt dir die Labels sortiert nach der Anzahl an Platten (bzw. einträgen in der Tabelle) zurück.

Wenn du noch zusätzliche Infos willst (wie z.b. aus welchem Land kommen die meisten Platten), dann musst du dafür ein extra Query basteln. (z.B. SELECT land, COUNT(*) FROM vinyls GROUP BY land ORDER BY COUNT(*)
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 21.02.2007, 02:03  
Neuer Benutzer
 
Registriert seit: 20.02.2007
Beiträge: 5
dEMolite
Standard

Komisch als wenn ich das einzelt mache immer ein neuen Array erstelle für jedes nimmt ers an. So merkt man ebend das MYSQL doch nicht so multiply ist ^^

Danke für deine hilfe klappt einwahnfrei.
dEMolite ist offline  
Alt 21.02.2007, 11:40  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von dEMolite
Komisch als wenn ich das einzelt mache immer ein neuen Array erstelle für jedes nimmt ers an. So merkt man ebend das MYSQL doch nicht so multiply ist ^^
Sorry, aber du redest wirres Zeug. Was soll "multiply" sein? Und wie stellst du dir das vor, dass MySQL gleichzeitig nach verschiedenen Spalten gruppiert und zählt? Das kann nicht gehn.
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 21.02.2007, 19:04  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Agrajag
Das kann nicht gehn.
Ach? Nur weil es total unmöglich ist, soll man es nicht trotzdem erwarten? Ts ts ts...
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
bitte hilfe! mysql fehler meldung: basicx PHP Tipps 2008 2 22.07.2008 16:36
[Erledigt] Mysql Syntax Fehler Datenbanken 3 06.07.2006 09:58
"Column count doesn't match value count at row 1" möchtegernchegga Datenbanken 3 05.03.2006 16:07
Fehler mit Count Matthiasnet PHP Tipps 2005-2 2 06.08.2005 12:46
MySQL error: Column count doesn't match value count at row 1 atom-dragon PHP Tipps 2005-2 4 21.07.2005 01:38
PEAR::DB LimitQuery was ist Count? PHP Tipps 2005-2 3 06.06.2005 18:02
[Erledigt] Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar PHP-Fortgeschrittene 19 31.05.2005 14:52
Blöder MySQL Fehler PHP Tipps 2005 3 15.05.2005 03:14
mehrere COUNT() auf selbe Tabelle und »can't reopen table« tapferesschneiderlein Datenbanken 3 04.04.2005 13:51
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
Wo liegt der fehler?? PHP-Fortgeschrittene 5 22.12.2004 09:54
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
Hilfe ich finde den Fehler nicht! PHP Tipps 2004 2 07.10.2004 17:40
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
mysql_real_escape_string - Fehler Schaelle Datenbanken 0 03.07.2004 23:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php count falsch

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:32 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.