WinFuture-Forum.de: [php] Blättern - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[php] Blättern


#1 Mitglied ist offline   acon 

  • Gruppe: Mitglieder
  • Beiträge: 11
  • Beigetreten: 20. Oktober 06
  • Reputation: 0

geschrieben 22. Oktober 2006 - 19:30

hiho... hab ein kleines problem, und zwar folgendes,... hab das script hier von einer internetseite namens http://www.php-cente.../blaettern.php3
und das funzt bei mir ned /: ka wieso, vl. könnt ihr mir ja mit rat und tat zur seite stehen....

hier der code:
<?php
	
	include ("sql_conn.php");
	
	$Zeilen_pro_Seite = 3;
	
	if (!isset($Anfangsposition)) 
	{	
		$Anfangsposition = 0;
	}
	
	$entry		 	= "SELECT * FROM entries order by id desc limit $Anfangsposition,$Zeilen_pro_Seite";
	$entry_result	= mysql_query($entry);
	$result1		= mysql_query("select title from entries");
	$Anzahl			= mysql_num_rows($result1);

	
	echo '<div class="entry">';

	
	while( $entry_object = mysql_fetch_array($entry_result))
		{	
			echo '<div class="headline">';
			echo '<p style="float:left; margin:0"><b>' .$entry_object['title'].'</b></p>';
			echo '<p style="font-size:12px; color:#9D9D9D; text-align:right; margin:0">'." eingetragen am ".$entry_object['date'].'<br><br></p>';
			echo '</div>';
			echo '<br>'. nl2br($entry_object['messages']).'<br><br><p></p>';  // nl2br($text) ist dazu da, um ENTER auch als Zeilenumbruch anzuzeigen
		} 
				

	echo '<hr>';

	
	if($Anfangsposition > 0) 
	{
		echo "<a href='?page=newsscript&Anfangsposition=0'>[erste Seite]</a>";
		$back=$Anfangsposition-$Zeilen_pro_Seite;
			if($back < 0) 
			{
				$back = 0;
			}
			echo "<a href=\"?page=newsscript&Anfangsposition=$back\">[eine Seite zurük]</a>";
	}
	
	if($Anzahl>$Zeilen_pro_Seite)
	{
		$Seiten=intval($Anzahl/$Zeilen_pro_Seite);
			if($Anzahl%$Zeilen_pro_Seite) 
			{
				$Seiten++;
			}
	}
	
	for ($i=1;$i<=$Seiten;$i++)
	{
		$fwd=($i-1)*$Zeilen_pro_Seite;
		echo "<a href=\"?page=newsscript&Anfangsposition=$fwd\">$i</a>";
	}
	
	if($Anfangsposition < $Anzahl-$Zeilen_pro_Seite)
	{
		$fwd=$Anfangsposition+$Zeilen_pro_Seite;
		  echo "<a href=\"?page=newsscript&Anfangsposition=$fwd\">[eine Seite weiter]</a>";
		$fwd=$Anzahl-$Zeilen_pro_Seite;
		echo "<a href=\"?page=newsscript&Anfangsposition=$fwd\">[letzte Seite]</a>";
	}

	echo '</div>';
	
?>


wäre super nett, wenn mir da wer sagen könnte wos da hakt ....

