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 14-08-2004, 10:01
php_rookie
 Junior Member
Links : Onlinestatus : php_rookie ist offline
Registriert seit: Dec 2003
Beiträge: 224
php_rookie ist zur Zeit noch ein unbeschriebenes Blatt
Standard blätterfunktion

hi!

bin gerade dabei eine kommentarfunktion für eine bildergallerie zu erstellen.

ich würde gerne eine blätterfunktion implementieren und nur jeweils 5 kommentare pro seite zulassen. die abfrage schränk ich mit limit 1 bis 5 testhalber ein. die ersten 5 ergebnisse werden so anstandslos zurückgegeben:
Code:
SELECT `date_time` , `nickname` , `email` , `location` , `comment`
FROM `gallery_comments`
WHERE `id_event` = '14' AND `id_image` = '58'
ORDER BY `id_comment` DESC
LIMIT 1 , 5;
mich würde jetzt aber noch die gesamtanzahl der kommentare interessieren. gezählt werden sollen die anzahl der zeilen in der tabelle, die unter id_image 58 stehen haben.

gibt es eine möglichkeit die gesamtzahl auch noch in das query zu packen, oder ist eine eigene abfrage nötig?

besten dank!
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 14-08-2004, 10:40
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: blätterfunktion

Zitat:
gibt es eine möglichkeit die gesamtzahl auch noch in das query zu packen, oder ist eine eigene abfrage nötig?
eigene.
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #3 (permalink)  
Alt 14-08-2004, 11:50
php_rookie
 Junior Member
Links : Onlinestatus : php_rookie ist offline
Registriert seit: Dec 2003
Beiträge: 224
php_rookie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

verrätst mir auch welche, bitte? count ohne group by ist nicht möglich.
Mit Zitat antworten
  #4 (permalink)  
Alt 14-08-2004, 13:03
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von php_rookie
verrätst mir auch welche, bitte? count ohne group by ist nicht möglich.
dann benutz doch ein count mit group by ...

außerdem, wenn du blättern willst, sollte es dich nicht nur interessieren, wieviel einträge es sind ...
für gewöhnlich stellt man die anzahl der einträge fest, bevor man das limit anwendet ...
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #5 (permalink)  
Alt 14-08-2004, 13:06
Quickborner
 Junior Member
Links : Onlinestatus : Quickborner ist offline
Registriert seit: May 2004
Beiträge: 62
Quickborner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

falls du mySql ab 4.0.x benutzt, könnte evtl. folgendes helfen


Select {...}, SQL_CALC_FOUND_ROWS * from table where {...} ORDER LIMIT x,y

im Kombination mit found_rows() liefert mysql die anzahl der datensätze, die es ohne LIMIT zurückgegeben würde.


nice day
Quickborner
Mit Zitat antworten
  #6 (permalink)  
Alt 15-08-2004, 10:44
php_rookie
 Junior Member
Links : Onlinestatus : php_rookie ist offline
Registriert seit: Dec 2003
Beiträge: 224
php_rookie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von derHund
dann benutz doch ein count mit group by ...
?

wenn ich wüsste, wie ich count mit group by einfügen muss, würde ich nicht hier fragen?

Code:
SELECT `date_time` , `nickname` , `email` , `location` , `comment`
COUNT `id_event` AS `event_count`
FROM `gallery_comments`
WHERE `id_event` = '14' AND `id_image` = '58'
ORDER BY `id_comment` DESC
GROUP BY `id_event`
LIMIT 1 , 5;
ist nicht richtig.
Zitat:
außerdem, wenn du blättern willst, sollte es dich nicht nur interessieren, wieviel einträge es sind ...
es interessiert mich aber, wieviele beiträge es insgesamt sind, da ich eine navigation in der form

seite(n): 1 | 2 | 3 | 4 | 5

aufbauen möchte, und dazu brauch ich eben die gesamtanzahl der beiträge. die fett markierte zahl ist die kommentarseite die ich anzeigen lassen möchte.
Mit Zitat antworten
  #7 (permalink)  
Alt 15-08-2004, 10:46
php_rookie
 Junior Member
Links : Onlinestatus : php_rookie ist offline
Registriert seit: Dec 2003
Beiträge: 224
php_rookie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Quickborner
falls du mySql ab 4.0.x benutzt, könnte evtl. folgendes helfen


