Willkommen in der Webstatt Zum Webstatt Blog und Stories
BNightSpeeder am 26.04.06 17:33

Hallo,

ich habe versucht in mein script eine Blätterfunktion einzubauen, nur leider kommt der fehler:

Quote
Parse error: parse error, unexpected T_STRING, expecting ')' in C:\FoxServ\www\Re-Design\page\tutorials\tutorials_ps.php on line 34


Hier mein Code:

<?php
$sql1="SELECT * FROM tutorials_ps";
$result1=mysql_query($sql1);
$zeilen=mysql_num_rows($result1);

while ($row=mysql_fetch_assoc($result1)) {
echo "<tr><td><div align='center'><a href='?action=tutorials/ps/tutorial_anzeige&id=" . htmlspecialchars($row["id"]) . "'>" . htmlspecialchars($row["Titel"]) . "</div></td>" .
"<td><div align='center'>" . htmlspecialchars($row["Datum"]) . "</div></td>" .
"<td><div align='center'>" . htmlspecialchars($row["Note"]) . "</div></td>" .
"<td><div align='center'>" . htmlspecialchars($row["Grad"]) . "</div></td></tr>";
} // while Ende

function msql_seiten_Zähler(tutorials_ps, $link, $proseite)
{
$result = mysql_query("SELECT COUNT(*) FROM tutorials_ps");
$total = mysql_result($result,0);

$seite = $_GET["seite"];
$proseite =15 ; // Anzahl der Eintraege pro Seite
$anzseiten = 5 ; // Anzahl der Links die angezeigt werden.
$seite = (isset($seite)) ? abs((int)$seite) : 1;

//$data=$anfang;
//------
$seitentotal = ceil($total/$proseite) ;
$start = floor($seite - $anzseiten/2) ;
$start = $start <= 0 ? 1 : $start ;
$end = ($start + $anzseiten-1) ;
$end = $end >= $seitentotal ? $seitentotal : $end ;
echo '<table class="content_rand" align="center" >';
echo '<tr>';

// ausgabe der Seitenzahlen
if ($seite > 1)
printf ('<a href="'.$link.'&seite=%s">vorherige Seite</a> ',$seite-1); // index.php anpassen
if ($start > 1)
printf ('<td class="content_head" width="10"><a class="content" href="'.$link.'&seite=%s">%s</a>...</td> ',1,1); // index.php anpassen
for ($i = $start; $i <= $end ;$i++)
{
if($i==$seite)
{
printf ("<td class="content_head" width="10"><strong>$i</strong></td> "); // kein Link da sind wir ja :-)
}
else
{
printf ('<td class="content_head" width="10"><a class="content" href="'.$link.'&seite=%s">%s</a></td> ',$i,$i); // index.php anpassen
}
}
if ($end < $seitentotal)
printf ('<td class="content_head" width="10">...<a class="content" href="'.$link.'&seite=%s">%s</a></td> ',$seitentotal,$seitentotal); // index.php anpassen

if ($seite < $seitentotal)
{
printf ('<a href="'.$link.'&seite=%s">nächste Seite</a> ',$seite+1); // index.php anpassen
}
echo ' </tr>';
echo '</table>';
}

mysql_close();
?>


es müsste doch gehen, oder?
Mfg. BNS

netcup.de Warum gibt es hier Werbung?
Al3x0r Al3x0r am 26.04.06 17:37

Ist das der gesamte code , oder ist da noch was vorher ? Weil Zeile 34 sehe ich nun nicht direkt einen fehler.

btw. So Sachen wie htmlspecialchars macht mal immer vor dem eintragen in die DB und nicht bei der Ausgabe... ;)

mfg Alex

BNightSpeeder am 26.04.06 19:02

Zeile 34 müsste die hier sein ist:

Quote
function msql_seiten_Zähler(tutorials_ps, $link, $proseite)

Julian am 26.04.06 19:28

function msql_seiten_Zähler([COLOR=red]tutorials_ps[/COLOR], $link, $proseite)

fehlt da nich ein dollarchen!? :)

BNightSpeeder am 26.04.06 19:44

nein, so heißt die datenbank tabelle.

