mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 12:58 Benutzername: Passwort: Auto-Login

Thema: PHP -> XML Parsen - Pro Zeile jeweils 3 Ausgaben! vom 06.04.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP -> XML Parsen - Pro Zeile jeweils 3 Ausgaben!
Seite: 1, 2  Weiter
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!

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 06.04.2009 11:16
Titel

Antworten mit Zitat Zum Seitenanfang

Wenn du keine neue Zeile nach drei Spalten einfügst, wieso sollte da irgendetwas in Zeilen unterteilt werden? *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
DeathBoy
Threadersteller

Dabei seit: 06.04.2009
Ort: Ebersdorf b. Coburg
Alter: -
Geschlecht: -
Verfasst Mo 06.04.2009 11:29
Titel

Antworten mit Zitat Zum Seitenanfang

m hat geschrieben:
Wenn du keine neue Zeile nach drei Spalten einfügst, wieso sollte da irgendetwas in Zeilen unterteilt werden? *zwinker*


sozusagen fehlt der zeilenumbruch, stimmts?
nur wo füge ich den ein?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 06.04.2009 12:05
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
DeathBoy
Threadersteller

Dabei seit: 06.04.2009
Ort: Ebersdorf b. Coburg
Alter: -
Geschlecht: -
Verfasst Mo 06.04.2009 12:34
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 06.04.2009 12:36
Titel

Antworten mit Zitat Zum Seitenanfang

Ja, dann schau dir mein Beispiel an Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
DeathBoy
Threadersteller

Dabei seit: 06.04.2009
Ort: Ebersdorf b. Coburg
Alter: -
Geschlecht: -
Verfasst Mo 06.04.2009 12:47
Titel

Antworten mit Zitat Zum Seitenanfang

@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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 06.04.2009 12:54
Titel

Antworten mit Zitat Zum Seitenanfang

Du hast die Variablen zum zählen innerhalb der Schleife deklariert, das muss aber zuvor schon passieren.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ä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
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
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.