lg acon (:
0

Anzeige



#2 Mitglied ist offline   MNG 

  • Gruppe: aktive Mitglieder
  • Beiträge: 293
  • Beigetreten: 29. März 06
  • Reputation: 0

geschrieben 22. Oktober 2006 - 21:13

Moin,

auf den ersten, flüchtigen Blick sieht das Skript eigentlich ok aus.
Frei nach Didi Hallervorden: "Ich brauche mehr Details!"
Wie genau äussert sich denn

acon sagte:

das funzt bei mir ned

das bei dir?
0

#3 Mitglied ist offline   acon 

  • Gruppe: Mitglieder
  • Beiträge: 11
  • Beigetreten: 20. Oktober 06
  • Reputation: 0

geschrieben 22. Oktober 2006 - 21:33

also, es wird alles ganz schön angezeigt, etc.

es steht auch unten

123[eine Seite weiter][letzte Seite] und so

die sieten stimmen auch, also die berechnet das script richtig.... nur, wenn ich draufklicke, dann ändert sich da nix.... da kommt halt dann in der adressleiste z.b:

http://localhost/matura/?page=newsscript&a...fangsposition=6

nurhalt, wir die seite ned aufgerufen oder so, sondern es bleibt alles, wie wenn nichts gewesen wäre ^^

normal is es ja so....
http://localhost/mat...page=newsscript

und es funzt auch, wenn ich bei zeilen_pro_seite 3 eingebe, dass dann nur 3 news angezeigt werden, und zb. wenn ich gesamt 8 habe, dass es 3 links zu den 3 seiten erzeugt.... nurhalt tut sich dann nix wenn man draufklickt....


btw, ich werd mich noch öfter hier melden ^^
weil ich hab maturaprojekt... da mach ich ne homepage für ne kleine firma (: [in österreich sagt man zum abi matura (:]

lg acon
0

#4 Mitglied ist offline   NightTiger 

  • Gruppe: aktive Mitglieder
  • Beiträge: 701
  • Beigetreten: 19. März 06
  • Reputation: 0
  • Wohnort:Bern
  • Interessen:Webdesign -&gt; (X)HTML, CSS, ein bisschen PHP und ein bisschen JavaScript ;))

geschrieben 22. Oktober 2006 - 21:41

Beitrag anzeigenZitat (acon: 22.10.2006, 22:33)

[in österreich sagt man zum abi matura (:]


bei uns in der Schweiz auch :)


@topic

ich sehe am script gerade keinen Fehler (einfach kurz drübergeschaut | mein Wissen ist eh nicht so gut)..
0

#5 Mitglied ist offline   acon 

  • Gruppe: Mitglieder
  • Beiträge: 11
  • Beigetreten: 20. Oktober 06
  • Reputation: 0

geschrieben 22. Oktober 2006 - 21:51

gut, ich hab grad paar foren durchgestöbert, nicht in der absicht eine lösung für das prob hier zu finden... da stoß ich plötlich auf einen link "blätter funktion für gallerien"

naja, gleich mal draufgeklickt ^^ und klarerweise gehts auch für newsscirpte ^^

also hier bitte... für alle die immer schon was gesucht haben... btw. man muss nur tabellen name eingeben... das wars eigentlich schon... den pagenamen holt er sich selber etc. aber seht selber...


<?php

//Abfrage auf welcher Seite man ist
$seite = $_GET["seite"];  

//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1
if(!isset($seite))
   {
   $seite = 1;
   }

//Verbindung zu Datenbank aufbauen
	include ("sql_conn.php");

//Einträge pro Seite: Hier 3 pro Seite
$eintraege_pro_seite = 3;

//Ausrechen welche Spalte man zuerst ausgeben muss:
$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;

//Tabelle Abfragen
	$entry		 	= "SELECT * FROM entries LIMIT $start, $eintraege_pro_seite";
	$entry_result	= mysql_query($entry);
	
	echo '<div class="entry">';

	
	while( $entry_object = mysql_fetch_array($entry_result))
		{	
			echo '<div class="headline">';
			echo '<p style="float:left; margin:0"><b>' .$entry_object['title'].'</b></p>';
			echo '<p style="font-size:12px; color:#9D9D9D; text-align:right; margin:0">'.
				 " eingetragen am ".$entry_object['date'].'<br><br></p>';
			echo '</div>';
			echo '<br>'. nl2br($entry_object['messages']).'<br><br><p></p>';  // nl2br($text) ist dazu da, um ENTER auch als Zeilenumbruch anzuzeigen
		} 
				
	echo '<hr>';
 
//Jetzt kommt das "Inhaltsverzeichnis",
//sprich dort steht jetzt: Seite: 1 2 3 4 5

//Wieviele Einträge gibt es überhaupt

//Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten
//also der gleiche Text wie in der Variable $abfrage, blo&szlig; das hier das LIMIT fehlt
//Sonst funktioniert die Blätterfunktion nicht richtig,
//und hier kann nur 1 Feld abgefragt werden, also id

	$result		= mysql_query("select id from entries");
	$menge		= mysql_num_rows($result);

//Errechnen wieviele Seiten es geben wird
$wieviel_seiten = $menge / $eintraege_pro_seite;

//Ausgabe der Seitenlinks:
echo "<div align=\"center\">";
echo "<b>Seite:</b> ";

//Ausgabe der Links zu den Seiten
for($a=0; $a < $wieviel_seiten; $a++)
   {
   $b = $a + 1;

   //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
   if($seite == $b)
	  {
	  echo "  <b>$b</b> ";
	  }

   //Aus dieser Seite ist der User nicht, also einen Link ausgeben
   else
	  {
	  echo "  <a href=\"?seite=$b\">$b</a> ";
	  }
   }
echo "</div>";

?>

0

#6 Mitglied ist offline   asko 

  • Gruppe: aktive Mitglieder
  • Beiträge: 144
  • Beigetreten: 17. November 02
  • Reputation: 0

geschrieben 23. Oktober 2006 - 14:11

Beitrag anzeigenZitat (acon: 22.10.2006, 22:51)

also hier bitte... für alle die immer schon was gesucht haben... btw. man muss nur tabellen name eingeben... das wars eigentlich schon... den pagenamen holt er sich selber etc. aber seht selber...


Keine Ahnung was Du hier sagen willst, nur hat das Problem nichts mit Tabellennamen oder sowas zu tun. Der Fehler oben im Script ist, daß auf den Server auf dem das Script läuft Register_Globals OFF ist. Das ist auch korrekt so, weil es eine Sicherheitseinstellung ist.
Der Grund wieso das zweite Script geht ist die Zeile
$seite = $_GET["seite"];

Hier wird nämlich korrekterweise die Seite erst aus der Superglobalen $_GET der Wert geholt. Das erste Script wird auch gehen, wenn man vor der IF-Abfrage mal ein
$Anfangsposition = $_GET['Anfangsposition'];
einfügt.
0

#7 Mitglied ist offline   acon 

  • Gruppe: Mitglieder
  • Beiträge: 11
  • Beigetreten: 20. Oktober 06
  • Reputation: 0

geschrieben 23. Oktober 2006 - 16:41

aha... deshalb...

also auf "dem server" ich probier das ganz zur zeit nur lokal mit xampp...

aber danke für den hinweis (:


lg acon
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0