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-04-2008, 10:45
FloSch
 Registrierter Benutzer
Links : Onlinestatus : FloSch ist offline
Registriert seit: Aug 2003
Beiträge: 44
FloSch ist zur Zeit noch ein unbeschriebenes Blatt
Standard LIMIT mehrfach anwenden

Hallo zusammen,

habe ein Problem und komme selbst nach Suche nicht weiter!

Folgendes:
Ich habe ein Newssystem mit Blätterfunktion. Für die Blätterfunktion benutze ich LIMIT.
Es werden bei der Abfrage alle Newseinträge ausgelesen, die freigegeben sind. Nun will ich aber eine weiteres LIMIT in der Abfrage nutzen, um nur die letzten 100 Newseinträge auszulesen.
Wie kann ich das lösen?! Hab da was mit subselect gelesen...korrekt?!

Hier meine Abfrage:

PHP-Code:
$sql="SELECT * FROM news_".$newsid." WHERE free='on' ORDER BY date $Desc, time $Desc LIMIT $start, $eintraege_pro_seite" 
Danke & Greetinx
Mit Zitat antworten
  #2 (permalink)  
Alt 30-04-2008, 10:54
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Du könntest in der Tat mit einem Subselect ermitteln, wieviele Datensätze insgesamt vorhanden sind.

Edit: Mhm, ich glaube, es ist performanter, wenn du einen Query absetzt, der ermittelt wieviel Datensätze vorhanden sind, und dir daraus einen Query zusammenbaust.

Geändert von unset (30-04-2008 um 11:00 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 30-04-2008, 11:08
FloSch
 Registrierter Benutzer
Links : Onlinestatus : FloSch ist offline
Registriert seit: Aug 2003
Beiträge: 44
FloSch ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Kannst Du mir ein Beispiel geben wie das dann aussehen soll?!
Mit Zitat antworten
  #4 (permalink)  
Alt 30-04-2008, 11:11
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Wie du die Anzahl von Datensätzen ermittelst, wirst du ja wohl grade noch wissen, oder?
Mit Zitat antworten
  #5 (permalink)  
Alt 30-04-2008, 11:15
FloSch
 Registrierter Benutzer
Links : Onlinestatus : FloSch ist offline
Registriert seit: Aug 2003
Beiträge: 44
FloSch ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja! Aber der PHP-Profil bin ich nicht!

Ich versteh nicht ganz Query und dann daraus Query.

Hab ich das so richtig verstanden:
Also ich mach ne Abfrage mit LIMIT um die letzten 100 Datensätze auszulesen.
Und dann kann ich danach das Ergebnis auf gleiche Weise wie meine Abfrage (s.o.) durchführen?!!!
Mit Zitat antworten
  #6 (permalink)  
Alt 30-04-2008, 11:22
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Du ermittelst, wieviele Datensätze vorhanden sind, daraus kannst du den Offset ermittelnt (was du "$start" genannt hast). Das wäre die Menge Minus der Menge, die du auslesen willst, also Ergebnis Minus 100. Das ersetzt du dann einfach mit $start in deinem Query. Fertig. Was ist daran so schwer zu kapieren?
Mit Zitat antworten
  #7 (permalink)  
Alt 30-04-2008, 11:32
FloSch
 Registrierter Benutzer
Links : Onlinestatus : FloSch ist offline
Registriert seit: Aug 2003
Beiträge: 44
FloSch ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorry, aber $start brauch ich doch für meine Blätterfunktion!


PHP-Code:
$page $_GET['goto'];

$start $page $eintraege_pro_seite $eintraege_pro_seite
Mit Zitat antworten
  #8 (permalink)  
Alt 30-04-2008, 11:36
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Herrgott, dann nimm eine andere Variable. Grundlagen kannst du dir auch selbst aneignen.
Mit Zitat antworten
  #9 (permalink)  
Alt 30-04-2008, 11:50
FloSch
 Registrierter Benutzer
Links : Onlinestatus : FloSch ist offline
Registriert seit: Aug 2003
Beiträge: 44
FloSch ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke für die freundliche Antworten!

Meine Frage ist doch nur, wo und wie ich dann in die oben angegeben Abfrage die Variable einsetzen muss!!!
Ein kleines Beispiel hätte uns viel Zeit erspart!

Vielleicht kann mir ja dennoch jemand helfen... da ich leider nicht auf den Trichter komm!
Mit Zitat antworten
  #10 (permalink)  
Alt 30-04-2008, 12:05
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Ich werde einen Teufel tun und dir Code vorgeben, ich helfe dir gerne, wenn du mit dem, was du erarbeitet hast nicht zurecht kommst. Ich habe dir gesagt, was zu tun ist - Punkt.
Mit Zitat antworten
  #11 (permalink)  
Alt 30-04-2008, 12:09
ezkimo
 Registrierter Benutzer
Links : Onlinestatus : ezkimo ist offline
Registriert seit: Apr 2005
Ort: Beckum / Westf.
Beiträge: 279
ezkimo befindet sich auf einem aufstrebenden Ast
ezkimo eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von unset
Mhm, ich glaube, es ist performanter, wenn du einen Query absetzt, der ermittelt wieviel Datensätze vorhanden sind, und dir daraus einen Query zusammenbaust.
Gelesen und verstanden? Es ist reine Mathematik:
1. Query absetzen, welches die Gesamtzahl aller Datensätze ermittelt
PHP-Code:
$result mysql_query('SELECT COUNT (column) FROM table WHERE condition'); 
2. Anzahl der Seiten ermitteln, die dargestellt werden sollen
PHP-Code:
$totalPages ceil($alleDatensaetze $datensaetzAufEinerSeite); 
3. Neues Query absetzen
PHP-Code:
$result mysql_query('
    SELECT 
        column 
    FROM 
        table 
    WHERE 
        condition 
    LIMIT ' 
. ( ($aktuelleSeite 1) * $datenSaetzeAufEinerSeite).", " $datenaetzeAufEinerSeite
Fertig ...
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 10:52 Uhr.