php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 30-08-2007, 17:58
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard SELECT COUNT(*) mit mysql_fetch_array liefert nur Zeilenanzahl?

hiho, also ganz einfaches Problem: Ich starte eine Suchanfrage in meiner DB und will das er mir die Anzahl der Treffer anzeigt:

PHP-Code:
$query 'SELECT COUNT(*) as blabla FROM products, shops WHERE SID = shops.ID'

$results mysql_query($query);

// Zählen der Einträge:

$result mysql_fetch_array($results);
$hits $result[blabla];

echo 
$hits
Das klappt auch alles SUPER, aber:

1. Sehe ich das richtig, dass "as blabla" hier im Beispiel praktisch nur den Array-Eintrag definiert wo er das Ergebnis der Treffer speichert?

2. Auf der gleichen Seite weiter unten kommt bei mir noch einmal der Befehl:
PHP-Code:
while ($result mysql_fetch_array($result) { echo.... 
der praktisch den eigentlichen Sinn der SELECT-Abfrage ausgeben soll - also alles was er gefunden hat. Aber das klappt nicht mehr sobald ich oben das Array "fetche". Sollte ich also hier zuvor noch eimal die gleiche SELECT-Abfrage schreiben allerdings OHNE COUNT(*) ? Oder würde das die Datenbank zu sehr belasten 2 Select-Befehle?

BESTEN DANK für eure Hilfe! Grüße andy
Mit Zitat antworten
  #2 (permalink)  
Alt 30-08-2007, 18:01
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

Theoretisch sind 2 mal die gleiche Abfrage kein Problem. Meist werden webseiten ja eh von mehr als nur einem Benutzer besucht.

Praktisch aber, ist es wesentlich sinnvoller, einfach gleich die Ergebnisse zu selektieren, die du haben willst, und diese mithilfe von mysql_num_rows() zu zählen.

Die Experten könnten sich jetzt drüber streiten, ob das Zählen in MySQL schneller geht und weniger resourcen verbraucht, oder obs in PHP besser ist. Tatsache ist aber, dass du damit auf jeden Fall eine Abfrage sparst.
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #3 (permalink)  
Alt 30-08-2007, 18:05
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

zu 1: ja. aber beachte http://www.php-resource.de/forum/sho...threadid=47906
Mit Zitat antworten
  #4 (permalink)  
Alt 30-08-2007, 18:05
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke! ich habe allerdings gelesen, dass mysql_num_rows() ziemlich Datenbankbelastend sein soll weshalb ich es so lösen wollte. Ist da was dran?
__________________
www.FrozenEmotions.de

Geändert von FrozenEmotions (30-08-2007 um 18:13 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 30-08-2007, 18:09
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wo hast du das gelesen?
lies lieber www.das-dass.de
Mit Zitat antworten
  #6 (permalink)  
Alt 30-08-2007, 18:15
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke für den netten Hinweis

Gelesen habe ich es in einem Forum, war allerdings auch nur die Aussage einer Users. Deshalb ist fraglich ob es stimmt oder nicht.
__________________
www.FrozenEmotions.de
Mit Zitat antworten
  #7 (permalink)  
Alt 30-08-2007, 18:16
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

und wie wurde die aussage begründet?
Mit Zitat antworten
  #8 (permalink)  
Alt 30-08-2007, 18:18
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard

eigentlich garnicht - nur halt dass man lieber den COUNT-Befehl bei sowas nutzen sollte..


habs hier der Link:

Winfuture

Zitat:
Zitat:
hi,

SELECT COUNT(*) FROM [TABELLE] WHERE name LIKE '[SUCHBEGRIF]'

ist schon richtig zum Zählen der Datensätze, das Abfragen der Daten und anschließende zählen mit mysql_num_rows belastet den Server viel mehr.
__________________
www.FrozenEmotions.de

Geändert von FrozenEmotions (30-08-2007 um 18:22 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 30-08-2007, 18:22
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

warum machst du dir also gedanken über nicht belegte aussagen irgendeines forum besuchers?
Mit Zitat antworten
  #10 (permalink)  
Alt 30-08-2007, 18:27
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich bin nur skeptisch, nicht dass der Server später in die Knie geht wenn die Seite stärker besucht wird. Das wär schlecht...
__________________
www.FrozenEmotions.de
Mit Zitat antworten
  #11 (permalink)  
Alt 30-08-2007, 18:31
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wenn du NUR die Anzahl haben willst, nimm COUNT. Es ist überflüssig, alle Daten zu selektieren und nach PHP rüberzuschaufeln, nur um die Anzahl zu erfahren.

Wenn du sie aber sowieso alle brauchst, dann spricht überhaupt nichts gegen mysql_num_rows.
__________________
ich glaube
Mit Zitat antworten
  #12 (permalink)  
Alt 30-08-2007, 18:33
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard

oki super dann danke ich euch mal für die echt nette Hilfe !!!
__________________
www.FrozenEmotions.de
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:03 Uhr.