Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Seitenweise Blättern ? Funktioniert nicht [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Seitenweise Blättern ? Funktioniert nicht


 
TutorialDreams
21-12-2007, 13:13 
 
Hallo Community,
ich habe folgendes Problem und zwar wenn ich oben auf die jeweiligen Seitenzahl klicke. Kommt nichts.


<link href="css/v1.css" rel="stylesheet" type="text/css" />
<?php
$seite = $_GET["site"]; //Abfrage auf welcher Seite man ist

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

//Verbindung zu Datenbank aufbauen

$link = mysql_connect("localhost","root","") or die ("Keine Verbindung moeglich");
mysql_select_db("tutorial") or die ("Die Datenbank existiert nicht");


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

//Ausrechen welche Spalte man zuerst ausgeben muss:

$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;


//Tabelle Abfragen
//Tabelle hei&szlig;t hier einfach: Tabelle
$abfrage1 = "SELECT * FROM news LIMIT $start, $eintraege_pro_seite";
$ergebnis1 = mysql_query($abfrage1);
while($row = mysql_fetch_object($ergebnis1))
{
echo $row->newsid."<br>"; // Hier die Ausgabe der Einträge
}


//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

$result1 = mysql_query("SELECT newsid FROM news");
$menge = mysql_num_rows($result1);

//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=\"index.php?site=news&$b\">$b</a> ";
}


}
echo "</div>";
?>
<?php


function date_mysql2german($date) {
$d = explode("-",$date);

return sprintf("%02d.%02d.%04d", $d[2], $d[1], $d[0]);
}
require("mysql.php");
$sql="SELECT * FROM news ORDER BY newsid DESC ";

$ergebnis=@mysql_query($sql, $verb) or die ("Abfragefehler");

while ($zeile = mysql_fetch_object($ergebnis))
{

$sql1 = 'SELECT news_id FROM news_comment WHERE news_id = ' . $zeile->newsid;
$result = mysql_query($sql1);
$comments = mysql_num_rows($result);

echo" <table cellspacing='1' cellpadding='1' id='news'>";
echo" <tr>";
echo" <td id='news_Überschrift'>$zeile->titel</td>";
echo" </tr>";
echo" <tr>";
echo" <td>$zeile->text</td>";
echo" </tr>";
echo" <tr>";
$expDate = explode(" ","$zeile->datum");
echo" <td><div align='left'>" . date_mysql2german($expDate[0]) . " $expDate[1] </div><div align='right'>(" . $comments . ")<a href='index.php?site=news_comment&id=".$zeile->newsid."'>Kommentar(e)</a> </div></td>";
echo" </tr>";
echo" </table>";
echo"<br>";
}
?>

 
Kropff
21-12-2007, 13:26 
 
1. code umbrechen, wie soll man denn da den antworten-button finden!
2. vielleicht hilft dir dieses tutorial (http://www.peterkropff.de/tutorials/php_mysql_4/php_mysql_4.htm)

gruß
peter

 
TutorialDreams
21-12-2007, 13:43 
 
So ich habe es soweit das ich Blättern kann,aber nun bekomme ich keine Daten Ausgabe mehr also keine Einträge wie Titel und Text gibt er nicht mehr aus :/


<?php
function date_mysql2german($date) {
$d = explode("-",$date);

return sprintf("%02d.%02d.%04d", $d[2], $d[1], $d[0]);
}
$seite = $_GET["seite"]; //Abfrage auf welcher Seite man ist

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

//Verbindung zu Datenbank aufbauen

$link = mysql_connect("localhost","root","") or die ("Keine Verbindung moeglich");
mysql_select_db("tutorial") or die ("Die Datenbank existiert nicht");


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

//Ausrechen welche Spalte man zuerst ausgeben muss:

$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;


//Tabelle Abfragen
//Tabelle hei&szlig;t hier einfach: Tabelle

$abfrage1 = "SELECT * FROM news LIMIT $start, $eintraege_pro_seite";
$ergebnis1 = mysql_query($abfrage1);
while($row = mysql_fetch_object($ergebnis1))
{
echo $row->newsid."<br>"; // Hier die Ausgabe der Einträge
$sql1 = 'SELECT news_id FROM news_comment WHERE news_id = ' . $zeile->newsid;
$result = mysql_query($sql1);
$comments = mysql_num_rows($result);
echo "$zeile->titel";
echo" <table cellspacing='1' cellpadding='1' id='news'>";
echo" <tr>";
echo" <td id='news_Überschrift'>$zeile->titel</td>";
echo" </tr>";
echo" <tr>";
echo" <td>$zeile->text</td>";
echo" </tr>";
echo" <tr>";
$expDate = explode(" ","$zeile->datum");
echo" <td><div align='left'>" . date_mysql2german($expDate[0]) . " $expDate[1] </div><div align='right'>(" . $comments . ")<a href='index.php?site=news_comment&id=".$zeile->newsid."'>Kommentar(e)</a> </div></td>";
echo" </tr>";
echo" </table>";
echo"<br>";
}


//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

$result1 = mysql_query("SELECT newsid FROM news");
$menge = mysql_num_rows($result1);

//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=\"index.php?site=news&seite=$b\">$b</a> ";
}


}

