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

Webseiten professionell erstellen

Webseiten professionell erstellen 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 > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 30.08.2004, 15:27:12
momo.metti momo.metti ist offline
Anfänger
 
Registriert seit: Apr 2004
Beiträge: 55
count(*) geht nicht

PHP-Code:
$mysql_count_gb_ein=mysql_query("select count(*) from guestebuch where status='1'");  $row2=mysql_num_rows($mysql_count_gb_ein);  echo $row2
Wiso geht das nicht er gibt immer eine 1 aus was aber garnicht stimmt.
er soll mir ausgeben wie viele gästebuch einträge beim status eine 1 haben

ich habe schon versucht das anders zu machen aber das geht auch nicht ..

mfg momo
Mit Zitat antworten
  #2  
Alt 30.08.2004, 15:31:44
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Dieses Ergebnis ist absolut korrekt!

3 Beispiele (ich gehe von 12 Datensätzen aus):
PHP-Code:
// Abfrage gibt exakt eine Zeile zurueck
$mysql_count_gb_ein=mysql_query("SELECT COUNT(*) FROM guestebuch WHERE status='1'");
$row2=mysql_num_rows($mysql_count_gb_ein);
echo 
$row2;
// Ausgabe: 1

// Abfrage gibt exakt eine Zeile zurueck
$mysql_count_gb_ein=mysql_query("SELECT COUNT(*) AS Zaehler FROM guestebuch WHERE status='1'");
list(
$row2)=mysql_fetch_row($mysql_count_gb_ein);
echo 
$row2;
// Ausgabe: 12

// Abfrage gibt exakt zwoelf Zeilen zurueck
$mysql_count_gb_ein=mysql_query("SELECT * AS Zaehler FROM guestebuch WHERE status='1'");
$row2=mysql_num_rows($mysql_count_gb_ein);
echo 
$row2;
// Ausgabe: 12 
Statt dem Sternchen solltest Du bessere eine bestimmte Spalte angeben. Ist ein wenig schneller.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 30.08.2004, 15:50:10
bazubi bazubi ist offline
Junior Member
 
Registriert seit: Jan 2004
Beiträge: 496
Zitat:
Statt dem Sternchen solltest Du bessere eine bestimmte Spalte angeben. Ist ein wenig schneller.
Allerdings nur, wenn Du wirklich Daten abfragst. Bei COUNT ist COUNT(*) schneller als COUNT(spalte)
Mit Zitat antworten
  #4  
Alt 30.08.2004, 15:53:16
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Zitat:
Original geschrieben von bazubi
Allerdings nur, wenn Du wirklich Daten abfragst. Bei COUNT ist COUNT(*) schneller als COUNT(spalte)
Wirklich? Dachte eigentlich mal gegenteiliges gelesen zu haben.

Hast Du irgendwo was zum Nachlesen?
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #5  
Alt 30.08.2004, 15:55:50
momo.metti momo.metti ist offline
Anfänger
 
Registriert seit: Apr 2004
Beiträge: 55
mal wieder zu meinem problem!
so würde das gehen er gibt mir auch die richtige zahl wieder aber die verschiedenen if schleifen gehen dann komischer weise nicht mehr

mfg momo
Mit Zitat antworten
  #6  
Alt 30.08.2004, 15:58:30
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Zitat:
Original geschrieben von momo.metti
mal wieder zu meinem problem!
so würde das gehen er gibt mir auch die richtige zahl wieder aber die verschiedenen if schleifen gehen dann komischer weise nicht mehr

mfg momo
Was willst Du jetzt hören?

Mir fällt bloß das ein: Es gibt keine if-Schleifen!

Gib uns Infos, Input, INSERT, ... !!
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #7  
Alt 30.08.2004, 16:07:22
momo.metti momo.metti ist offline
Anfänger
 
Registriert seit: Apr 2004
Beiträge: 55
mist ein dummer fehler vom mir aber danke für eure hilfe

mfg momo
Mit Zitat antworten
  #8  
Alt 30.08.2004, 17:20:50
bazubi bazubi ist offline
Junior Member
 
Registriert seit: Jan 2004
Beiträge: 496
Zitat:
Original geschrieben von _c_4_
Wirklich? Dachte eigentlich mal gegenteiliges gelesen zu haben.

Hast Du irgendwo was zum Nachlesen?
Im Moment finde ich die Adresse nicht mehr. Aber vielleicht eine Idee. Angenommen Du hast einen Primary Key in einer Tab und mehrere "normale" Felder. Machst Du dann ein COUNT(normales Feld) muss mySQL komplett über die Spalte drübernudeln. Verwendest Du COUNT(*) kann sich mysql die Spalte raussuchen (was es auch tut) und nimmt z.B. den Primärschlüssel, welcher ja schon in einem optimierten Index vorliegt. Ergo gehts schneller - zumindest ein wenig.
Mit Zitat antworten
  #9  
Alt 30.08.2004, 21:12:00
Fuchs Fuchs ist offline
Junior Member
 
Registriert seit: Jul 2003
Beiträge: 182
Naja ganz so laeufts nicht intern.
Bei einem Count(*) fasst mysql keine Daten Datei (.myd - MYsql Data) an. Er nimmt die Daten aus der .frm Datei der Tabelle wo direkt drinsteht wie viele eintraege die Tabelle hat. Vorraussetzung ist natuerliche keine WHERE Klausel.
Bei einem COUNT(spalte) macht er das gleiche SOLANGE spalte NOT NULL deklariert ist. Kann die Spalte auch NULL sein wird gezaehlt. Was mit einem Schluessel aber auch sehr schnell geht.

Andre
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 11:20:37 Uhr.


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


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