mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 05:21 Benutzername: Passwort: Auto-Login

Thema: Problem mit Pagebrowser vom 07.03.2011


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Problem mit Pagebrowser
Autor Nachricht
Ascend
Threadersteller

Dabei seit: 04.09.2008
Ort: Bayern
Alter: 55
Geschlecht: Männlich
Verfasst Mo 07.03.2011 14:12
Titel

Problem mit Pagebrowser

Antworten mit Zitat Zum Seitenanfang

servus miteinander.

ich habe ein problem mit dem pagebrowser auf meiner seite.
ich betreibe einen webkatalog (ja ich weiß ^^).
das war mal 2007 eine test. da habe ich mir von data becker portal2date gekauft. nun ist er aber mit einigen links bestückt und ich möchte ihn auch nicht mehr einfach so löschen.
jetzt habe ich ihn erstmal aus dem alten tabellenlayout in ein valides xhtml umgetüftelt (anders kann man es nicht sagen, da das ganze teil sehr kompliziert geschrieben ist - fertig bin ich auch noch nicht ganz. die unterseiten müssen noch validiert werden).

dabei ist mir jetzt aufgefallen, das beim pagebrowser die einträge falsch berechnet werden.
zb hat eine kategorie 800 einträge. stelle ich auf "20 einträge pro seite anzeigen", werden 2 seiten gefüllt und alle anderen laufen ins nirvana. werden nicht angelegt. jetzt habe ich auf 90 einträge pro kategorie gesetzt, damit wenigstens die ersten beiden seiten paar links haben. die 3. seite wird nicht mehr angelegt.

da ich nicht so der crack in sachen php bin, wollte ich hier mal fragen, ob mir jemand helfen kann.
ich habe die php dateien durchsucht und bin auf folgende funktion gestoßen wo ich meine, die hat was damit zu tun. vor allem ab der foreach schleife (denke ich mal )

Code:

<?php
function update_cats($cat_id = 'all', $start = 0) {
global $db, $tpl, $cat_row_cache, $prefix, $options, $page_id, $page, $tr, $new, $content, $this_cat, $output, $show_cat_cats, $show_cat_links, $show_cat_sponsors, $row, $catnav, $show_cat_pagelink, $update_cats_output, $cat_count, $static_max_update, $safe_mode, $lang;
static $static_error = false;

if (!$safe_mode) {
$cache_cats = array();
$cat_row_cache = array();

if ($cat_id == 'all') {
$cat_result = $db->query("SELECT cat_id FROM ".$prefix."cats LIMIT $start, $static_max_update");
while ($cat_row_cache[] = $db->fetch_array($cat_result));
} else {
$cat_row_cache[] = array('cat_id' => $cat_id);
}

foreach ($cat_row_cache as $cat_row) {
$saved = true;
$count = $db->query_fetch("SELECT count(*) as links FROM ".$prefix."links WHERE parent_cat_id = '".$cat_row['cat_id']."' AND (link_type = 1 OR link_type = 2 OR link_type = 4) AND activated = 1 AND deactivated = 0");

if ($count['links'] > $options['pagelink']) {
$pages = $count['links'] / $options['pagelink'];
if ($pages != floor($pages)) {
$pages = floor($pages) + 1;
}

} else {
$pages = 1;
}

$catname = convert_catname($cat_row['cat_id']);

for ($i = 1; $i <= $pages; $i++) {
$fp = @fopen($options['path'].'/'.$cat_row['cat_id'].'-'.$i.'-'.$catname.'.php', 'w');

$data = "<?php\n";
$data .= "\$cat_id = ".$cat_row['cat_id'].";\n";
$data .= "\$page = ".$i.";\n";
$data .= "require './show_cat.php';\n";
$data .= "?>";

if ($fp) {
fwrite($fp, $data, strlen($data));
fclose($fp);
} else {
$saved = false;
$static_error = true;
}
}

if ($cat_row['cat_id']/* && isset($_REQUEST['acp'])*/) {
if ($saved == false) {
$update_cats_output .= sprintf($lang->get('Kategorie Nr. %s <b>nicht</b> gespeichert...').'<br />', $cat_row['cat_id']);
} else {
$update_cats_output .= sprintf($lang->get('Kategorie Nr. %s erfolgreich gespeichert...').'<br />', $cat_row['cat_id']);
}
}
}

if ($cat_count > $start+$static_max_update) {
if ($static_error == false) {
$update_cats_output .= '<META HTTP-EQUIV=Refresh CONTENT="0; URL=./static.php?solo='.$_GET['solo'].'&amp;cat_count='.$cat_count.'&start='.($start+$static_max_update).(isset($_REQUEST['acp']) ? '&acp' : '').'">';
} else {
$update_cats_output .= '<br /><br /><b>'.$lang->get('Es sind Fehler aufgetreten!').'</b>';
}
}

$content = "";
$output = "";

// Security
if (file_exists($options['path'].'/-1-.php')) {
@unlink($options['path'].'/-1-.php');
}
}
}
?>


vielleicht wolt ihr euch das selber mal anschauen: [url="http://www.weblinksportal.de/297-1-firmen.php"]hier liegt der hund begraben[/url] (unten der pagebrowser) seite 3 läuft ins leere.

das läuft so mit den seiten:
seite eins ist 297-1-firmen.php
seite zwei 297-2-firmen.php
und seite 3 sollte dann 297-3-firmen.php heißen. diese wird aber nicht angelegt.

was müsste ich ändern, damit alles ordentlich berechnet wird?
  View user's profile Private Nachricht senden
Ascend
Threadersteller

Dabei seit: 04.09.2008
Ort: Bayern
Alter: 55
Geschlecht: Männlich
Verfasst Di 08.03.2011 11:54
Titel

Antworten mit Zitat Zum Seitenanfang

keiner ne idee *Schnief*

ich verkürze mal den code. hier denke ich liegt das problem:
Code:
foreach ($cat_row_cache as $cat_row) {
$saved = true;
$count = $db->query_fetch("SELECT count(*) as links FROM ".$prefix."links WHERE parent_cat_id = '".$cat_row['cat_id']."' AND (link_type = 1 OR link_type = 2 OR link_type = 4) AND activated = 1 AND deactivated = 0");

if ($count['links'] > $options['pagelink']) {
$pages = $count['links'] / $options['pagelink'];
if ($pages != floor($pages)) {
$pages = floor($pages) + 1;
}

} else {
$pages = 1;
}

wie könnte man es umändern, damit alles ordentlich berechnet wird ...
  View user's profile Private Nachricht senden
Anzeige
Anzeige
 
Ähnliche Themen Formmailer-Problem-neues problem
PHP Problem
CSS-Problem im IE7
CSS Problem
SQL-Problem
CSS Div Problem
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.