Thiemm Thiemm am 26.04.06 19:57

Lass 'tutorial_ps' einfach ganz weg, brauchste nämlich nicht.

BNightSpeeder am 26.04.06 19:58

Nun kommt das:

Quote
Parse error: parse error, unexpected T_STRING in C:\FoxServ\www\Re-Design\page\tutorials\tutorials_ps.php on line 63

Thiemm Thiemm am 26.04.06 21:49

Hast du das Script selber geschrieben? Denn eigentlich ist es ja nicht so schwer, die Fehler zu interpretieren ;(

BNightSpeeder am 27.04.06 13:49

Nein, ich habe es aus einem PHP Buch, und dan versucht es in mein script einzubauen.

BNightSpeeder am 11.05.06 15:07

Es kommt nun kein Fehler mehr, aber leider wird nichts zum blättern angezeigt ,sonder es werden nur alle Einträge ausgelesen, wiso?
Das ist nun mein Code:

<?php
$sql1="SELECT * FROM tutorials_ps";
$result1=mysql_query($sql1);
$zeilen=mysql_num_rows($result1);

while ($row=mysql_fetch_assoc($result1)) {
echo "<tr><td><div align='center'><a href='?action=tutorials/ps/tutorial_anzeige&id=" . htmlspecialchars($row["id"]) . "'>" . htmlspecialchars($row["Titel"]) . "</div></td>" .
"<td><div align='center'>" . htmlspecialchars($row["Datum"]) . "</div></td>" .
"<td><div align='center'>" . htmlspecialchars($row["Note"]) . "</div></td>" .
"<td><div align='center'>" . htmlspecialchars($row["Grad"]) . "</div></td></tr>";
} // while Ende

function msql_seiten_Zähler($link, $proseite)
{
$result = mysql_query("SELECT COUNT(*) FROM tutorials_ps");
$total = mysql_result($result,0);

$seite = $_GET["seite"];
$proseite =1 ; // Anzahl der Eintraege pro Seite
$anzseiten = 2 ; // Anzahl der Links die angezeigt werden.
$seite = (isset($seite)) ? abs((int)$seite) : 1;

echo $_GET["seite"];

//$data=$anfang;
//------
$seitentotal = ceil($total/$proseite) ;
$start = floor($seite - $anzseiten/2) ;
$start = $start <= 0 ? 1 : $start ;
$end = ($start + $anzseiten-1) ;
$end = $end >= $seitentotal ? $seitentotal : $end ;
echo '<table class="content_rand" align="center" >';
echo '<tr>';

// ausgabe der Seitenzahlen
if ($seite > 1)
printf ('<a href="'.$link.'&seite=%s"><<Vorherige</a> ',$seite-1); // index.php anpassen
if ($start > 1)
printf ('<td class="content_head" width="10"><a class="content" href="'.$link.'&seite=%s">%s</a>...</td> ',1,1); // index.php anpassen
for ($i = $start; $i <= $end ;$i++)
{
if($i==$seite)
{
printf ('<td class="content_head" width="10"><strong>$i</strong></td> '); // kein Link da sind wir ja :-)
}
else
{
printf ('<td class="content_head" width="10"><a class="content" href="'.$link.'&seite=%s">%s</a></td> ',$i,$i); // index.php anpassen
}
}
if ($end < $seitentotal)
printf ('<td class="content_head" width="10">...<a class="content" href="'.$link.'&seite=%s">%s</a></td> ',$seitentotal,$seitentotal); // index.php anpassen

if ($seite < $seitentotal)
{
printf ('<a href="'.$link.'&seite=%s">N&auml;chste>></a> ',$seite+1); // index.php anpassen
}
echo ' </tr>';
echo '</table>';
}

mysql_close();
?>

Claw Claw am 13.05.06 23:44

Probier mal meine Blätterfunktion aus:

<?php
// Copyright (C) 2006 Christof 'Claw' Wechselberger
if (!@function_exists("generate_sites")) {
function generate_sites($table,$end=1,$url,$tag) {

$arrData = array();

$arrData["sql"] = mysql_query('SELECT count(*) AS count FROM '.$table);
$arrData["anz"] = mysql_result($arrData["sql"], 0, 'count');
mysql_free_result($arrData["sql"]);

$arrData["ges"] = floor(ceil($arrData["anz"])/$end);
$arrData["start"] = !isset($_GET[$tag]) ? $arrData["start"] = 0 : $_GET[$tag]*$end;
$arrData["nStart"] = !isset($_GET[$tag]) ? $arrData["start"] = 0 : $_GET[$tag];
$arrData["link"] = '';

$arrData["ges"] += 1;
if($arrData["nStart"]>=($arrData["ges"])) {
echo ('Seite existiert nicht!');
}

$page["start"] = $arrData["start"];
$page["end"] = $end;

if ($arrData["ges"]==1) { return $page; } else {

$arrData["link"] .= ($arrData["nStart"]==0 ? '' : $url.'&amp;'.$tag.'='.($arrData["nStart"]-1).'">&laquo; Zur&uuml;ck</a> ');
if($arrData["ges"]>7) {
$ret = array();
for($i=1;$i<=$arrData["ges"];$i++) {
if (($i*$end-$end)!=$arrData["anz"]) {
$ret[] = (($i-1)!=$arrData["nStart"] ? $url.'&amp;'.$tag.'='.($i-1).'">['.$i.']</a> ' : $i.' ');
}
}

if($arrData["nStart"]<5 && $arrData["nStart"]>1) {
for($j=0;$j<2+$arrData["nStart"];$j++) {
$arrData["link"] .= $ret[$j];
}
} else {
for($j=0;$j<3;$j++) {
$arrData["link"] .= $ret[$j];
}
}
$arrData["link"] .= ($arrData["nStart"]<=($arrData["ges"]-5) ? ($arrData["nStart"]>=5 ? ' ... '.$ret[$arrData["nStart"]-1].$ret[$arrData["nStart"]].(isset($ret[$arrData["nStart"]+1]) ? $ret[$arrData["nStart"]+1] : '') : '') : '');
$arrData["link"] .= ' ... '.($arrData["nStart"]==$arrData["ges"]-4 ? $ret[$arrData["ges"]-4] : '').$ret[$arrData["ges"]-3].$ret[$arrData["ges"]-2].$ret[$arrData["ges"]-1];
} else {

for($i=1;$i<=$arrData["ges"];$i++) {
if (($i*$end-$end)!=$arrData["anz"]) {
$arrData["link"] .= (($i-1)!=$arrData["nStart"] ? $url.'&amp;'.$tag.'='.($i-1).'">['.$i.']</a> ' : $url.'&amp;'.$tag.'='.($i-1).'">['.$i.']</a> ' );
}
}
}
$arrData["link"] .= ($arrData["nStart"]==($arrData["ges"]-1) ? '' : ' '.$url.'&amp;'.$tag.'='.($arrData["nStart"]+1).'">Forw&auml;rts &raquo;</a>');


return $arrData;

}

// EOF
} }

// AB HIER KANN MAN WEGSCHNEIDEN

/*
WIE MAN DIESES SKRIPT BENUTZT:
----------------------------------------------
$table = 'forum_posts'; // Die Tabelle von wo wir die Anzahl der Datensätze herholen WICHTIG: Wenn ein "WHERE" erforderlich ist, einfach hinten dranhängen!
$end = "20"; // Die Maximale Anzahl an Ausgaben pro Site
$url = '<a href="./'.basename($_SERVER['PHP_SELF']).'?thread_id=1'; // Der URL zu der Seite! WICHTIG: Die Seitenangabe wird mit "&" angehängt d.h. der Link müsste so aussehen: <a href=\"www.jex-treme.de/forum_posts.php?thread_id=123
$tag = "seite"; // Der TAG der dann am URL hinten drangehängt wird

// Da wir jetzt alles haben können wir es aufbauen:

$seiten = generate_sites($table,$end,$url,$tag);
// Die Daten von der Funktion bekommt man wie folgt:
echo $seiten["start"]."<br />";
echo $seiten["end"]."<br /><nr />";
echo $seiten["link"];
// Man muss es halt nur noch gerecht anpassen ;-)
----------------------------------------------
*/
?>

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt