WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Seitenausgabe zurück|1 2 3|weiter

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Seitenausgabe zurück|1 2 3|weiter - 21 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Seitenausgabe zurück|1 2 3|weiter
Can
Halbgott




Beiträge: 1324

Ja, es ist wirklich kaum zu glauben...

Eigentlich sollte ich das ja nicht tun, aber, hier:

Alles hierzwischen ist weiß.

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
MajorWindbeutel
Quasselstrippe




Beiträge: 328

Das hab ich probiert das ging nicht mit center hat das in die mitte stellen auch nicht geklapt die standen dan alle untereinander etwas so:

<
1
2
3
>

nur halt in der mitte also versteht meine einfärbungs frage nicht falsch

---
Mit freundlichen Grüßen
MajorWindbeutel

Meine Homepage

  Profil   E-Mail   Website   Editieren   Zitieren
MajorWindbeutel
Quasselstrippe




Beiträge: 328

Wie man sachen normal einfärbt weiß ich doch das hat bei den zahlen aber nicht geklappt

---
Mit freundlichen Grüßen
MajorWindbeutel

Meine Homepage

  Profil   E-Mail   Website   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Du musst doch einfach nur überall noch das stylesheet style="color:white" mitschicken.

  Profil   Editieren   Zitieren
MajorWindbeutel
Quasselstrippe




Beiträge: 328

Danke an CSS hab ich auch schon gedacht allerdings hat das script bei mir nicht ganz richtig funktioniert. er hat zwar mehrer Seiten erstellt aber überall standen die selben 5 einträgen


---
Mit freundlichen Grüßen
MajorWindbeutel

Meine Homepage

  Profil   E-Mail   Website   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

dann geht er die Datensätze nicht nach der Seite durch. Das musst du natürlich bei deinem DB-Query mit LIMIT anpassen.

  Profil   Editieren   Zitieren
MajorWindbeutel
Quasselstrippe




Beiträge: 328

Das Limit ist bei mir 5 und im script mein ich hab ich auch alles richtig angepasst

---
Mit freundlichen Grüßen
MajorWindbeutel

Meine Homepage

  Profil   E-Mail   Website   Editieren   Zitieren
Can
Halbgott




Beiträge: 1324

Das Limit soll aber nicht 5 sein, sondern $i, 5 (oder so ähnlich)!

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Guck doch mal in einem MySQL-Handbuch nach der Syntax für LIMIT. Das ist recht selbsterklärend.

  Profil   Editieren   Zitieren
Omega2k
Otto-Normal-Poster




Beiträge: 55

Ich glaub mal nicht, dass es NUR um das LIMIT geht, in der DB... das leuchtet glaub schon ein, wie ("...LIMIT $starteintrag,$laenge") funktioniert, oder? Nur beachten, dass $starteintrag = 0 für die 1. Zeile, NICHT 1!

So, jetzt zum Hauptproblem! Das Auflisten der Seiten und der Verweise:
Dafür hab ich mir grad mal schnell eine Funktion geschrieben, die vorab alles definieren lässt...

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60:
function seiten_link($seiten_nummer=1,$seiten_gesamt=1,$pro_seite=5,$link_anzahl=3){
	$SELF=$_SERVER['PHP_SELF']; if($seiten_gesamt==0)$seiten_gesamt=1;
	
	$layout['actv_page'] = '$i';
	$layout['next_page'] = '>>';
	$layout['prev_page'] = '<<';
	$layout['frst_page'] = '1';
	$layout['last_page'] = '$seiten_gesamt';
	$layout['page_link'] = '$i';
	$layout['spac_page'] = '...';
	$layout['spac_link'] = '|';
	$layout['star_link'] = 'Seite $seiten_nummer/$seiten_gesamt [';
	$layout['ende_link'] = ']';

	eval("\$link = \"".$layout['star_link']."\";");
	if ($seiten_gesamt<=$link_anzahl){
		for ($i=1;$i<=$seiten_gesamt;$i++){
			if($i==$seiten_nummer) eval("\$link .= \"".$layout['actv_page']."\";");
			else { $page_=$i-1;    eval("\$link .= \"".$layout['page_link']."\";"); }
			if($i<$seiten_gesamt)  eval("\$link .= \"".$layout['spac_link']."\";");
		}
		eval("\$link .= \"".$layout['ende_link']."\";");
	}else{
		$anfang=$seiten_nummer-1;
		$ende=$anfang+$link_anzahl-1;
		if ($anfang<1){
			$ende=$ende+1;
			$anfang=1;
		}
		if (($anfang+$link_anzahl-1)>=$seiten_gesamt){
			$anfang=$seiten_gesamt-$link_anzahl+1;
			$ende=$seiten_gesamt;
		}
		if ($anfang>1){
			$page_=$seiten_nummer-2;
			eval("\$link .= \"".$layout['prev_page']."\";");
			eval("\$link .= \"".$layout['spac_link']."\";");
			eval("\$link .= \"".$layout['frst_page']."\";");
			eval("\$link .= \"".$layout['spac_link']."\";");
			eval("\$link .= \"".$layout['spac_page']."\";");
			eval("\$link .= \"".$layout['spac_link']."\";");
		}
		for ($i=$anfang;$i<=$ende;$i++){
			if($i==$seiten_nummer) eval("\$link .= \"".$layout['actv_page']."\";");
			else{$page_=($i-1);    eval("\$link .= \"".$layout['page_link']."\";");}
			if($i<$seiten_gesamt)  eval("\$link .= \"".$layout['spac_link']."\";");
		}
		if(($seiten_nummer+$link_anzahl-1)<=$seiten_gesamt){
			eval("\$link .= \"".$layout['spac_page']."\";");
			eval("\$link .= \"".$layout['spac_link']."\";");
			$page_=($seiten_gesamt-1);
			eval("\$link .= \"".$layout['last_page']."\";");
			eval("\$link .= \"".$layout['spac_link']."\";");
			$page_=$seiten_nummer;
			eval("\$link .= \"".$layout['next_page']."\";");
		}
		eval("\$link .= \"".$layout['ende_link']."\";");
	}
	return $link;
}


Zur Verwendung:

Die Arrays oben kann man frei definieren, lediglich die $variablen MÜSSEN so bleiben, logisch, weil sonst EVAL nicht klappt... Aber alles drumrum - kannste anpassen wie Du willst. Nacher im Programm selbst wird dann diese Kette automatisch mit Folgenden Angaben generiert:

1:
$string = seiten_link($seiten_nummer,$seiten_gesamt,$pro_seite,$link_anzahl);


Wobei:
$seiten_nummer = die aktive Seite ist (also von 1 - letzte Seite, NICHT VON 0 AB)
$seiten_gesamt = Anzahl der Seiten, am Besten mit
1:
ceil($alle_eintraege/$pro_seite)
berechnen, klappt am besten...
$pro_seite = Wieviele Einträge pro Seite angezeigt werden sollen
$link_anzahl = Anzahl der Links (z.B. 3 = [1|2|3|...|8|>>] oder 5 = [1|2|3|4|5|...|8|>>] und natürlich mitten drin auch... [<<|1|...|4|5|6|7|8|...|12|>>] nur als Beispiel...

PS: Ach ja wenn noch genug Einträge reinkommen... (ist nur ein Prototyp) - dann könnt Ihr hier ne DEMO sehen: http://omega2k.dyn.ee:592/guestbook/guestbook.php

---


@ http://www.omega2k.de

Diese Nachricht wurde geändert von: Omega2k
  Profil   Website   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Is ja schön und gut, aber wenn er deine Funktion jetzt einfach einbindet, hat er auch nichts gelernt.

  Profil   Editieren   Zitieren
Omega2k
Otto-Normal-Poster




Beiträge: 55

hast auch wieder recht...
aber das alles jetzt auf die Schnelle zu erklären ist glaub ich mal nicht möglich...

Grundsätzlich muss man eben beim Generieren nur darauf achten, dass es 2 Möglichkeiten gibt:

$seiten_gesamt<=$link_anzahl oder nicht...

D.h. wenn die Gesamtzahl aller Seiten maximal so groß ist wie die Seitenverweise, die angezeigt werden sollen, macht das << und >> (oder "zurück" und "weiter") sowie der Sprung zur letzten oder ersten Seite keinen Sinn... also fällt es da weg.

Andernfalls (wenn $seiten_gesamt>$link_anzahl) muss nur die aktuelle Seite überprüft werden...

D.h. man errechnet die Spanne von wo bis wo die Links gehen sollen ...|2|3|4|... also von 2 bis einschließlich 4. und falls der Startwert (hier 2) eben größer als 1 ist, macht es schon Sinn an Anfang einfach das <<|1|... anzuhängen... das gleiche gilt für das Ende.
Also wenn das Ende der Spanne (hier 4) kleiner als die "gesamte Seitenanzahl-1" ist (z.B. wenn wir hier 10 Seiten hätten, kommt an das Ende einfach ...|10|>>

Das mit der Funktion eval("\$link .= \"".$layout['frst_page']."\";"); ist etwas vereinfacht nur das gleiche wie $string="Hallo $username, wie gehts"; --------> da wird ja dann auch $username durch die gerade gesetzte Variable ersetzt... bei EVAL hat es nur den Vorteil, dass man die Strings aus der MySQL oder wie hier (was eigentlich identisch ist) aus einem Array...

---


@ http://www.omega2k.de

Diese Nachricht wurde geändert von: Omega2k
  Profil   Website   Editieren   Zitieren
Seite 1 | 2  

Antworten
Forum » PHP & MySQL » Seitenausgabe zurück|1 2 3|weiter

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Seitenausgabe zurück|1 2 3|weiter im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8126524    Heute : 442     Gestern : 463     Online : 192     21.11.2024    14:12      2 Besucher in den letzten 60 Sekunden        
alle 30.00 Sekunden ein neuer Besucher
Nach oben