Autor |
Nachricht |
DeathBoy
Threadersteller
Dabei seit: 06.04.2009
Ort: Ebersdorf b. Coburg
Alter: -
Geschlecht: -
|
Verfasst Mo 06.04.2009 10:46
Titel PHP -> XML Parsen - Pro Zeile jeweils 3 Ausgaben! |
|
|
Hi,
ich versuch es kurz zu machen!
Über einen link von myvideo (der eine xml liefert) möchte ich gerne meine videos die ich auf meinen account habe automatisch auf meiner HP anzeigen.
ich parse die datei per PHP und möchte nun pro zeile 3 videos ausgeben (sonst sprengt es mir mein "design")!
leider aber funktioniert meine for-schleife nicht, und alle videos werden untereinander angezeigt statt 3 pro zeile. kann keinen fehler finden. bin auch ziemlich neu auf den gebiet!
hier mein code (den link habe ich weggemacht da er dev-id und website-id enthält):
Code: |
<!-- HAUPTINHALT HIER REIN -->
<h1 class="decay">:: Meine Videos</h1>
<br>
<table border="1" width="100%">
<tr>
<?php
// URL angabe zur auszulesenden Datei (XML)
$URL = "HIER STEHT DIE URL";
// mit CURL erstmal alles ins System laden
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $URL);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
curl_close($curl);
// das ganze mit SimpleXMLElement parsen
$xml = new SimpleXMLElement($data);
// FOREACH-Schleife zum wiederholten einlesen + Pfad abkürzen zu "$movie"
foreach($xml->myvideo->movie_list->movie as $movie) {
// $daten mit der Variable ersetzen in der Du die gesamten Daten hast. Die werden gezählt damit.
$anzahl = count($movie);
// Wieviele Datensätze möchtest Du in einer Reihe? Im Bsp 3.
$prospalte = 3;
// Hier wird berechnet wieviel Reihen wir brauchen, ceil rundet das Ergebnis.
$reihen = ceil($anzahl/$prospalte);
//Hilfszähler
$anz = 0;
//Nun geht das Zählen und die Ausgabe los
for($r = 0; $r < $reihen ; $r++){
$anz = $r;
for($s = 0; $s < $prospalte; $s++){
if($anz < $anzahl){
echo "<td>";
echo $movie->movie_url[$anz]." ";
echo $movie->movie_thumbnail[$anz]." ";
}
$anz += $reihen;
}
echo "</td>";
}
}
?>
</tr>
</table>
<!-- HAUPTINHALT ENDE -->
|
hier der direktlink zu dieser datei:
http://www.deathboy.de/myvideos.php
danke
gruß mike
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 06.04.2009 11:16
Titel
|
|
|
Wenn du keine neue Zeile nach drei Spalten einfügst, wieso sollte da irgendetwas in Zeilen unterteilt werden?
|
|
|
|
|
Anzeige
|
|
|
DeathBoy
Threadersteller
Dabei seit: 06.04.2009
Ort: Ebersdorf b. Coburg
Alter: -
Geschlecht: -
|
Verfasst Mo 06.04.2009 11:29
Titel
|
|
|
m hat geschrieben: | Wenn du keine neue Zeile nach drei Spalten einfügst, wieso sollte da irgendetwas in Zeilen unterteilt werden? |
sozusagen fehlt der zeilenumbruch, stimmts?
nur wo füge ich den ein?
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 06.04.2009 12:05
Titel
|
|
|
Code: | <tr>
<td>1</td><td>2</td><td>3</td>
</tr> |
... ist das Markup welches du erreichen möchtest oder sehe ich das falsch?
Code: | $c = 3;
$i = 0;
for( ... ) {
if( $i % $c == 0 ) {
echo "<tr>";
}
echo "<td>x</td>";
if( $i % $c == $c-1 ) {
echo "</tr>";
}
$i++;
} |
http://www.google.de/search?q=modulo+operator
|
|
|
|
|
DeathBoy
Threadersteller
Dabei seit: 06.04.2009
Ort: Ebersdorf b. Coburg
Alter: -
Geschlecht: -
|
Verfasst Mo 06.04.2009 12:34
Titel
|
|
|
m hat geschrieben: | Code: | <tr>
<td>1</td><td>2</td><td>3</td>
</tr> |
... ist das Markup welches du erreichen möchtest oder sehe ich das falsch?
|
ja genau, und darunter soll sich das ganze dann so oft wiederholen bis keine datensätze mehr da sind!
Zuletzt bearbeitet von m am Mo 06.04.2009 12:35, insgesamt 1-mal bearbeitet
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 06.04.2009 12:36
Titel
|
|
|
Ja, dann schau dir mein Beispiel an
|
|
|
|
|
DeathBoy
Threadersteller
Dabei seit: 06.04.2009
Ort: Ebersdorf b. Coburg
Alter: -
Geschlecht: -
|
Verfasst Mo 06.04.2009 12:47
Titel
|
|
|
@m
hab das mal angepasst mit deinen code. immer noch das selbe problem!
code:
Code: | <!-- HAUPTINHALT HIER REIN -->
<h1 class="decay">:: Meine Videos</h1>
<br>
<table border="1" width="100%">
<?php
// URL angabe zur auszulesenden Datei (XML)
$URL = "htURL HIER REIN";
// mit CURL erstmal alles ins System laden
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $URL);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
curl_close($curl);
// das ganze mit SimpleXMLElement parsen
$xml = new SimpleXMLElement($data);
// FOREACH-Schleife zum wiederholten einlesen + Pfad abkürzen zu "$movie"
foreach($xml->myvideo->movie_list->movie as $movie) {
// $daten mit der Variable ersetzen in der Du die gesamten Daten hast. Die werden gezählt damit.
$anzahl = count($movie);
// Wieviele Datensätze möchtest Du in einer Reihe? Im Bsp 3.
$prospalte = 3;
// Hier wird berechnet wieviel Reihen wir brauchen, ceil rundet das Ergebnis.
$reihen = ceil($anzahl/$prospalte);
//Hilfszähler
$anz = 0;
//Nun geht das Zählen und die Ausgabe los
for($r = 0; $r < $reihen ; $r++){
$anz = $r;
for($s = 0; $s < $prospalte; $s++){
echo "<tr>";
}
echo "<td>";
echo "<a href=\"$movie->movie_url;\">LINK ZUM VIDEO</a>";
echo "</td>";
}
if( $s % $prospalte == $prospalte-1 ) {
echo "</tr>";
}
$s++;
}
?>
</table>
<!-- HAUPTINHALT ENDE --> |
siehe hier: http://www.deathboy.de/myvideos.php
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 06.04.2009 12:54
Titel
|
|
|
Du hast die Variablen zum zählen innerhalb der Schleife deklariert, das muss aber zuvor schon passieren.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Flash/ Frage 2 Div's überlappen mit jeweils 2 swfs
Parsen von datei php
XML mit Javascript parsen
xml laden und parsen in *.as
[php] Möglichkeiten php-Ausgaben in html Website einzubauen
[PHP]Problem bei Parsen vom XML-Daten
|
|