php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.11.2004, 22:42  
Gast
 
Beiträge: n/a
Standard Feldname bei LIMIT setzen?

Hallo,

wie kann statt Integerwert, ein Feldname bei LIMIT setzen?

Statt LIMIT 5 soll LIMIT news_start
PHP-Code:
SELECT titeltext_kurzdatumnews_zeichennews_start FROM ".DBTAB_NEWS."".DBTAB_CONFIG." ORDER BY (datumDESC LIMIT 5
Es wird ja nur Intergerwert akzeptiert.
Ich will die Newsausgabe begrenzen.

danke
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.11.2004, 22:44  
Gast
 
Beiträge: n/a
Standard

SELECT LEFT(news_start,50) gibt z.b. nur die ersten 50 zeichen von news_start aus

meinst du das?
  Mit Zitat antworten
Alt 29.11.2004, 22:48  
Gast
 
Beiträge: n/a
Standard

Hallo,

das Feld "news_start" beihaltet Anzahl der News (z.B. 5), die auf der Startseite angezeigt werden sollen, nicht den Text. Und das muss bei LIMIT stehen.

Bsp.:
PHP-Code:
SELECT titeltext_kurzdatumnews_zeichennews_start FROM ".DBTAB_NEWS."".DBTAB_CONFIG." ORDER BY (datumDESC LIMIT news_start 
Das gibt Fehermeldung aus, weil bei LIMIT kein Interwert steht, sondern ein Feldname, in dem der Wert 5 steht.
  Mit Zitat antworten
Alt 30.11.2004, 08:16  
Gast
 
Beiträge: n/a
Standard

Zitat:
Bsp.:PHP-Code:
SELECT titel, text_kurz, datum, news_zeichen, news_start FROM ".DBTAB_NEWS.", ".DBTAB_CONFIG." ORDER BY (datum) DESC LIMIT news_start
Frage hierzu:
Angenommen die o.g. Abfrage liefert 20 Datensätze.
Und in jedem Datensatz ist für 'news_start' ein anderer INT-Wert vorhanden.

Welchen dieser 20 LIMIT-Werte sollte MYSQL dann wohl verwenden?

_____________
mfG -dilemma-

  Mit Zitat antworten
Alt 30.11.2004, 18:08  
Gast
 
Beiträge: n/a
Standard

Hallo,

hier sind meine Tabellen, um das Ganze zu verdeutlichen.

Tab. Einstellungen (Struktur)
Code:
id  	         int(2)  
sitename  	   varchar(100)
news_start  	 int(3) // Anzahl der News auf der Startseite
Tab. Einstellungen (Daten)
Code:
id  	         1
sitename  	   MeinPage
news_start  	 10 // Anzahl der News auf der Startseite
Was will ich?

Ich will ein Limit bei der Newsausgabe setzen und zwar, wenn ich im Admin, den Wert auf 5 (Field: news_start) setze, sollen nur noch 5 letzte News angezeigt werden.

Code:
SELECT titel, text_kurz, datum, news_zeichen, news_start FROM news, einstellungen ORDER BY (datum) DESC LIMIT 5
Hier steht bei LIMIT Wert 5, ich will aber statt dem Wert ein Datellenfeld setzen, damit ich die Anzahl der News im Admin bestimmen kann.

Code:
SELECT titel, text_kurz, datum, news_zeichen, news_start FROM news, einstellungen  ORDER BY (datum) DESC LIMIT news_start
Mit LIMIT news_start geht das nicht, wie löse ich das?
  Mit Zitat antworten
Alt 30.11.2004, 18:23  
Gast
 
Beiträge: n/a
Standard

bin noch nicht der checker in mysql, aber meiner meinung nach müsstest du doch nur den wert den du in news_start hast in eine variable einlesen lassen, und dann die variable in den select string einfügen... zb:

PHP-Code:
$variable "einlesen aus der Datenbank"

SELECT titeltext_kurzdatumnews_zeichennews_start FROM newseinstellungen  ORDER BY (datumDESC LIMIT $variable 
das sagt mir die logik
  Mit Zitat antworten
Alt 30.11.2004, 18:30  
Gast
 
Beiträge: n/a
Standard

sonst schau mal hier:

http://www.php-faq.de/q/q-oracle-limit.html
  Mit Zitat antworten
Alt 30.11.2004, 18:45  
Gast
 
Beiträge: n/a
Standard

ja, das kann man natürlich auch machen, dann muss ich aber 2 Abfragen haben, eine aus Tab. Einstellungen und eine aus Tab. News und das wollte ich nicht.

PHP-Code:
$result $db->dbQuery("SELECT * FROM ".DBTAB_CONFIG."");
$row mysql_fetch_array($result);

// newsausgabe begrenzen    
$newslimit $row[news_start]; 
PHP-Code:
    $news $db->dbQuery("SELECT titel, text_kurz, datum, FROM ".DBTAB_NEWS." ORDER BY (datum) DESC LIMIT $newslimit"); 
  Mit Zitat antworten
Alt 30.11.2004, 18:52  
Gast
 
Beiträge: n/a
Standard

achso...naja so hätte ich es gemacht....
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] MySQL-Abfrage mit LIMIT geht nicht PhilCGN PHP Tipps 2008 16 30.05.2008 15:39
Select limit Rückwärts tommi89 Datenbanken 2 12.03.2008 05:52
Cookie zusätzlich für eine andere Domain setzen DonTermi PHP Tipps 2007 5 21.05.2007 13:52
eof setzen. Slava PHP Tipps 2007 15 03.04.2007 14:23
Auf eine Flashanimation einen Link setzen andrew22 HTML, Usability und Barrierefreiheit 23 06.03.2007 15:28
Limit Problem flflfl Datenbanken 5 26.10.2006 14:57
[Erledigt] Limit? Datenbanken 4 16.12.2005 10:09
LIMIT Abfrage mit Variablen PHP Tipps 2007 6 14.11.2005 17:41
[Erledigt] Gültigkeitsdauer eines Cookies lässt sich nicht setzen PHP Tipps 2005-2 8 21.10.2005 13:25
Sortieren nach und limit setzen CHRIS Datenbanken 1 11.07.2005 17:45
Befehlsoptimierung faux Datenbanken 4 31.05.2005 19:11
Problem mit LIMIT {m-d} Datenbanken 2 31.05.2005 16:01
Dateien erstellen und chmod setzen auch wenns nicht geht ^^ PHP Tipps 2005 8 22.05.2005 02:53
Problem mit Abfrage und Limit PHP Tipps 2004 5 14.10.2004 08:16
LIMIT(?) Fehler Schaelle Datenbanken 0 28.08.2004 14:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
% erledigt feldname, desc limit datum, bei limit, order by datum desc limit, select limit variabel, php limit variabel, limit variable, news limit 50 zeichen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.