 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
15.04.2008, 07:47
|
#1
|
|
TP-Member
Registriert seit: Sep 2006
Ort: Berlin
|
xsl Blätterfunktion? oder php
Hallo liebe foren user,
ich habe eine xml datei und die dazugehörige xsl zur ausgabe. diese beinhaltet aber zu viele einträge die auf einer webseite angezeigt würden. gibt es eine art blätterfunktion für xsl oder müsste ich die xsl erst irgendiwe mit php einlesen und dann in einer php blätterfunktion ausgeben.wie müsste man die xsl einlesen, als string oder wie? hab leider nicht viel ahnung von php
vielen dank im voraus
andreas
|
|
|
15.04.2008, 17:19
|
#2
|
|
TP-Senior
Registriert seit: Oct 2006
Ort: Augsburg
|
XSL übernimmt die reine Darstellung, ähnlich wie CSS.
Du müsstes also die XML einlesen und parsen - beispielsweise mit SimpleXML, und die Blätterfunktion in PHP machen.
__________________
quo errat demonstrator
|
|
|
15.04.2008, 17:42
|
#3
|
|
TP-Member
Registriert seit: Sep 2006
Ort: Berlin
|
Hallo webdepp,
vielen dank für deine info. dann bräuchte ich aber eine suchfunktion bzw filterfunktion für die xml datei, da ja nicht alle date ausgegeben werden sollen, sondern nur bestimmte. ist so eine suchfunktion möglich? hast du vielleicht einen kurzen tipp mit was für einer funktion das geschehen müsste.
vielen dank
gruß
andreas
|
|
|
15.04.2008, 17:51
|
#4
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Wenn Du doch nun simpleXML nutzt hast Du doch ein Object, welches Du doch so ansprechen kannst, wie Du willst.
Also einfach einlesen, Nodeanzahl auslesen, gewünschte Anzahl via for-Schleife ausgeben und dann eine Paging Funktion erstellen.
|
|
|
15.04.2008, 17:59
|
#5
|
|
TP-Member
Registriert seit: Sep 2006
Ort: Berlin
|
hallo,
na das sollte ich doch hinbekommen. ich danke euch vielmals
gruß
andreas
|
|
|
15.04.2008, 19:00
|
#6
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Habe Dir mal eben einen Ansatz gebaut, ggf hilft er Dir ja
PHP-Code:
<?php
// EINSTELLUNGEN ///////////////
//
// Anzahl pro Seite
$anzahlProPage = 3;
// XML Datei
$xmlFile = 'source.xml';
///////////////////////////////
function makeNavi($anzahlProPage, $anzahlItem)
{
$pageAnzahl = ceil($anzahlItem / $anzahlProPage);
$pageNum = intval($_GET['page']);
if(empty($pageNum) || $pageNum > $pageAnzahl)
{
$aktuellePage = 1;
}
else
{
$aktuellePage = $pageNum;
}
for($i = 1; $i <= $pageAnzahl; $i++)
{
if($i != $aktuellePage)
{
$navi .= '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">Seite '.$i.'</a>';
}
else
{
$navi .= 'Seite '.$i;
}
if($i < $pageAnzahl)
{
$navi .= ' | ';
}
}
return $navi;
}
function makeContent($pageNum, $anzahlItem, $anzahlProPage, $XMLcontent)
{
if(empty($pageNum) || $pageNum > ceil($anzahlItem / $anzahlProPage))
{
$pageNumber = 1;
}
else
{
$pageNumber = $pageNum;
}
$page = $anzahlProPage * ($pageNumber - 1);
for( $i = $page; $i < ($anzahlProPage+$page); $i++)
{
if($i <$anzahlItem)
{
$content .= '<p>XML Node'.($i+1).':<br />'.$XMLcontent->CONTENTITEM->$i->TEXT.'<p>';
}
}
return $content;
}
$XMLcontent = @simplexml_load_file($xmlFile, NULL, TRUE);
$anzahlItem = count($XMLcontent->CONTENTITEM);
$pageNum = intval($_GET['page']);
echo makeContent($pageNum, $anzahlItem, $anzahlProPage, $XMLcontent);
echo makeNavi($anzahlProPage, $anzahlItem);
?>
Die hierzu gehörende XML
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<CONTENT>
<CONTENTITEM>
<TEXT>Item1</TEXT>
</CONTENTITEM>
<CONTENTITEM>
<TEXT>Item2</TEXT>
</CONTENTITEM>
<CONTENTITEM>
<TEXT>Item3</TEXT>
</CONTENTITEM>
<CONTENTITEM>
<TEXT>Item4</TEXT>
</CONTENTITEM>
<CONTENTITEM>
<TEXT>Item5</TEXT>
</CONTENTITEM>
<CONTENTITEM>
<TEXT>Item6</TEXT>
</CONTENTITEM>
</CONTENT>
|
|
|
15.04.2008, 19:04
|
#7
|
|
TP-Member
Registriert seit: Sep 2006
Ort: Berlin
|
wow, danke schön. das hilft mir natürlich sehr.
besten dank
gruß
andreas
|
|
|
16.04.2008, 00:14
|
#8
|
|
TP-Member
Registriert seit: Sep 2006
Ort: Berlin
|
das funktioniert ja wirklich super gut mit der blätterfunktion, hab jetzt auch die ausgabe mit allen angaben aus der xml hinbekommen. wie bekomme ich denn aber jetzt die ausgabe der sortierten xml hin. ich hatte in meiner xsl datei eine sortierfunktion drin, weil ich nur bestimmte datensätze aus der xml angezeigt haben wollte. gibt es dafür eine php funktion oder kann ich die xsl irgendwie mit einbeziehen. habt ihr hierzu vielleicht auch noch einen ansatz
gruß
andreas
|
|
|
16.04.2008, 00:38
|
#9
|
|
TP-Veteran
Registriert seit: Sep 2002
Ort: Winterthur
|
Also ne Blätterfunktion könntest du auch mit XSL realisieren, du musst einfach die Parameter für die aktuelle Seite usw. mitgeben. Schau dir mal den folgenden Link an, da ist das in etwa beschrieben:
http://www.tonymarston.net/php-mysql/xsl.html
Gruss,
Manu
|
|
|
17.04.2008, 11:05
|
#10
|
|
TP-Member
Registriert seit: Sep 2006
Ort: Berlin
|
danke für den link, komme nur nicht ganz klar mit der beschreibung wegen mangelnder englischkenntnisse, gibt es solch eine anleitung auch in deutsch. hätte jemand einen tipp zum xsl einbinden in das php blätter script
gruß
andreas
|
|
|
26.04.2008, 08:45
|
#11
|
|
TP-Member
Registriert seit: Sep 2006
Ort: Berlin
|
Hallo,
hab jetzt mal die funktion von webcreate(weiter oben in diesem thread) genommen und so meine problem damit. wollte in der $content(zeile 5  mehrere zeilen aus der xml ausgeben.
$content .= '<p>$XMLcontent->Artikel->$i->Produktname.($i+1).'<br />'.$XMLcontent->CONTENTITEM->$i->Beschreibung.'<p>';
jedoch zeigt mir php dann folgenden fehler an:
Parse error: syntax error, unexpected '>' in C:\xampp\htdocs\seiten.php on line 58
kann mir nochmal jemand weiter helfen, bitte,bitte.
vielen dank
andreas
|
|
|
26.04.2008, 08:52
|
#12
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
In der Zeile
PHP-Code:
$content .= '<p>$XMLcontent->Artikel->$i->Produktname.($i+1).'<br />'.$XMLcontent->CONTENTITEM->$i->Beschreibung.'<p>;
hast Du ein Apostroph und den Verknüpfungsoperator vergessen. Variablen werden in Singlequotes nicht verarbeitet. Versuch es mal so :
PHP-Code:
$content .= '<p>' .$XMLcontent->Artikel->$i->Produktname($i+1). '<br />' .$XMLcontent->CONTENTITEM->$i->Beschreibung. '<p>';
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
26.04.2008, 09:06
|
#13
|
|
TP-Member
Registriert seit: Sep 2006
Ort: Berlin
|
hab ich wohl übersehen. vielen dank, jetzt funktionier es einwanfrei.
gruß andreas
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:59 Uhr.
|
 |