Select {...}, SQL_CALC_FOUND_ROWS * from table where {...} ORDER LIMIT x,y

im Kombination mit found_rows() liefert mysql die anzahl der datensätze, die es ohne LIMIT zurückgegeben würde.
danke für den hinweis. wenn ich es einfüge erhalte ich jedoch einen syntax error:
Code:
SELECT `date_time` , `nickname` , `email` , `location` , `comment`
SQL_CALC_FOUND_ROWS *
FROM `gallery_comments`
WHERE `id_event` = '14' AND `id_image` = '58'
ORDER BY `id_comment` DESC
LIMIT 1 , 5;
Mit Zitat antworten
  #8 (permalink)  
Alt 15-08-2004, 11:18
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
wenn ich es einfüge erhalte ich jedoch einen syntax error:
der da lautet?
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #9 (permalink)  
Alt 15-08-2004, 11:43
php_rookie
 Junior Member
Links : Onlinestatus : php_rookie ist offline
Registriert seit: Dec 2003
Beiträge: 224
php_rookie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

der da lautet:
Zitat:
MySQL meldet:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SQL_CALC_FOUND_ROWS *
FROM `gallery_comments`
WHERE `id_ev
Mit Zitat antworten
  #10 (permalink)  
Alt 15-08-2004, 11:54
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
es interessiert mich aber, wieviele beiträge es insgesamt sind, da ich eine navigation in der form
ja, lies doch mal die beiträge ... ich sagte nur, daß es für gewöhlich vor dem limit zu bestimmen ist ...
Zitat:
ist nicht richtig.
ach nee, was meinste, was ich mit 'eigene' meinte?

schau dir mal den syntax vom Quickborner an, vergleiche ihn mit deinem ... stell den unterschied fest ...
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #11 (permalink)  
Alt 15-08-2004, 18:33
php_rookie
 Junior Member
Links : Onlinestatus : php_rookie ist offline
Registriert seit: Dec 2003
Beiträge: 224
php_rookie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

deinen ausführungen nach ist es nicht möglich. ich werde wohl mit zwei abfragen arbeiten müssen. trotzdem danke für dein bemühen.
Mit Zitat antworten
  #12 (permalink)  
Alt 15-08-2004, 23:36
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hast du mal ein komma probiert?
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #13 (permalink)  
Alt 16-08-2004, 14:44
php_rookie
 Junior Member
Links : Onlinestatus : php_rookie ist offline
Registriert seit: Dec 2003
Beiträge: 224
php_rookie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von derHund
hast du mal ein komma probiert?
yep. ändert nichts an der tatsache, dass es einen fehler produziert.
Mit Zitat antworten
  #14 (permalink)  
Alt 18-08-2004, 10:35
php_rookie
 Junior Member
Links : Onlinestatus : php_rookie ist offline
Registriert seit: Dec 2003
Beiträge: 224
php_rookie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Quickborner
Select {...}, SQL_CALC_FOUND_ROWS * from table where {...} ORDER LIMIT x,y

im Kombination mit found_rows() liefert mysql die anzahl der datensätze, die es ohne LIMIT zurückgegeben würde.
nach einigen versuchen, nach dem motto "das muss doch gehen" hat sich herausgestellt, dass unter MySQL 4.0.20 nur folgende syntax funktioniert:
Zitat:
Select SQL_CALC_FOUND_ROWS *, {...} from table where {...} ORDER LIMIT x,y
"SQL_CALC_FOUND_ROWS *" _muss_ als erstes stehen, ansonsten liefert mysql obige fehlermeldung retour.

wie found_rows() zu benutzen ist, hab ich noch nicht herausgefunden.
Mit Zitat antworten
  #15 (permalink)  
Alt 07-03-2005, 16:23
motörhead
 Newbie
Links : Onlinestatus : motörhead ist offline
Registriert seit: Mar 2005
Beiträge: 1
motörhead ist zur Zeit noch ein unbeschriebenes Blatt
Standard found_rows()

liefert bei mir immer 18, egal wie viele datensätze wirklich vorhanden sind...
tolle wurst
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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:05 Uhr.