Fahrtenbuch genial!
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 13.08.2002, 10:58   #1
TP-Senior
 
Benutzerbild von hollow
 
Registriert seit: Jan 2002
Ort: München
hollow ist auf einem guten Weg

SQL-Limit


hallo tp`ler,
sorry aber ich habe mir die limit sachen über die suche durchgelesen und raffe es einfach nicht .

also ich habe eine personendatenbank mit fotos.
ich habe eine seite mit der ich alle abfrage aus der sql
und mir dann schön aufstellen lasse.
mittlerweile sind es 735 und die abfrage dauert :-)

wie bau ich in diesem script(siehe code unten) die limitierung ein auf 50 pro seite ???

wäre nett wenn sich einer dessen annehmen würde..
danke hollow


PHP-Code:
<?php
include("_config.php");

$con=mysql_connect($sql_host$sql_user$sql_pass) or die ("Verbindungs Fehler");
mysql_select_db($sql_db) or die ("Datenbank Konnte nicht gefunden werden");

$sql_abfrage="SELECT * FROM $table  WHERE Buchnr NOT LIKE ''";
$abfrage_query=mysql_query($sql_abfrage,$con);

echo 
"<table border=\"0\" cellspacing=\"1\" width=\"752\" ALIGN=\"center\">\n<tr>";
echo 
"<td WIDTH=\"20%\">&nbsp;</td><td WIDTH=\"20%\">&nbsp;</td><td WIDTH=\"20%\">&nbsp;</td><td WIDTH=\"20%\">&nbsp;</td><td WIDTH=\"20%\">&nbsp;</td></tr>\n<tr>";
$durchlaeufe=0;
while (
$result mysql_fetch_array($abfrage_query,$con)) {     

    
$durchlaeufe++;
    echo 
"<td width=20% ALIGN=\"center\">\n";
    echo 
"<a href=\"details.php?id=$result[ID]\" target=\"_self\">";
    if (
$result[Thumblink]) {
        echo 
"<img border=\"0\" src=\"$result[Thumblink]\" WIDTH=\"102\" HEIGHT=\"125\"></a><BR>\n";
    }
    else {
        echo 
"<img border=\"0\" src=\"http://www.diewebseite.de/images/personal/personal.gif\" WIDTH=\"102\" HEIGHT=\"125\"></a><BR>\n";
    }
    echo 
"<font color=\"#000080\" size=\"1\" face=\"Verdana\">&nbsp;$result[Buchnr]</font>\n";
    echo 
"</td>\n";
    if (
$durchlaeufe == 5) {
        
$durchlaeufe 0;
        echo 
"</tr><tr><td COLSPAN=\"5\">&nbsp;</td></tr><tr>";
    }
}
?>
hollow ist offline   Mit Zitat antworten


Alt 13.08.2002, 16:15   #2
TP-Supporter
 
Benutzerbild von Sebi
 
Registriert seit: Feb 2002
Ort: Hamburg
Sebi ist auf einem guten Weg
hast du das tut schon gelesen? ich habs damit dann auch irgendwann geschafft

http://www.phpwelt.de/tutorials/tutorials.php?tid=88
Sebi ist offline   Mit Zitat antworten
Alt 13.08.2002, 22:18   #3
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Hier noch mal die entsprechende Theorie in Kürze:

LIMIT kennt zwei Argumente, nämlich den Offset ( = Startposition der abgefragten Datensätze) und das eigentliche Limit (= Anzahl der Datensätze).

PHP-Code:
... LIMIT 10,25 
Obiges bedeutet also sinngemäss "hole mir 25 Datensätze beginnend mit dem Elften".

Will man nun auf der folgenden Seite (oder wo auch immer) die nächsten 25 Datensätze ausgeben, gibt man dem dorthin führenden Link einfach die Argumente mit (xyz.php?alter_offset=10$mein_limit=25) und berechnet daraus den Nächsten:

PHP-Code:
$neuer_offset $alter_offset $mein_limit// 10 + 25 = 35

... LIMIT $neuer_offset,$mein_limit // = LIMIT 35,25 
Das ganze geht natürlich auch anderrsum, also per Subtraktion, falls man wieder "zurück" möchte. Ebenso kann man natürlich das Limit als festen Wert mit in das Script nehmen und muss es nicht herumtransportieren.
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 13.08.2002, 22:32   #4
TP-Senior
 
Benutzerbild von hollow
 
Registriert seit: Jan 2002
Ort: München
hollow ist auf einem guten Weg

hmm


genau das ist es..danke trotzdem..
ich habe genau diese infos gehabt aber ich bekomme es auf das obige script nicht angewendet :-( warum auch immer...




gruß
hollow
hollow ist offline   Mit Zitat antworten
Alt 16.08.2002, 09:43   #5
TP-Senior
 
Benutzerbild von hollow
 
Registriert seit: Jan 2002
Ort: München
hollow ist auf einem guten Weg

...........sql..


ahh... so ich habe es generell hinbekommen nur noch einen kleinen fehler.. da kann mir sicher einer helfen....

kann ich das jemandem zumailen der es sich eben mal ansieht oder soll ich code posting machen ;-)

danke! hollow

Geändert von hollow (16.08.2002 um 11:00 Uhr).
hollow ist offline   Mit Zitat antworten
Alt 16.08.2002, 11:08   #6
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
sollen wir feherraten spielen?
oder wie denkst du, dass wir dir helfen sollen?

ein bissl code täte in diesem fall sicher nicht schaden.

ansonsten fang ich mal an:

ich denke in zeile 65 liegt der fehler...
wie liege ich?

lf
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 16.08.2002, 11:13   #7
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein

Re: ...........sql..


Zitat:
Original geschrieben von hollow
soll ich code posting machen
Auf jeden Fall.
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 16.08.2002, 11:13   #8
TP-Senior
 
Benutzerbild von hollow
 
Registriert seit: Jan 2002
Ort: München
hollow ist auf einem guten Weg

looooool


ja doch :-) ..
also 69 ist er nicht..denn ein fehler habe ich bis dato nicht :-).

also ich hatte ein abfragescript was mir aus der db die leute mit ihren bildern auflistet.

nun habe ich ein script umgeschnipselt aus dem web, wo ich abfragen mit blättern machen kann.
problem ist ich weiß nicht wie ich da implementieren soll, was er mit den ergebnissen macht, denn er zeigt bisher nur die buchungsnummern an...
also hier das alte abfragescript :

PHP-Code:
<?php
include("_config.php");

$con=mysql_connect($sql_host$sql_user$sql_pass) or die ("Verbindungs Fehler");
mysql_select_db($sql_db) or die ("Datenbank Konnte nicht gefunden werden");

$sql_abfrage="SELECT * FROM $table  WHERE Buchnr NOT LIKE ''";
$abfrage_query=mysql_query($sql_abfrage,$con);

echo 
"<table border=\"0\" cellspacing=\"1\" width=\"752\" ALIGN=\"center\">\n<tr>";
echo 
"<td WIDTH=\"20%\">&nbsp;</td><td WIDTH=\"20%\">&nbsp;</td><td WIDTH=\"20%\">&nbsp;</td><td WIDTH=\"20%\">&nbsp;</td><td WIDTH=\"20%\">&nbsp;</td></tr>\n<tr>";
$durchlaeufe=0;
while (
$result mysql_fetch_array($abfrage_query,$con)) {     

    
$durchlaeufe++;
    echo 
"<td width=20% ALIGN=\"center\">\n";
    echo 
"<a href=\"details.php?id=$result[ID]\" target=\"_self\">";
    if (
$result[Thumblink]) {
        echo 
"<img border=\"0\" src=\"$result[Thumblink]\" WIDTH=\"102\" HEIGHT=\"125\"></a><BR>\n";
    }
    else {
        echo 
"<img border=\"0\" src=\"http://www.diewebseite.de/images/personal/personal.gif\" WIDTH=\"102\" HEIGHT=\"125\"></a><BR>\n";
    }
    echo 
"<font color=\"#000080\" size=\"1\" face=\"Verdana\">&nbsp;$result[Buchnr]</font>\n";
    echo 
"</td>\n";
    if (
$durchlaeufe == 5) {
        
$durchlaeufe 0;
        echo 
"</tr><tr><td COLSPAN=\"5\">&nbsp;</td></tr><tr>";
    }
}
?>

hier der neue.. wo soll ich da was beim echo eintragen damit er wieder die bilder in tabellen anzeigt..

PHP-Code:
<?php

// Datendefinition für Datenbankverbindung.
$host     "xx";  // MySQL - Zielrechner.
                          // Normallerweise ist es "localhost", bzw.
                          // synonym "127.0.0.1", also der Rechner,
                          // auf dem auch _dieses_ Script läuft.
$user     "xx";         // Dein Userlogin.
$password "xx";      // Dein Datenbankpasswort.

$database "peoplerent_de";  // Gewünschte Datenbank
                                 // innerhalb von MySQL
$table    "peoplerent";    // Der Name der Datenbanktabelle

// Datendefinition für die Clientausgabe
$start = (isset($start)) ? abs((int)$start) : 0;
$limit 30;                     // Datensätze pro Ausgabeseite

// Verbindung zu MySQL-Datenbank herstellen oder sterben.
@mysql_connect($host,$user,$password)
   or die(
"Abbruch: Verbindung zu '$host'"
         
." konnte nicht hergestellt werden.");

// Benötigte Datenbank auswählen oder sterben.
@mysql_select_db($database)
   or die(
"Abbruch: Datenbank '$database' konnte nicht"
         
." selektiert werden.<br><br>MySQL sagt: ".mysql_error());

// Feststellen der Anzahl der verfügbaren Datensätze.
$resultID = @mysql_query("SELECT COUNT(ID) FROM ".$table);
$total    = @mysql_result($resultID,0);

// Ggf. $start korrigieren (falls Parameter in
// der URL manipuliert wurde)
$start    = ($start >= $total) ? $total $limit $start;

// Datenbankabfrage ausführen.
$query    "SELECT * FROM  ".$table
           
." LIMIT ".$start.",".$limit;
$resultID = @mysql_query($query);


// Ergebnisse lesen und an den Client ausgeben
while ($data mysql_fetch_array($resultID))
{
  echo 
$data["Buchnr"]."<br>";

}

// Zurück- und Vorblättern
if ($start 0)
{
  
$newStart = ($start $limit 0) ? : ($start-$limit);
  echo 
"<a href=".$PHP_SELF."?start=".$newStart
      
.">&lt;&lt; zurück</a>";
}

if (
$start $limit $total)
{
  
$newStart $start $limit;
  echo 
" <a href=".$PHP_SELF."?start=".$newStart
      
.">vor &gt;&gt;</a>";
}

// Die benutzte (nichtpersistente) Verbindung zu der MySQL-Datenbank,
// wird nach dem Script-Ende automatisch geschlossen.
// That's it.
?>
hollow ist offline   Mit Zitat antworten
Alt 16.08.2002, 11:36   #9
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
anstatt:
PHP-Code:
// Ergebnisse lesen und an den Client ausgeben
while ($data mysql_fetch_array($resultID))
{
  echo 
$data["Buchnr"]."<br>";


mach das:

PHP-Code:
while ($resultmysql_fetch_array($resultID))
{
$durchlaeufe++;
    echo 
"<td width=20% ALIGN=\"center\">\n";
    echo 
"<a href=\"details.php?id=$result[ID]\" target=\"_self\">";
    if (
$result[Thumblink]) {
        echo 
"<img border=\"0\" src=\"$result[Thumblink]\" WIDTH=\"102\" HEIGHT=\"125\"></a><BR>\n";
    }
    else {
        echo 
"<img border=\"0\" src=\"http://www.diewebseite.de/images/personal/personal.gif\" WIDTH=\"102\" HEIGHT=\"125\"></a><BR>\n";
    }
    echo 
"<font color=\"#000080\" size=\"1\" face=\"Verdana\">&nbsp;$result[Buchnr]</font>\n";
    echo 
"</td>\n";
    if (
$durchlaeufe == 5) {
        
$durchlaeufe 0;
        echo 
"</tr><tr><td COLSPAN=\"5\">&nbsp;</td></tr><tr>";

__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 16.08.2002, 11:54   #10
TP-Senior
 
Benutzerbild von hollow
 
Registriert seit: Jan 2002
Ort: München
hollow ist auf einem guten Weg

urghs


jo hab ich und nun kommt :
Parse error: parse error, unexpected $ in /is/htdocs/26298/www.peoplerent.de/service_db/abfrage.php on line 87
hollow ist offline   Mit Zitat antworten
Alt 16.08.2002, 12:03   #11
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
ich weiss zwar nicht was in zeile 85 steht aber wenn du meinen geposteten code 1 zu 1 übernommen hast, dann fehlt eine klammer:

PHP-Code:
    if ($durchlaeufe == 5) {
        
$durchlaeufe 0;
        echo 
"</tr><tr><td COLSPAN=\"5\">&nbsp;</td></tr><tr>";

   }

__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 16.08.2002, 12:13   #12
TP-Senior
 
Benutzerbild von hollow
 
Registriert seit: Jan 2002
Ort: München
hollow ist auf einem guten Weg

lach


ich danke dir !!! es läuft !!!
der fehler war die klammer..

eine andere sache noch und du hast we :-)

in meiner alten abfrage machte ich es so :
PHP-Code:
SELECT FROM $table  WHERE Buchnr NOT LIKE '' 
in der neuen so man sagte mir ich darf das '' bei einem limit befehl nicht benutzen??) wie kann ich trotzdem nur die leute anziegen lassen die eine buchungsnummer haben ????


PHP-Code:
$query    "SELECT * FROM  ".$table
           
." LIMIT ".$start.",".$limit;
$resultID = @mysql_query($query); 
hollow ist offline   Mit Zitat antworten
Alt 16.08.2002, 13:04   #13
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
Zitat:
eine andere sache noch und du hast we :-)
schön wärs...

Zitat:
in der neuen so (man sagte mir ich darf das '' bei einem limit befehl nicht benutzen??)
wer ist man?

PHP-Code:
$query    =
"
SELECT * FROM  $table
WHERE buchungsnummer <> ''
LIMIT $start, $limit
"

__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 16.08.2002, 18:26   #14
TP-Senior
 
Benutzerbild von hollow
 
Registriert seit: Jan 2002
Ort: München
hollow ist auf einem guten Weg

danke


ich danke dir :-)
probleme haben sich erledigt nach der klammer und deiner hilfe läuft nun alles rund..

schönes we :-)

gruß
hollow
hollow ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
SQL-Limit SQL-Limit
« Perl-Script läuft nicht | Dateinamen beim Download ändern »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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