Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 21:24

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



MySQL Count - PHP Mehrere Ausgaben

Discussion on MySQL Count - PHP Mehrere Ausgaben within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
MySQL Count - PHP Mehrere Ausgaben

Und zwar habe ich das problem mit

Quote:
SELECT COUNT(*),corp FROM storeitems GROUP BY corp ORDER BY COUNT(*) DESC
Mit mysql_query kann ich mir nur den Eintrag an erster Stelle ausgeben lassen, ich möchte allerdings alle Ergebnisse haben ( Und count auch!). In ein Array das ganze zu schieben funktioniert auch nicht. :S

Geht das ganze in einer Abfrage?



Genau so möchte ich es in PHP auch ausgegeben haben in einer while schleife, und vorallem auch nur in einer Abfrage.
Ich habe so 1400 Einträge in der Datenbank, es wird dann nach 'corp' gezählt, wovon ich gerne die genaue anzahl und die spalte corp haben will.
Atheuz is offline  
Old 08/27/2010, 21:22   #2

 
elite*gold: 150
Join Date: Apr 2007
Posts: 2,372
Received Thanks: 6,628
Code:
$result = mysql_query("SELECT * FROM example");
$count = mysql_num_rows($result);

for($i = 0; $i < $count; ++$i)
{
	$row = mysql_fetch_object($result);
        // ausgabe
}
wurstbrot123 is offline  
Old 08/27/2010, 21:41   #3
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Quote:
Originally Posted by wurstbrot123 View Post
Code:
$result = mysql_query("SELECT * FROM example");
$count = mysql_num_rows($result);

for($i = 0; $i < $count; ++$i)
{
	$row = mysql_fetch_object($result);
        // ausgabe
}
Hab doch gesagt das es so nicht geht, das ist COUNT...

Fatal error: Cannot use object of type stdClass as array
Atheuz is offline  
Old 08/27/2010, 21:48   #4

 
elite*gold: 150
Join Date: Apr 2007
Posts: 2,372
Received Thanks: 6,628
der code wird gehen.
es werden mit * alle felder ausgewählt und es kommt kein
COUNT()* in der querry vor
wurstbrot123 is offline  
Thanks
1 User
Old 08/27/2010, 22:01   #5
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Quote:
Originally Posted by wurstbrot123 View Post
der code wird gehen.
es werden mit * alle felder ausgewählt und es kommt kein
COUNT()* in der querry vor
Ich glaube du verstehst mich falsch, ich kann deinen Code so oft wie ich will einbinden, er spuckt immer den selben Fehler aus.
Atheuz is offline  
Old 08/27/2010, 23:56   #6

 
elite*gold: 150
Join Date: Apr 2007
Posts: 2,372
Received Thanks: 6,628
dann mach aus $count - $counter
an beiden stellen.
wurstbrot123 is offline  
Old 08/28/2010, 12:18   #7
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Daran hats nicht gelegen, sondern das ich es nicht wie eine Klasse aufgerufen habe. Hätte ich auch aus der Fehlermeldung lesen können. Danke dir.

Außerdem musste ich den SQL ändern damit ich beide Ergebnisse bekam.
Atheuz is offline  
Old 08/28/2010, 12:27   #8
 
Noisuf-X's Avatar
 
elite*gold: 38
Join Date: Dec 2008
Posts: 1,339
Received Thanks: 462
Quote:
Originally Posted by Atheuz View Post
Daran hats nicht gelegen, sondern das ich es nicht wie eine Klasse aufgerufen habe. Hätte ich auch aus der Fehlermeldung lesen können. Danke.

Jetzt weiß ich nur nicht wie ich auf das Ergebnis aus count zugreifen kann, $row->count gibt bei mir nichts aus, die namen bekomme ich aber jetzt.
du musst der count column einen namen geben
Beispiel:
Quote:
COUNT(*) as Anzahl
außerdem würde ich das count nicht auf alle columns ziehen sondern nur 1
ist besser in der performance
Noisuf-X is offline  
Old 08/28/2010, 18:52   #9
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Quote:
Originally Posted by Noisuf-X View Post
du musst der count column einen namen geben
Beispiel:


außerdem würde ich das count nicht auf alle columns ziehen sondern nur 1
ist besser in der performance
Wie gesagt, dass habe ich auch hinterher selber gemerkt das ich natürlich nicht auf count ohne einen Bezeichner zugreifen kann (Bevor ich den Thread erstellt habe, hatte ich dummerweise es auf corp bezogen lol). Und ja, einen Limiter habe ich auch eingefügt da ich nur maximal 30 Einträge von den 1200 brauche, allerdings muss ich alle Einträge davor einlesen.

Oder ist es schonender wenn ich alle Einträge in einer Schleife anhand der ID auslese, nochmal extern berechne und nochmal einen Request mache? Es wäre schonender wenn meine Ausgabe mit dem vorherigen Inhalt der Datenbank übereinstimmen würde, tut es aber nicht. Deswegen glaube ich nicht so recht daran das es soo viel Sinn machen würde.
Atheuz is offline  
Old 08/28/2010, 20:45   #10
 
Noisuf-X's Avatar
 
elite*gold: 38
Join Date: Dec 2008
Posts: 1,339
Received Thanks: 462
Quote:
Originally Posted by Atheuz View Post
Wie gesagt, dass habe ich auch hinterher selber gemerkt das ich natürlich nicht auf count ohne einen Bezeichner zugreifen kann (Bevor ich den Thread erstellt habe, hatte ich dummerweise es auf corp bezogen lol). Und ja, einen Limiter habe ich auch eingefügt da ich nur maximal 30 Einträge von den 1200 brauche, allerdings muss ich alle Einträge davor einlesen.

Oder ist es schonender wenn ich alle Einträge in einer Schleife anhand der ID auslese, nochmal extern berechne und nochmal einen Request mache? Es wäre schonender wenn meine Ausgabe mit dem vorherigen Inhalt der Datenbank übereinstimmen würde, tut es aber nicht. Deswegen glaube ich nicht so recht daran das es soo viel Sinn machen würde.
was ich meine ist COUNT(ID) und nicht COUNT(*) weil dann muss er nicht die ganze tabelle cachen und es ist performanter, das fehlt immer größeren sinne dann nämlich schon auf wie performant deine SQLAnweisungen sind.
Außerdem wäre ich mit SELECT * eh immer vorsichtig, ich zähle lieber immer meine spalten auf die verarbeiten möchten dann kann ich keine probleme bekommen wenn ich mal die tabelle erweitern will
Noisuf-X is offline  
Old 08/28/2010, 22:07   #11
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Quote:
Originally Posted by Noisuf-X View Post
was ich meine ist COUNT(ID) und nicht COUNT(*) weil dann muss er nicht die ganze tabelle cachen und es ist performanter, das fehlt immer größeren sinne dann nämlich schon auf wie performant deine SQLAnweisungen sind.
Außerdem wäre ich mit SELECT * eh immer vorsichtig, ich zähle lieber immer meine spalten auf die verarbeiten möchten dann kann ich keine probleme bekommen wenn ich mal die tabelle erweitern will
Ja, ist auch richtig das er mit SELECT * alle spalten ließt und bei COUNT(*) alle zählt, aber ich hatte ja bereits gesagt das ich den query überarbeitet habe.
Atheuz is offline  
Reply


Similar Threads Similar Threads
[ERROR] Mysql can't connect to local Mysql server through socket
11/06/2010 - Metin2 Private Server - 5 Replies
I just recently tried to configure a DNS server for MT2.. It came up with this error ERROR: 2002 (HY000): Can't connect to local Mysql server through socket '/tmp/mysql.sock' (2) Do I need to do a fresh installation of FBSD? :S Thanks.
MySQL Navicat 1130-Host'5.xxx.xx.xxx' is not allowed to connect to the MySQL Server
08/07/2010 - Metin2 Private Server - 14 Replies
Hallo com, ich habe ein Problem mit Navicat. Undzwar habe ich diesen Fehler hier : "1130-Host'5.xxx.xx.xxx' is not allowed to connect to the MySQL Server" seid gestern. Ich dachte mir mal ich änder mein Navicat Passwort um... Als ich dies getan habe, und meinen Server rebootet habe und Navicat neugestartet habe, und ich mich wieder in Navicat einloggen wollte kam diese Fehlermeldung. Nun habe ich das Problem das ich mich nicht mehr mit Navicat connecten kann. Habe schon alles versucht...
SP count
09/17/2008 - Silkroad Online - 3 Replies
Does anyone have an accurate number of how much SP you get for 0 gapping 0-90? Itd help alot as i am farming right now



All times are GMT +2. The time now is 21:24.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.