echo "</div>";
?>

 
Koala
21-12-2007, 13:47 
 
der Fragesteller meint mehrere Foren mit seinem "Problem" beschäftigen zu müssen.

 
TutorialDreams
21-12-2007, 13:48 
 
Das ist erst das 2 Forum wo ich diese Frage stelle

 
Kropff
21-12-2007, 13:55 
 
1. ich muss immer noch horizontal scrollen!
2. hast du das tutorial gelesen?

peter

 
TutorialDreams
21-12-2007, 13:57 
 
Ich danke euch ich habe mein Fehler selber gefunden. Danke Kropff

Kann geschlossen werden

 
Koala
21-12-2007, 14:03 
 
sich nicht an die Regeln halten und dann noch nicht mal die Lösung posten, so nach dem Motto:
"Hauptsache ICH hab jetzt die Lösung"

 
TutorialDreams
21-12-2007, 14:06 
 
extra nur für KOala


<link href="css/v1.css" rel="stylesheet" type="text/css" />
<?php
function date_mysql2german($date) {
$d = explode("-",$date);

return sprintf("%02d.%02d.%04d", $d[2], $d[1], $d[0]);
}
$seite = $_GET["seite"]; //Abfrage auf welcher Seite man ist

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

//Verbindung zu Datenbank aufbauen

require ("mysql.php");


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

//Ausrechen welche Spalte man zuerst ausgeben muss:

$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;


//Tabelle Abfragen
//Tabelle hei&szlig;t hier einfach: Tabelle

$abfrage1 = "SELECT * FROM news LIMIT $start, $eintraege_pro_seite ";
$ergebnis1 = mysql_query($abfrage1);
while($zeile = mysql_fetch_object($ergebnis1))
{
$sql1 = 'SELECT news_id FROM news_comment WHERE news_id = ' . $zeile->newsid;
$result = mysql_query($sql1);
$comments = mysql_num_rows($result);

echo" <table cellspacing='1' cellpadding='1' id='news'>";
echo" <tr>";
echo" <td id='news_Überschrift'>$zeile->titel</td>";
echo" </tr>";
echo" <tr>";
echo" <td>$zeile->text</td>";
echo" </tr>";
echo" <tr>";
$expDate = explode(" ","$zeile->datum");
echo" <td><div align='left'>" . date_mysql2german($expDate[0]) . " $expDate[1] </div><div align='right'>(" . $comments . ")<a href='index.php?site=news_comment&id=".$zeile->newsid."'>Kommentar(e)</a> </div></td>";
echo" </tr>";
echo" </table>";
echo"<br>";
}


//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

$result1 = mysql_query("SELECT newsid FROM news");
$menge = mysql_num_rows($result1);

//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=\"index.php?site=news&seite=$b\">$b</a> ";
}


}

echo "</div>";
?>

 
H2O
21-12-2007, 14:18 
 
Wenn du die erste Abfrage folgendermassen machst, kannst du dir die zweite ersparen:$abfrage1 = "SELECT
n.newsid,
n.titel,
n.text,
n.datum,
COUNT(k.id) AS comments
FROM
news n
LEFT JOIN
news_comment k USING(newsid)
LIMIT
$start, $eintraege_pro_seite";


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:13 Uhr.