[GastForen Programmierung/Entwicklung PHP und MySQL Datensätze zählen und eine bestimmte Anzahl pro Seite ausgeben

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Datensätze zählen und eine bestimmte Anzahl pro Seite ausgeben

mbaer
Beiträge gesamt: 28

2. Okt 2006, 13:29
Beitrag # 1 von 11
Bewertung:
(12424 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen

Das folgende Script gibt mir die erfassten Datensätze aus mysql aus. Nun möchte ich, dass pro Seite nur eine bestimmte Anzahl ausgegeben wird (z.B. 4 pro Seite) und dann einen Link setzen für "weiter" und "zurück". Habt ihr mir Tipps, wie ich das lösen kann?

Vielen Dank für eure Hilfe. mbaer


Das Script:

<?
global $pageid, $cbnr;

$artikel_bild="";
$artikel_bildtitel="";
$artikel_bildlink="";

$sql = "SELECT * FROM tblcms_artikel WHERE menuid=".$pageid." and pos=1";
$res=mysql_query($sql);
if (mysql_num_rows($res)!=0)
{
$data = mysql_fetch_array($res);
$artikelid=$data["id"];

//** Inhalte laden **//
for ($x=0;$x<12;$x++)
{
$tmpid1 = $x*3+1;
$tmpid2 = $x*3+2;
$tmpid3 = $x*3+3;
$sql = "SELECT * FROM tblcms_artikel_content WHERE artikelid=".$artikelid." and cmsbox=".$cbnr." and cmsboxtype=".$tmpid1;
$artikel_bild="";
$res=mysql_query($sql);
$data = mysql_fetch_array($res);
if (mysql_num_rows($res)!=0)
$artikel_bild="<img src=uploadfiles/pictures/".$data["content"]." width=120 height=125 border=0>";
$sql = "SELECT * FROM tblcms_artikel_content WHERE artikelid=".$artikelid." and cmsbox=".$cbnr." and cmsboxtype=".$tmpid2;
$artikel_bildtitel="";
$res=mysql_query($sql);
$data = mysql_fetch_array($res);
$artikel_bildtitel=$data["content"];
$sql = "SELECT * FROM tblcms_artikel_content WHERE artikelid=".$artikelid." and cmsbox=".$cbnr." and cmsboxtype=".$tmpid3;
$artikel_bildlink="";
$res=mysql_query($sql);
$data = mysql_fetch_array($res);
$artikel_bildlink=$data["content"];
if ($artikel_bildlink!="")
{
list ($link, $ziel, $linkpro) = split ('#', $artikel_bildlink);
if ($ziel!="")
$ziel=" target=".$ziel." ";
$artikel_bild="<a href=".$linkpro.$link.$ziel.">".$artikel_bild."</a>";
}
if ($artikel_bild!="")
{
echo $artikel_bild;
echo ("<br>".$artikel_bildtitel."<br><br>");
}
}
}
?>
X

Datensätze zählen und eine bestimmte Anzahl pro Seite ausgeben

Pozor
Beiträge gesamt: 892

2. Okt 2006, 13:32
Beitrag # 2 von 11
Beitrag ID: #254254
Bewertung:
(12422 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo mbaer,

Schau mal hier rein: Pagination


als Antwort auf: [#254251]

Datensätze zählen und eine bestimmte Anzahl pro Seite ausgeben

mbaer
Beiträge gesamt: 28

5. Okt 2006, 17:42
Beitrag # 3 von 11
Beitrag ID: #254865
Bewertung:
(12391 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan

Danke für die schnelle Antwort und sorry für meine späte Reaktion. Leider bin ich mit der Lösung nicht weitergekommen. Ich glaube, das Problem liegt darin, dass jeder Datensatz "einzeln" gezählt wird ($tmpid1, $tmpid2, $tmpid3) und ich keine "Menge" die dann teilbar wird, eruieren kann.

Das nächste Problem: ich möchte pro Seite immer eine bestimmte Anzahl Datensätze (bspw. 5) ausgeben, dann den Link "zurück / weiter" um die nächsten 5 usw. auszugeben. Wenn ich Deinen Lösungsansatz "Pagination" richtig verstehe teilt dieser die Menge der Datensätze auf Seiten auf (bei 12 Datensätzen / 3 = vier Seiten, bei 15 Datensätzen / 3 = fünf Seiten usw. also hätte ich einmal 4 pro Seite und einmal 5 pro Seite, oder?). Konnte das aber nicht genau eruieren, da das mit dem zählen irgendwie nicht klappt.

Und wenn ich "define ('_PAGESIZE_', 3); ...." einsetze, erhalte ich einen Parse error: parse error in ...... on line 2, warum wohl?

Hast Du eine weitere Idee, wie ich das lösen kann? Danke für die Hilfe und Gruss, Michael


als Antwort auf: [#254254]

Datensätze zählen und eine bestimmte Anzahl pro Seite ausgeben

flobaer
Beiträge gesamt: 317

5. Okt 2006, 18:03
Beitrag # 4 von 11
Beitrag ID: #254868
Bewertung:
(12388 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo mbaer,

was hälst du denn von sowas:
Erst mal berechnen, wie wieviele Seiten es werden:
Code
$abfrage = "SELECT COUNT(*) FROM tabelle LIMIT 1"; 
$resID = mysql_query($abfrage);
while($nochneintrag = mysql_fetch_array($resID)){$eintraege = $nochneintrag[0];}
$limit=4; // wieviele Datensätze pro Seite
$seite-=1; // Variable Seite um 1 erniedriegen, damit mit 0 begonnen wird
$start=$seite * $limit; // berechnen, mit welchem Datensatz begonnen wird
$seite_max=ceil($eintraege/$limit);


Dann kannst du die Abfragen entsprechend anpassen:
Code
$abfrage= "SELECT * FROM tabelle ORDER BY wasauchimmer LIMIT $start,$limit"; 


Auf der Basis kannst du dann auch eine Blätterfunktion bauen, die Anzahl der Seiten kennst du ja dann.

Ich hoffe, das geht in die Richtung, in die du willst?


als Antwort auf: [#254865]

Datensätze zählen und eine bestimmte Anzahl pro Seite ausgeben

mbaer
Beiträge gesamt: 28

8. Okt 2006, 13:10
Beitrag # 5 von 11
Beitrag ID: #255219
Bewertung:
(12366 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo flobaer
Vielen Dank für Deinen Input, habe einige Zeit damit verbracht, auf Deinem Ansatz die Lösung zu finden, bin leider zu keinem Ziel gekommen.

Zähle ich die Datensätze vor der "for ($x=0;$x<12;$x++)" (siehe Codeablauf im ersten Eintrag) erhalte ich zwar die Menge der Einträge (z.B. 40), setze ich den gleichen Code nach der "for for ($x=0;$x<12;$x++)" erhalte ich die gleiche Menge (z.B. 40), aber x-mal, da das nun ja x-fach gezählt wird. Hier ein Code-Ausschnitt:

//** Inhalte laden **//
for ($x=0;$x<12;$x++)
{
$tmpid1 = $x*4+1;
$tmpid2 = $x*4+2;
$tmpid3 = $x*4+3;
$tmpid4 = $x*4+4;

$abfrage = "SELECT COUNT(*) FROM tblcms_artikel_content WHERE artikelid=$artikelid AND cmsbox=$cbnr AND cmsboxtype=$tmpid1 LIMIT 1";
$resID = mysql_query($abfrage);
while($nochneintrag = mysql_fetch_array($resID)){$eintraege = $nochneintrag[0];}
$limit=4; // wieviele Datensätze pro Seite
$seite-=1; // Variable Seite um 1 erniedriegen, damit mit 0 begonnen wird
$start=$seite * $limit; // berechnen, mit welchem Datensatz begonnen wird
$seite_max=ceil($eintraege/$limit);
echo $eintraege;

$sql = "SELECT * FROM tblcms_artikel_content WHERE artikelid=".$artikelid." and cmsbox=".$cbnr." and cmsboxtype=".$tmpid1." LIMIT $start,$limit";
$artikel_bildtitel="";
$res=mysql_query($sql);
$data = mysql_fetch_array($res);
if (mysql_num_rows($res)!=0)
$artikel_bildtitel=$data["content"];

Setze ich, wie im code-beispiel in der $abfrage auch das Kriterium "AND cmxboxtype=$tmpid1" erhalte ich als Resultat nur die Ausgabe "1111...00" auf den "echo $eintraege" (steht nur um zu sehen, wie die Menge der ausgewählten Artikel ist). Wenn ich in der nächsten sql-abfrage das "LIMIT $start,$limit" setze, erhalte ich keine Ausgaben der Inhalte, sobald ich das LIMIT lösche, kommen die Einträge, aber es wird nichts gezählt.

Irgendwie liegt das Problem beim Auswerten/Zählen über die Variablen wie "$artikel_bildtitel" und die tmpid1 / tmpid2 / tmpid3.

Hab mir schon überlegt, ob ich die Daten nach der "normalen" Auswertung (also noch ohne zählen/limitieren) in eine neue Tabelle schreiben soll und dann diese auswerten. Aber ob das sinnvoll ist, da doch die Daten an sich schon da sind?

Es müsste doch möglich sein, die Daten direkt im Ablauf mitzuzählen und dann limitiert pro Seite auszugeben. Komme aber einfach nicht drauf, wie das anzustellen ist.

Für jede weitere Hilfe bin ich sehr dankbar. Danke und Gruss, Michael


als Antwort auf: [#254868]

Datensätze zählen und eine bestimmte Anzahl pro Seite ausgeben

flobaer
Beiträge gesamt: 317

8. Okt 2006, 14:21
Beitrag # 6 von 11
Beitrag ID: #255222
Bewertung:
(12365 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

ich vermute, dass wenn du hinter deinen echo Befehl ein br setzt, dass dein Ergebnis dann etwa so aussehen wird:
1
1
1
...
Richtig?
Ich kenne deine Datenbank zwar nicht, aber wahrscheinlich ist es so, dass es bei der Abfrage mit cmsboxtype wirklich nur immer einen Datensatz gibt. Dann wäre das Zählergebnis auch richtig.
Was ich noch nicht ganz verstanden habe, ist was du mit deinen tempids eignetlich machst. Es wäre ganz hilfreich, wenn du dein Ziel und den Aufbau deiner Datenbank etwas genauer erklären könntest.
Wenn ich das aus deinem ersten Eintrag richtig gedeutet habe, dann holst du ein Bild, einen Titel und einen Link aus einer Tabelle. Aber wieso stehen die nicht in einer Zeile, warum kannst du die also nicht auf einmal auslesen?
Wahrscheinlich wird es deutlicher, wenn du etwas genauer beschreibst, was du vorhast. Sonst reden wir womöglich noch aneinander vorbei.

Viele Grüße
Florian


als Antwort auf: [#255219]

Datensätze zählen und eine bestimmte Anzahl pro Seite ausgeben

Bitfilme
Beiträge gesamt: 264

8. Okt 2006, 16:56
Beitrag # 7 von 11
Beitrag ID: #255233
Bewertung:
(12350 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielleicht hilft das auf die Sprünge! Ausschitt aus dem Gästebuch von mir.
Code
form method="POST" action="http://<?php echo $_SERVER['SERVER_NAME'].'/'.$_REQUEST['Verzeichnis'] ?>" name="GastbuchSeiten"> 
<?php echo $_GET['Menue']; ?>
<div align="center">
<table border="0" width="60%" cellspacing="0" id="table2">
<tr>
<td align="right">&nbsp;</td>
</tr>
<tr>
<td align="right">
<button type="button" onclick="self.location.href='eintrag/?Bitsoft=Beitrag'"
class="button">Eintrag vornehmen</button></td>
</tr>
<?php
if (file_exists("config/connect.php")){
require("config/connect.php");

$ErgebnisseProSeite = 3;

$DatabasePointer=mysql_connect($host, $user, $passwort);
mysql_select_db($db, $DatabasePointer);

if(!isset($_REQUEST['AktuelleSeite']))
{
$AktuelleSeite=0;
}
else
{
$AktuelleSeite=$_REQUEST['AktuelleSeite'];
}

$ResultPointer=mysql_query("SELECT * FROM Gaestebuch ORDER BY Datum DESC LIMIT $AktuelleSeite, $ErgebnisseProSeite", $DatabasePointer);
$Anzahl=mysql_num_rows(mysql_query("SELECT * FROM Gaestebuch ORDER BY Datum DESC", $DatabasePointer));

if($Anzahl>$ErgebnisseProSeite)
{
$Seiten=intval($Anzahl/$ErgebnisseProSeite);
if($Anzahl%$ErgebnisseProSeite)
{
$Seiten++;
}
// echo "Seite ";
}

for($i=1; $i<=$Seiten; $i++)
{

$option .= '<option value="http://'.$_SERVER['SERVER_NAME'].'/'.$_REQUEST['Verzeichnis'].'/?AktuelleSeite='. ($i-1)*$ErgebnisseProSeite.'">'.$i.'</option>'."\n ";

}

echo ' <tr>
<td>
<select name="Ziel" class="selectfeld" size="1" onchange="QuickJump(this.form);">
<option>Seite</option>
'.$option.'</select></td>
</tr>
</table>
</div>

';

for($i=0; $i<mysql_num_rows($ResultPointer); $i++){
$Gaestebuch = mysql_fetch_object($ResultPointer);
$Gaestebuch->MeinDatensatz

}



als Antwort auf: [#255222]

Datensätze zählen und eine bestimmte Anzahl pro Seite ausgeben

ganesh
Beiträge gesamt: 1981

8. Okt 2006, 20:10
Beitrag # 8 von 11
Beitrag ID: #255246
Bewertung:
(12339 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dafür gibt's fertige PHP-Klassen, z.B.
http://www.zend.com/...id=1072&single=1

Hier ist ein gutes Tutorial:
http://www.onlamp.com/...previous.html?page=1
(Quellcode zum Downloaden ist ganz am Schluss der Seite 2)


als Antwort auf: [#254251]

Datensätze zählen und eine bestimmte Anzahl pro Seite ausgeben

mbaer
Beiträge gesamt: 28

9. Okt 2006, 14:25
Beitrag # 9 von 11
Beitrag ID: #255334
Bewertung:
(12302 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Zusammen

Zuerst einmal Danke an alle, sind einige Inputs, die ich gerne versuche resp. mich darin vertiefe.

@flobaer
Es ist richtig, sobald die cmsboxtype ins Spiel kommt gibt es einen gültigen Datensatz. Das Zählergebnis ist richtig. Ich versuch mal, das Script zu erläutern (Datenerfassung läuft praktisch identisch ab).

Die Artikel stehen nicht in einer Zeile, damit ich quasi unabhängig davon bin, wieviele Felder ein Artikel braucht. Die Menge der Felder pro Artikel wird über den ident der cmsboxtype bestimmt (respektive über die Erfassung, bei welcher ich die benötigten Felder zur Eingabe bestimme und jedem Eingabefeld ein cmsboxtype-ident zuweise).

Mit den tmpid wird der ident-wert des cmsboxtype errechnet. Bei der tblcms_artikel_content gibt es u.a. id, artikelid, cmsbox, cmsboxtype, content, usw. Bei der Eingabe der Inhalte wird alles in "content" gelegt und mit den o.genannten eindeutig zugeordnet. Ein vollständiger Artikel setzt sich zusammen aus:
$artikel_bild + $artikel_bildtitel + $artikel_bildlink
- die tmpid berechnet für den zweiten, dritten, usw. Artikel die nächst höheren cmsboxtype-werte, um wieder einen kompletten Artikel zusammenzufassen

Ich hab das Script mit Kommentaren erweitert, die (hoffentlich) genauer erläutern, was passiert:

//** Uebergabe der Globalen Variablen und zurücksetzen der spezifischen Variablen**//
global $pageid, $cbnr;

$artikel_bild="";
$artikel_bildtitel="";
$artikel_bildlink="";

//** Auswertung der id aus tblcms_artikel um festzustellen, zu welchem Navigationspunkt der Artikel gehört**//
$sql = "SELECT * FROM tblcms_artikel WHERE menuid=".$pageid." and pos=1";
$res=mysql_query($sql);
if (mysql_num_rows($res)!=0)
{
$data = mysql_fetch_array($res);
$artikelid=$data["id"];

//** Inhalte laden: mit dieser Schlaufe wird der identwert der cmsboxtype berechnet, die Schlaufe lauft xmal durch, bis das Ergebnis aller Inhalte feststeht, alle Artikelkomponenten berechnet sind und ausgegeben werden können, die Schlaufe läuft für jeden Teil des Artikels durch **//
for ($x=0;$x<12;$x++)
{
$tmpid1 = $x*3+1;
$tmpid2 = $x*3+2;
$tmpid3 = $x*3+3;

$sql = "SELECT * FROM tblcms_artikel_content WHERE artikelid=".$artikelid." and cmsbox=".$cbnr." and cmsboxtype=".$tmpid1;
$artikel_bild="";
$res=mysql_query($sql);
$data = mysql_fetch_array($res);


if (mysql_num_rows($res)!=0)
$artikel_bild="<img src=uploadfiles/pictures/".$data["content"]." width=100 height=67 border=0>";



$sql = "SELECT * FROM tblcms_artikel_content WHERE artikelid=".$artikelid." and cmsbox=".$cbnr." and cmsboxtype=".$tmpid2;
$artikel_bildtitel="";
$res=mysql_query($sql);
$data = mysql_fetch_array($res);
$artikel_bildtitel=$data["content"];



$sql = "SELECT * FROM tblcms_artikel_content WHERE artikelid=".$artikelid." and cmsbox=".$cbnr." and cmsboxtype=".$tmpid3;
$artikel_bildlink="";
$res=mysql_query($sql);
$data = mysql_fetch_array($res);
$artikel_bildlink=$data["content"];
if ($artikel_bildlink!="")
{
list ($link, $ziel, $linkpro) = split ('#', $artikel_bildlink);
if ($ziel!="")
$ziel=" target=".$ziel." ";
$artikel_bild="<a href=".$linkpro.$link.$ziel.">".$artikel_bild."</a>";


}
//** Ab hier die Ausgabe der Artikel, ein Artikel setzt sich zusammen aus: $artikel_bild, $artikel_bildtitel und $artikel_bildlink**//
if ($artikel_bild!="");

{


echo "<class=bild>";
echo $artikel_bild ;
echo (".$artikel_bildtitel.");

}
}
}


Wenn die Daten ausgegeben werden (je nach Darstellungsform, bei Eingabe von <br> einfach untereinander) folgt:
-(1. Artikel) = erstes Bild, erster Bildtitel (allenfalls Bild mit Bildlink)
-(2. Artikel) = zweites Bild, zweiter Bildtitel, usw.

in der tblcms_artikel_content steht z.B. zu den Artikeln:
- id = 6 (int) / artikelid = 3 / cmsbox = 2 / cmsboxtype = 1 (Inhalt gleich Bild 1)
- id = 7 / artikelid = 3 / cmsbox = 2 / cmsboxtype = 2 (Inhalt gleich Bildtitel 1)
- id = 8 / artikelid = 3 / cmsbox = 2 / cmsboxtype = 3 (Inhalt gleich Bildlink 1)

- id = 9 / artikelid = 3 / cmsbox = 2 / cmsboxtype = 4 (Inhalt gleich Bild 2)
- id = 10 / artikelid = 3 / cmsbox = 2 / cmsboxtype = 5 (Inhalt gleich Bildtitel 2)
- id = 11 / artikelid = 3 / cmsbox = 2 / cmsboxtype = 6 (Inhalt gleich Bildlink 1)
- usw., je nach Menge der erfassten Artikel

Zähle ich die Artikel über "SELECT * FROM tblcms_artikel_content WHERE artikelid=$artikelid AND cmsbox=$cbnr" erhalte ich logischerweise die Menge aller eingegebenen Artikel mit entsprechender artikelid und cbnr (bei 12 eingegebenen Artikel und allen belegten Eingabemöglichkeiten - 3 pro Artikel - gibt das als Ergebnis 36).

Zähle ich die Artikel über "SELECT SELECT * FROM tblcms_artikel_content WHERE artikelid=$artikelid AND cmsbox=$cbnr" AND cmsboxtype=$tmpid1" erhalte ich immer 1 pro Teilbereich (ist ja so auch richtig, es gibt ja dann pro Datensatz immer einen, der genau auf artikelid, cbnr und tmpid1 und auf artikelid, cbnr und tempid2 und auf artikelid, cbnr und tempid3 zutrifft).

Um ein "limit" und eine "pos" zu erhalten, über die dann die Menge eines Artikels (der aus drei Teilbereichen besteht) gezählt und die Links zum Blättern erzeugt werden können, stellt die Herausforderung dar. Vielleicht muss ich für das zählen/limitieren der Artikel gleich vorgehen, wie bei der Ausgabe (also auch xmal für jeden Punkt durchlaufen lassen)?

Ich hoffe, den Ablauf verständlich erläutert zu haben. Arbeite weiter daran (hab ja einige weitere Inputs erhalten). Vielleicht hast Du aber eine weitere Idee...

Danke und Gruss, Michael


als Antwort auf: [#255222]

Datensätze zählen und eine bestimmte Anzahl pro Seite ausgeben

flobaer
Beiträge gesamt: 317

9. Okt 2006, 14:49
Beitrag # 10 von 11
Beitrag ID: #255337
Bewertung:
(12298 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

ich werde das Gefühl nicht los, dass deine Datenbank deutlich komplizierter aufgebaut ist, als es notwendig wäre.

Kannst du mir mal ein Beispiel nennen für einige Artikel, damit klar wird, warum du die so zerlegen musst?

Und was das eigentlich Problem, das Blättern, betrifft: Wenn ich das richtig verstehe, willst du nur fünf Artikel pro Seite ausgeben und eine Blätterfunktion um fünf Artikel weiter bzw. wieder zurück zu kommen.
Werden insgesamt alle Artikel ausgegeben, oder nur bestimmte Artikel, die ein bestimmtes Kriterium erfüllen? Du musst natürlich bei der Zählabfrage deine Suche nur soweit einschränken, dass du alle Artikel zählst, die du darstellen willst. Alles weitere fragst du dann bei der Ausgabe ab.

Also um ehrlich zu sein, so richtig klar ist mir dein Konstrukt noch nicht.

Viele Grüße
Florian


als Antwort auf: [#255334]

Datensätze zählen und eine bestimmte Anzahl pro Seite ausgeben

mbaer
Beiträge gesamt: 28

16. Okt 2006, 11:25
Beitrag # 11 von 11
Beitrag ID: #256674
Bewertung:
(12188 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Florian

Hab mir auch schon überlegt, ob die DB zu kompliziert aufgebaut ist. Aber das Ganze stammt aus einem CMS-System und so arbeite ich auf der Basis der vorgegebenen Struktur. However...

Habe die verschiedensten Möglichkeiten ausprobiert. Das mit dem Einschränken und so weiter ist mir schon klar - zumindest dachte ich das bis jetzt.

Wenn ich Artikel erfasse, habe ich z.B. die Möglichkeit A, einem Navigationspunkt XY-Artikel zuzuordnen. Diese Artikel (Bezug) liegt dann in der tblcms_artikel; der Content wird dann in die tblcms_artikel_content gespeichert. Wenn ich das auf diesem Wege löse, funktioniert das mit dem Zählen/Blättern (Suche nach "Menge Artikel" in der tblcms_artikel und schränke Ausgabe pro Seite aus der tblcms_artikel_content ein).

Beim beschriebenen Script resp. Problem (Möglichkeit B) wird beim Erfassen des Artikels dem Navigationspunkt nur 1 Artikel in der tblcms_artikel zugewiesen und die Inhalte über das Erfassen (mehrere Contents zum gleichen Artikel) in die tblcms_artikel_content geschrieben. Die tmpid1 - 3 berechnen beim erfassen der Artikel-Contents die Zuordnung der cmsboxtypes, damit die Zuordnung zum zusammenhängenden Artikel gewährleistet ist. Bei der Ausgabe wird das gleich berechnet.

Wenn ich die gesamte, ungeordnete, nicht zugeteilte Menge der Inhalte for der "for-Schlaufe mit den tmpid'ids" berechnen lasse, erhalte ich die gesamte Menge der Einträge (Auswahl über $artikelid und $cbnr, bereits in der tblcms_artikel_content). Dann war ich der Meinung, dass ich über ein weiteres Kriterium die Menge nach der "for-Schlaufe" einschränken kann, aber da fängts an zu hapern.

Es ist so, dass ich beim beschriebenen Script in der Variable $artikel_bild wie auch in den folgenen $artikel_bildtitel und $artikel_bildlink alle Einträge habe (wenn ich die dann über

} if ($artikel_bild!=""); {

echo $artikel_bild;
echo (".artikel_bildtitel.");

ausgebe, erhalte ich alle Einträge sauber, einfach nur die gesamte Menge. Und diese möchte ich ja "pro Seite einschränken mit vor/zurück.

Hab das Ganze als Zwischenlösung nun mal so aufgebaut, wie in Möglichkeit A beschrieben und das funktioniert auch. Ist beim Erfassen etwas aufwändiger und gibt andere Schwierigkeiten beim Zuordnen von Zusatzinformationen, die ich dann über ein weiteres Script includieren muss. Das ist nicht tragisch, einfach nicht "ganz sauber".

Versuche weiterhin, eine Lösung für das Problem der Möglichkeit B zu finden. Vielleicht muss ich ein tmp-file erstellen und dann daraus wählen oder über "while" eine einschränkende Auswahl machen (daran bin ich bis jetzt aber gescheitert... wahrscheinlich einfach zu unbeholfen, den richtigen Weg zu finden...).

Wenn also noch Inputs und Ideen da sind, bin weiterhin für jede Hilfe dankbar.

Gruss, Michael


als Antwort auf: [#255337]
X