AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[MySQL] Problem mit LIMIT

Ein Thema von Mazel · begonnen am 16. Apr 2006 · letzter Beitrag vom 16. Apr 2006
Antwort Antwort
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#1

[MySQL] Problem mit LIMIT

  Alt 16. Apr 2006, 21:59
Hi,

ich versuche schon die ganze Zeit meine Downloads auf ein Limit von 3 zu setzen aber leider gelingt mir das nicht so richitg. Pro Seite sollen also 3 Downloads angezeigt werden.

Ich habe eine Tabelle. Dort befinden sich alle Programme mit den jeweiligen Infos drinn. Ein Feld nennt sich "categorie" damit ich die Programme der Kategorie zuweisen kann. Wenn jamand auf "Tools" klickt wird die Kategorie (für Tools "5") übertragen. Nun sollen alle Datensätze mit der Kat. ausgewählt, sortiert und pro Seite begrenzt werden. Wenn ich LIMIT nicht benutze funktioniert alles bestens.

Delphi-Quellcode:
$readdata=mysql_query("SELECT * FROM downloads WHERE categorie='$get' ORDER BY date DESC LIMIT x,3");
while($row = mysql_fetch_assoc($readdata))
{
  echo $row['name'];
  echo $row['date'];
}
x... Seite

Die Ordnung ist zwar nach dem Datum korrekt, dennoch fehlen Datensätze.

Die Programme sind in der Tabelle ungeordnet, also nicht nach Kategorie.

Kann mir hier jemand helfen?

Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [MySQL] Problem mit LIMIT

  Alt 16. Apr 2006, 22:02
Hi,

deine Syntax kenne ich nicht, ich mache das immer direkt mit

Code:
... LIMIT 3
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#3

Re: [MySQL] Problem mit LIMIT

  Alt 16. Apr 2006, 22:05
Hi,

wenn du nur LIMIT 3 verwendest, fängt er beim 1. Datensatz an. LIMIT 6,3 beudeutet das er bei dem 6. Datensatz anfängt zu suchen.

Das ist ja auch mein Problem, weil es ja nicht geordnet ist, macht der so komische Sachen.

Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [MySQL] Problem mit LIMIT

  Alt 16. Apr 2006, 22:11
Hallo!

Frage: Hast du das x im LIMIT nur für den Eintrag gesetzt oder steht das 1:1 in deinem Skript so? Da gehört nämlich die PHP-Variable hin, die die Seite angibt (und dann mit 3 multiplizieren).

Zitat von Matze:
Hi,

deine Syntax kenne ich nicht, ich mache das immer direkt mit

Code:
... LIMIT 3
LIMIT 10,3 gibt dir 3 Datensätze aus, beim 10. beginend.

Grüße
Faux

Im Wort beginend stecken begin und end drinne.
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#5

Re: [MySQL] Problem mit LIMIT

  Alt 16. Apr 2006, 22:16
Hi,

Nein, da steht eine Variable mit 3 multipliziert.

Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [MySQL] Problem mit LIMIT

  Alt 16. Apr 2006, 22:17
Zitat von Mazel:
Hi,

Nein, da steht eine Variable mit 3 multipliziert.

Gruß
Mazel
Schreib mal den Code 1:1 hier rein.

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#7

Re: [MySQL] Problem mit LIMIT

  Alt 16. Apr 2006, 22:27
hi,

hier der Code:
Delphi-Quellcode:
$limit=$_GET['get'][2];
$readdata=mysql_query("SELECT * FROM downloads WHERE categorie='$get' ORDER BY date DESC LIMIT $limit,3");
while($row = mysql_fetch_assoc($readdata))
{
  echo $row['name'];
  echo date("d.m.Y", $row['date']);
}
in $_GET['get'][2] ist dann die Seite gespeichert, die angezeigt werden soll. Beispiel:
index.php?get=331 bedeutet, dass die Seite 1 angezeigt werden soll. Die anderen Zahlen nutze ich für etwas anderes.

Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#8

Re: [MySQL] Problem mit LIMIT

  Alt 16. Apr 2006, 22:31
Hallo,

LIMIT mit ORDER funktioniert definitiv:
Code:
$page = 3;
$perpage = 5;
$sql = 'SELECT * FROM bar ORDER by foo LIMIT '. ($page-1) * $perpage .",{$perpage}";
Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: [MySQL] Problem mit LIMIT

  Alt 16. Apr 2006, 22:34
Zitat von Mazel:
bedeutet, dass die Seite 1 angezeigt werden soll. Die anderen Zahlen nutze ich für etwas anderes.
Du weiß aber schon, dass man auch mehrere Variablen per GET übergeben kann, oder?

Du solltest $limit mit 3 multiplizieren, da jede Seite 3 Einträge hat und der erste Parameter sen "Einsprungpunkt" angibt.

Zitat von alcaeus:
LIMIT mit ORDER funktioniert definitiv
Habe ich auch schon ausprobiert. Das LIMIT hat keinen Einfluss auf die Sortierung (was ja auch logisch und gut so ist).

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#10

Re: [MySQL] Problem mit LIMIT

  Alt 16. Apr 2006, 23:04
hi,

hab jetzt eine Lösung für mein Problem. Ich speichere erst die geordneten Datensätze in ein Array und gebe sie dann pro Seite aus.

Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz