php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 05-12-2003, 16:31
Tina2003
 Newbie
Links : Onlinestatus : Tina2003 ist offline
Registriert seit: Dec 2003
Beiträge: 3
Tina2003 ist zur Zeit noch ein unbeschriebenes Blatt
Question Seitenanzeige/ Blättern mit PHP (ohne mysql)

Hallöchen!!

Ich bin gerade dabei, mir ein PHP-Gästebuch (ohne mysql!!) online zu stellen.
Es ist ein Skript, das frei verfügbar ist, das man ohne Copyright verwenden kann und auch frei verändern kann.

Bisher hatte (habe ich noch) ein Gästebuch von einem Anbieter, man ist also gebunden und kann nicht so viel verändern.

Ich bin ein PHP-NEULING!!! Habe eigentlich nicht wirklich viel Ahnung von dieser Sprache, aber ich kann zumindest den Quellcode lesen und einfache Sachen "abändern". Habe ich bisher auch recht gut hinbekommen, was bestimmte Anzeigen, Layout etc. betrifft.
HTML kann ich sehr gut, aber das hilft mir ja nun hier nicht weiter.


Mein Problem:
Dieses Gästebuch-Skript ist so geschrieben, dass die Seitenanzeige vollständig angezeigt wird. Wenn man also z.B. 15 Seiten mit Einträgen hat, wobei auf jeder Seite z.B. 10 Gästebucheinträge angezeigt werden sollen, gliedert das Skript die Seitenanzeigen vollständig auf.
Also: << 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 >>

Wobei << für "eine Seite zurück" und >> für "eine Seite vor" stehen.

Ich möchte nun, dass z.B. nur 5 Seiten dort stehen, damit die Liste nicht so lang wird, und möchte zudem, dass << für "erste Seite" und >> für "letzte Seite" steht. Eine einzelne spitze Klammer soll halt für zurück bzw. vor stehen.

Also: << < 1 | 2 | 3 | 4 | 5 ... > >>

Wobei natürlich immer hochgerechnet wird, wenn man sich auf einer bestimmten aktuellen Seite befindet.

Also z.B. << < ... 4 | 5 | 6 | 7 | 8 ... > >>


Tja, wie man das nun realisiert?? Leider kann ich kein PHP, bin aber willig, es demnächst zu lernen, doch von heute auf morgen geht es ja nun auch nicht.
Würde nur gerne dieses Gästebuch bald online stellen, auch wenn es noch nicht so ist, wie ich es haben will.
Das mit der Seitenanzeige wäre mir aber sehr wichtig, weil ich bereits ca. 300 Einträge habe und es sehr unübersichtlich aussieht.


Gibt es ein Skript, dass man "übernehmen" könnte, natürlich muss man es anpassen (Variablen etc.), aber das traue ich mir zu!
Nur überhaupt erstmal dieses Skript haben....



Bei Interesse kann ich ja den Gästebuchlink posten bzw. den bisherigen Quellcode dazu.


Ich würde mich IRRSINNIG freuen, wenn mir jemand helfen könnte! DANKE!!! (wie kann ich es gut machen?? )


P.S. Natürlich habe ich schon gesucht, aber immer nur Codes gefunden mit mysql-Abfragen.
Mit Zitat antworten
  #2 (permalink)  
Alt 05-12-2003, 17:20
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard Re: Seitenanzeige/ Blättern mit PHP (ohne mysql)

Zitat:
Original geschrieben von Tina2003
P.S. Natürlich habe ich schon gesucht, aber immer nur Codes gefunden mit mysql-Abfragen.
ach ja?

http://www.php-resource.de/forum/sea...by=&sortorder=

naja. beim blättern besteht zwischen mysql-db und text-db eigentlich nur der unterschied, wie die daten eingelesen werden.

verwende file() und du hast ein array. damit kannst du auch wieder so arbeiten, als sei es eine echte db.

und zum arbeiten mit arrays findest du in der o.g. suche auch was.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #3 (permalink)  
Alt 05-12-2003, 20:25
Tina2003
 Newbie
Links : Onlinestatus : Tina2003 ist offline
Registriert seit: Dec 2003
Beiträge: 3
Tina2003 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Abraxax, danke für die Antwort. Auch wenn sie nicht so ausfiel, wie ich hoffte.

Gesucht habe ich in google mit zig Stichwörtern.
Erwähnte ich schon, dass ich absoluter Anfänger bin? Ich weiss weder, wie man festlegt, dass mit < eine Seite zurück angezeigt wird, noch wie die letzte Seite angezeigt wird, noch überhaupt...

Ich dachte halt, es hätte jemand schon ein derartiges Skript in PHP (für sein eigenes GB?) programmiert und könnte es mir zur Verfügung stellen. Eventuell mit einigen Erklärungen, wo ich z.B. was abändern muss (Variablen, Pfade etc.). Nur damit ich wenigstens ein vage Vorstellung habe.


Ich weiss, es ist einfach, es nicht selber programmieren zu wollen, auf Hilfe anderer zu hoffen (das tue ich sonst nie).

Hm.... vielleicht findet sich ja noch jemand.... denn ich würde dieses GB gerne nehmen, denn es ist frei veränderbar und auch klein "gehalten", so dass ich in den zig Dateien noch selber zurechtkomme (ausser eben bei der Seitenanzeige). Bei Bedarf poste ich den Quellcode. Vielleicht kann man dann mehr sagen?

LG!
Mit Zitat antworten
  #4 (permalink)  
Alt 05-12-2003, 20:40
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

dann verschiebe ich dich gerne zu den GESUCHEN, denn woanders gehörts einfach nicht hin...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5 (permalink)  
Alt 05-12-2003, 20:55
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

naja,

Zitat:
Ich dachte halt, es hätte jemand schon ein derartiges Skript in PHP (für sein eigenes GB?) programmiert und könnte es mir zur Verfügung stellen. Eventuell mit einigen Erklärungen, wo ich z.B. was abändern muss (Variablen, Pfade etc.). Nur damit ich wenigstens ein vage Vorstellung habe.
ich bin mir sicher, ich hätte gestern erst bei den code-schnipseln mindestens 3 oder 4 beiträge dazu gesehen ...

ansonsten hätte ich hier noch ne klasse rumliegen, die das macht, was du willst, die du über 4-5 zeilen einbinden kannst ... das problem ist nur, daß ich zu faul bin, die verwendung ausführlich zu kommentieren ...

außerdem werden dir die allein sicher nix nutzen, oder hast du die darstellung der jeweiligen seiten schon?
__________________
Die Zeit hat ihre Kinder längst gefressen: hund (back in black) | ??? | ??? | ...
Mit Zitat antworten
  #6 (permalink)  
Alt 05-12-2003, 22:06
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von derHund
außerdem werden dir die allein sicher nix nutzen, oder hast du die darstellung der jeweiligen seiten schon?
wahrscheinlich abgesehen von der noch nciht vorhandenen praxis mit classen zu arbeiten.

Zitat:
Original geschrieben von Tina2003
Abraxax, danke für die Antwort. Auch wenn sie nicht so ausfiel, wie ich hoffte.
tja. das ist wohl meistens so.... wie wollen ja nun auch nicht alles vorkauen...
Zitat:
Original geschrieben von Tina2003
Ich dachte halt, es hätte jemand schon ein derartiges Skript in PHP (für sein eigenes GB?) programmiert und könnte es mir zur Verfügung stellen. Eventuell mit einigen Erklärungen, wo ich z.B. was abändern muss (Variablen, Pfade etc.). Nur damit ich wenigstens ein vage Vorstellung habe.
ich meine .... ich habe auch eine kleine blätter-geschichte in meinem test-GB drin. -> siehe sig
nur nützt dir das wohl auch nichts. denn es ist mit mysql gemacht.
Zitat:
Original geschrieben von Tina2003
Ich weiss, es ist einfach, es nicht selber programmieren zu wollen, auf Hilfe anderer zu hoffen (das tue ich sonst nie).
das kann ja jede(r) sagen ...
das wollen wir die aber dennoch mal glauben.
ausserdem konntest du bei deinen bisherigen 2 posts noch nicht viel betteln ...
Zitat:
Original geschrieben von Tina2003
Bei Bedarf poste ich den Quellcode. Vielleicht kann man dann mehr sagen?
ich denke, dass das (erst einmal) nicht sinnvoll ist.

du kannst dich ja auch mal auf die suche nach einem anderen kleinen GB machen, welches eine navigation deiner vorstellung enthält.

alternativ kann man dich auch zur projekthilfe schieben. evtl findet sich ja einer, der lust dazu hat.

oder aber du greifst auf das angebot von derHund zurück und arbeitet dich in das thema classen ein.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #7 (permalink)  
Alt 05-12-2003, 22:42
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

also,

ich habs mal drangehängt. die datei kommt irgendwo hin, wo du sie includen kannst.

dann:

einbinden, die pfad-angabe mußt du sicher anpassen:
PHP-Code:
require ("no_sz.php"); 
instanzieren:
PHP-Code:
$sz = &new no_seiten_zahlen
hier übergibts du den link, der aufgerufen wird:
PHP-Code:
$sz->set_url ("?seite=dszi"); 
steht für: die selbe seite wieder aufrufen (wenn der teil vor dem ? weggelassen wird), ansonten kannst du auch ne komplette url angeben. die aufzurufenen urls unterscheiden sich ja nur in dem parameter der aktuellen seite, dafür steht das dszi ...
wird bei dir seite x zb über
Code:
index.php?kategorie=17&user=864&kartoffel=yes&seite_gb=x
aufgerufen, müßte der aufruf so lauten:
PHP-Code:
$sz->set_url ("index.php?kategorie=17&user=864&kartoffel=yes&seite_gb=dszi"); 
was dümmeres ist mir damals nicht eingefallen ... da die seite ja sowieso immer die selbe ist, reicht es, mit den zu übergebenen variablen anzufangen

dann mußt du noch die anzahl aller seiten bzw. die anzahl der anzuzeigenen seitenzahlen angeben:
PHP-Code:
$sz->set_params (155); 
heißt: 15 seiten insgesamt, 5 jeweils zu auswählen.

so, das war die vorarbeit.

jetzt mußt du nur noch per
PHP-Code:
Seite: <?PHP echo sz->get($_GET["seite"]); ?>
dien schnulli ausgeben lassen und dabei die aktuelle seite übergeben, die ja meistens schon im $_GET steht.

so .... das klappt nie

übernehme natürlich keine garantie, bei mir funzts immer.

achso, das teil hat noch ein paar fietschers, zb. zum nicht linearen ansprechen von seitenindizies (!), formatierung, schau einfach mal.
Angehängte Dateien
Dateityp: zip no_sz.zip (2,1 KB, 147x aufgerufen)
__________________
Die Zeit hat ihre Kinder längst gefressen: hund (back in black) | ??? | ??? | ...
Mit Zitat antworten
  #8 (permalink)  
Alt 06-12-2003, 13:01
Tina2003
 Newbie
Links : Onlinestatus : Tina2003 ist offline
Registriert seit: Dec 2003
Beiträge: 3
Tina2003 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Vorab: ich stelle mal den Schnipsel rein. Es ist ja nicht viel. Der Blätterlink zeigt eben alle Seiten (und wenn es 50 sind) an und jeweil ein << für zurück und ein >> für vor.


Das Skript arbeitet mit Templates für die HTML-Ausgabe. In der Template-Seite für die Einträge_anzeigen_Seite wird für den Blätterlink ein Ersetzvorgang mit %jump% eingefügt.

Also %jump% ist folgendermassen codiert in der PHP-Seite, wo alle Deklarationen/Funktionen etc. für das GB programmiert sind (ist das richtig ausgedrückt? Verzeiht meine Babysprache ):


############################

if($menue == "links")
{
if($action == "admin") ///// das ist für den Adminlink (uninteressant)
{
$adminlink = "&action=admin"; ///// das ist für den Adminlink (uninteressant)

} ///// das ist für den Adminlink (uninteressant)

$backlinkstart = $start-$eintraegeproseite;
if($backlinkstart > 0)
{
$backlink = " <a href=\"guestbook.php?start=$backlinkstart$adminlink\">&lt;&lt;</a> |";
}else{$backlink = " &lt;&lt; |";}

$linkmenue = $linkmenue.$backlink;

$vorlinkstart = $startcount+$eintraegeproseite;
$vorlink = " <a href=\"guestbook.php?start=$vorlinkstart$adminlink\">&gt;&gt;</a>";

while($seitencount <= $seiten)
{
if($start == $startcount)
{
$linkmenue = $linkmenue."<b> $seitencount </b>|";
}
else
{
$linkmenue = $linkmenue." <a href=\"guestbook.php?start=$startcount$adminlink\">$seitencount</a> |";
}
$seitencount++;
$startcount = $startcount+$eintraegeproseite;
}

$vorlinkstart = $start+$eintraegeproseite;
if($vorlinkstart <= $gesamteintraege)
{
$vorlink = " <a href=\"guestbook.php?start=$vorlinkstart$adminlink\">&gt;&gt;</a>";
}else{$vorlink = " &gt;&gt;";}
$linkmenue = $linkmenue.$vorlink;

$haupttemplate = str_replace("%jump%",$backadminlink.$linkmenue,$haupttemplate);
}


########################

Ist ja nicht viel. Wenn ich da nur zwei, drei Zeilen oder was auch immer einfügen/ ändern könnte (wenn ich wüsste, wie das geht)....



Abraxax, du bist aber auch ein harter Brocken. Und ja, du kannst mich beim Wort nehmen - ich nehme selten (äussert ungerne) Hilfe an, denn ich bringe mir schon recht gerne selber alles bei; ist mit HTML auch nicht anders gelaufen und da kann mir mittlerweile keiner mehr was vormachen
Ich habe dein GB gesehen, wo die tolle Seitenanzeige ist *neid* - exakt so will ich es haben!!!


der Hund, danke für deine Mühe. Ich lese es mir gleich in Ruhe durch und hoffe, ich blicke dadurch. Mir ist auf Anhieb die "Kartoffel" ins Auge gestochen *lol*


LG!


Vielleicht habe ich ja noch Glück...
Es ist nur so, dass dieses GB eben frei ist ohne Copyright etc. Ich kann es nach Laune anpassen und die Dateien sind NICHT SO GROSS!!!! Da blicke ich wenigstens durch. Habe schon einiges angepasst!! Zudem wird eben mit einer *.dat-Datei für die Einträge gearbeitet (ich kann also bequem meine alten Beiträge archivieren!!!).

Habe auch fette GB-Skripte, aber da sträuben sich meine Haare zu Berge; dann muss ich es exakt so übernehmen und kann nicht "herumfuschen" Ausserdem sind sie meistens mit mysql oder haben andere Sachen, die mir nicht passen.


Was mir eben bei diesem GB eben noch fehlt, ist die korrekte Seitenanzeige UND eine "Dankesseite", wenn der Beitrag geschrieben wurde, mit dem Hinweis, dass der Beitrag in Kürze angezeigt wird (nach der Freischaltung). Hm... das wäre auch nicht schlecht. Da fehlt mir dann auch wieder das Wissen, wie ich eine HTML-Seite ausgebe, wenn der "Eintragen-Button" geklickt wurde.
Eine Vorschau wäre auch nicht übel. Ich habe mir zum Ziel gesetzt, das irgendwie noch hinzukriegen (ich will mich ja damit befassen). Wenn nicht, dann muss ich wohl so ein fettes GB nehmen

Geändert von Tina2003 (08-12-2003 um 13:44 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 02-09-2016, 16:02
phppower
 Registrierter Benutzer
Links : Onlinestatus : phppower ist offline
Registriert seit: Jul 2009
Beiträge: 50
phppower befindet sich auf einem aufstrebenden Ast
phppower eine Nachricht über Skype™ schicken
Standard Blätterfunktion umbauen

Ich nutze schon länger folgende Blätterfunktion:
PHP-Code:
//---------------------------------------------------  

$pfad $_SERVER['PHP_SELF'];    // aktuellen Dateipfad ermitteln, wichtig fuer die Links der Seitennavigation

$query mysql_query("SELECT id FROM hoverbox_picture99"); // DB Abfragee

// ------------------------------------------------------------------------

$datensaetze_pro_seite "26";      // Anzahl der Datensaetze die Pro Seite angezeigt werden sollen
$p "5";                                // Anzahl der Links die in der Seitenavigation ausgegeben werden

$total mysql_num_rows($query);                      // liefert die Anzahl der Datensaetze der Abfrage
$seiten ceil($total $datensaetze_pro_seite);     // Berechnet die Seitenanzahl insgesamt

// ------------------------------------------------------------------------

if(empty($_GET['seite'])){ // korrigieren der aktuellen Seite

    
$seite 1;             // Sofern $seite nicht uebergeben wurde

}elseif($_GET['seite'] <= || $_GET['seite'] > $seiten){

    
$seite 1;         // Variable definieren

}else{ // Wenn Obiges nicht zutraf

    
$seite mysql_real_escape_string($_GET['seite']);     // Variable definieren
}

$links = array(); // Linkkette bilden

// Seite die vor der aktuellen Seite kommt definieren
if(($seite $p) < 1){ $davor $seite 1;  }else { $davor $p; }            

// Seite die nach der aktuellen Seite kommt definieren
if(($seite $p) > $seiten){ $danach $seiten $seite; }else{ $danach $p; }   
       
$off = ($seite $davor); // Variable definieren   
                
if ($seite$davor 1){ // Link definieren => Zur Erste Seite springen         
    
$first 1;
       
$links[] = "<a href=\"$pfad?seite=$first\" title=\"Zur ersten Seite springen\">&laquo; Erste ...</a>\n";      
}      

if(
$seite != 1){ // Link definieren => eine Seite zurueck blaettern          
    
$prev $seite-1;
    
$links[] = "<a href=\"$pfad?seite=$prev\" title=\"Eine Seite zurueck blaettern\"> &laquo;</a>\n";     
}   
       
       
for(
$i $off$i <= ($seite $danach); $i++){ // einzelne Seitenlinks erzeugen

  
if ($i != $seite){  // Link definieren            
  
        
$links[] = "<a href=\"$pfad?seite=$i\">$i</a>\n";
        
  }elseif(
$i == $seiten) { // aktuelle Seite, ein Link ist nicht erforderlich             
        
        
$links[] = "<span class=\"current\">[ $i ]</span>\n";  
        
  }elseif(
$i == $seite){ // aktuelle Seite, ein Link ist nicht erforderlich             
  
        
$links[] = "<span class=\"current\">[ $i ]</span>\n";
        
  } 
// close if $i      
}                

if(
$seite != $seiten){ // Link definieren => eine Seite weiter blaettern       
    
$next $seite+1;
    
$links[] = "<a href=\"$pfad?seite=$next\" title=\"Eine Seite weiter blaettern\"> &raquo; </a>\n";
}      
    
if(
$seiten $seite $p ){ // Link definieren => Zur letzen Seite springen   
    
$last $seiten
    
$links[] = "<a href=\"$pfad?seite=$last\" title=\"Zur letzten Seite springen\">... Letzte &raquo;</a>\n";
}      

$start = ($seite-1) * $datensaetze_pro_seite;             // Berechne den Startwert fuer die DB


$link_string implode(" "$links); // Zusammenfuegen der einzelnen Links zu einem String
  // Select-Statement zum Auslesen der Daten
$sql "SELECT dateiname, kommentar, produkt, preis, lizenz, detail, id from hoverbox_picture99 LIMIT $start,$datensaetze_pro_seite";
$rs mysql_query($sql);
$row mysql_fetch_array($rs); 
?> 
PHP-Code:
<?php 
// -------------------------------------- Seitennavigation ausgeben ----------------------------
 
echo "<div id=\"navigation\">\n";

 echo 
"<span class=\"pages\">Seite ".$seite." von ".$seiten."</span>\n";

 echo 
$link_string// Ausgabe der Seitennavigation
    
 
echo "</div> \n";
// -------------------------------------- Seitennavigation ende --------------------------------
?>
<?php

// Datensatz vorhanden ?
if (mysql_num_rows($rs) == 0) {
    echo 
"es liegt kein Wert vor";
} else {
    while (
$row mysql_fetch_array($rs)) {
        if (empty(
$row[0])) {
            echo 
'kein Bild';
            continue;
        }
Diese läuft für mysql zwecke super. Jetzt möchte ich die aber ohne mysql nutzen. Wie müsste ich diese verändern? Der Code zum auslesen der Dateien sieht so aus:
PHP-Code:
<?php
$verzeichnis 
"images/"// Pfad zum Verzeichnis (Hier ist es ein Unterverzeichnis)
$handle openDir($verzeichnis); // Verzeichnis öffnen
while ($datei readDir($handle)) { // Verzeichnis auslesen
 
if ($datei != "." && $datei != ".." && !is_dir($datei)) { // Verzeichnisse filtern
  
if (strstr($datei".gif") || strstr($datei".png") || strstr($datei".jpg")) { // Bilder filtern
   
$verzeichnis_datei $verzeichnis $datei// Pfad zur aktuellen Datei
   
$info getImageSize($verzeichnis_datei); // Bildinfos ermitteln (Breite, Höhe)
    // Bild anzeigen
   
echo "<li><a href=\"$verzeichnis_datei\"><img src=\"$verzeichnis_datei\" alt=description /><img src=\"$verzeichnis_datei\" alt=description class=preview width=\"$info[0]\" height=\"$info[1]\" /></a></li> ";
  }
 }
}
closeDir($handle); // Verzeichnis schließen
?>
Mit Zitat antworten
  #10 (permalink)  
Alt 02-09-2016, 16:23
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Beim Auslesen von Dateien aus einem Verzeichnis kannst du natürlich nicht so direkt mit Offset und Limit arbeiten, wie bei der MySQL-Abfrage.

Am besten liest du erst mal alle Dateien in ein Array (die Gesamt-Anzahl brauchst du ja eh, um die Anzahl der Seiten berechnen zu können), und schaust dann welche Elemente du davon ausgeben musst. Eine for-Schleife bietet sich an – die kann dann ganz gezielt nur von X bis X + Anzahl Elemente pro Seite laufen, und direkt auf die Array-Elemente unter diesem Index zugreifen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #11 (permalink)  
Alt 02-09-2016, 16:38
phppower
 Registrierter Benutzer
Links : Onlinestatus : phppower ist offline
Registriert seit: Jul 2009
Beiträge: 50
phppower befindet sich auf einem aufstrebenden Ast
phppower eine Nachricht über Skype™ schicken
Standard Blätterfunktion umbauen

Zitat:
Zitat von wahsaga Beitrag anzeigen
Beim Auslesen von Dateien aus einem Verzeichnis kannst du natürlich nicht so direkt mit Offset und Limit arbeiten, wie bei der MySQL-Abfrage.

Am besten liest du erst mal alle Dateien in ein Array (die Gesamt-Anzahl brauchst du ja eh, um die Anzahl der Seiten berechnen zu können), und schaust dann welche Elemente du davon ausgeben musst. Eine for-Schleife bietet sich an – die kann dann ganz gezielt nur von X bis X + Anzahl Elemente pro Seite laufen, und direkt auf die Array-Elemente unter diesem Index zugreifen.
Also im prinzip sowas hier?
PHP-Code:
<?php
$seite 
$_GET["seite"];
if(!isset(
$seite)){
     
$seite '1';
  }

$files = array();
$v "images";
$dir openDir($v);
while (
$file readDir($dir)){
      if (
$file != "." && $file != ".." && is_file($v."/".$file)) {
          
$files[] = $file;
      }
  }
closeDir($dir);
$count count($files);
$max 5;
$start $seite $max $max;
$seiten $count $max;
for(
$a 0$a $seiten$a++){
     
$b $a 1;
     if(
$seite == $b){
        echo 
'<div><b>'.$b.'</b></div>';
     } else {
        echo 
'<div><a href="test.php?seite='.$b.'">'.$b.'</a></div>';
     }
  }

$output array_slice($files$start$max);

echo 
"<table><tr>";
  
$i 1;
  foreach(
$output as $pics){
      echo 
'<td>
              <a href="images/'
.$pics.'">
                <img src="images/'
.$pics.'" alt="Bild" width="130" height="105" />
              </a>
            </td>'
;
      echo (
$i == 0) ? '</tr><tr>' '';
  
$i++;
  }
  echo 
"</tr></table>";  
  
?>
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

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:00 Uhr.