|
You last visited: Today at 21:24
Advertisement
MySQL Count - PHP Mehrere Ausgaben
Discussion on MySQL Count - PHP Mehrere Ausgaben within the Web Development forum part of the Coders Den category.
08/27/2010, 21:09
|
#1
|
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.
|
|
|
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
}
|
|
|
08/27/2010, 21:41
|
#3
|
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
|
Quote:
Originally Posted by wurstbrot123
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
|
|
|
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
|
|
|
08/27/2010, 22:01
|
#5
|
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
|
Quote:
Originally Posted by wurstbrot123
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.
|
|
|
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.
|
|
|
08/28/2010, 12:18
|
#7
|
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.
|
|
|
08/28/2010, 12:27
|
#8
|
elite*gold: 38
Join Date: Dec 2008
Posts: 1,339
Received Thanks: 462
|
Quote:
Originally Posted by Atheuz
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:
außerdem würde ich das count nicht auf alle columns ziehen sondern nur 1
ist besser in der performance
|
|
|
08/28/2010, 18:52
|
#9
|
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
|
Quote:
Originally Posted by Noisuf-X
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.
|
|
|
08/28/2010, 20:45
|
#10
|
elite*gold: 38
Join Date: Dec 2008
Posts: 1,339
Received Thanks: 462
|
Quote:
Originally Posted by Atheuz
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
|
|
|
08/28/2010, 22:07
|
#11
|
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
|
Quote:
Originally Posted by Noisuf-X
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.
|
|
|
|
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.
|
|