SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 05.04.2009, 13:19:13
DeathBoy DeathBoy ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 40
Beiträge: 1
[XML] Zählen per FOR-Schleife funktioniert nicht!?!

Hi,
will per einen Link den ich von myvideo bekommen habe eine XML Datei von denen ausgeben. Auf der XML Datei sind meine Videos von meinen Account aufgelistet. Möchte das die Videos automatisch auch auf meiner HP erscheinen die ich bei myvideo hochlade!

hier mal meine myvideos.php, diese datei soll die videos auslesen und auf meiner homepage ausgeben:

direktlink: http://www.deathboy.de/myvideos.php
link über die hp: http://www.deathboy.de/index.php?show=myvideos
inhalt:
PHP-Code:
<!-- HAUPTINHALT HIER REIN -->
    <h1 class="decay">:: Meine Videos</h1>
<br>

<table border="1">
 <tr border="1">
<?php
// URL angabe zur auszulesenden Datei (XML)
$URL "GEHEIM DA IN DER URL GEHEIME ID´s STEHEN";

// mit CURL erstmal alles ins System laden
$curl curl_init();

curl_setopt ($curlCURLOPT_URL$URL);
curl_setopt($curlCURLOPT_RETURNTRANSFER1);

$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?
$reihen 3;
// Hier wird berechnet wieviel Reihen wir brauchen, ceil rundet das Ergebnis.
$prospalte ceil($anzahl/$reihen);
//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){
?>

<td>
<a href="<? echo $movie->movie_url[$anz]." "; ?>"><? echo $movie->movie_title[$anz]." "; ?></a><br>
<a href="<? echo $movie->movie_url[$anz]." "; ?>"><img height="95" width="150" src="<? echo $movie->movie_thumbnail[$anz]." "; ?>" class="border"></a>
</td>

<?
}
 }
  }
    }
echo "</tr>";
echo "</table>";
?>
<!-- HAUPTINHALT ENDE -->
um zu vermeiden das meine tabellen auf der homepage gesprengt werden möchte ich gerne pro reihe nur 3 thumbnais angezeigt bekommen, und dann weitere in der nachsten reihe.....usw. leider bekomme ich das aber nicht hin. vielleicht hat mal jemand zeit meinen code zurchzuschauen. wäre echt dankbar!!!

dank
gruß mike
Mit Zitat antworten
  #2  
Alt 05.04.2009, 20:06:58
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: [XML] Zählen per FOR-Schleife funktioniert nicht!?!

Wieso machst du es dir so umständlich?
Bin von vollgendem Inhlat deiner XML ausgegangen.
HTML-Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<videos>
 <myvideo>
  <movie_list>
   <movie>
    <movie_url>url_1</movie_url>
    <movie_title>title_1</movie_title>
    <movie_thumbnail>thumb_1</movie_thumbnail>
   </movie>
   <movie>
    <movie_url>url_2</movie_url>
    <movie_title>title_2</movie_title>
    <movie_thumbnail>thumb_2</movie_thumbnail>
   </movie>
   <movie>
    <movie_url>url_3</movie_url>
    <movie_title>title_3</movie_title>
    <movie_thumbnail>thumb_3</movie_thumbnail>
   </movie>
   <movie>
    <movie_url>url_4</movie_url>
    <movie_title>title_4</movie_title>
    <movie_thumbnail>thumb_4</movie_thumbnail>
   </movie>
   <movie>
    <movie_url>url_5</movie_url>
    <movie_title>title_5</movie_title>
    <movie_thumbnail>thumb_5</movie_thumbnail>
   </movie>
   <movie>
    <movie_url>url_6</movie_url>
    <movie_title>title_6</movie_title>
    <movie_thumbnail>thumb_6</movie_thumbnail>
   </movie>
   <movie>
    <movie_url>url_7</movie_url>
    <movie_title>title_7</movie_title>
    <movie_thumbnail>thumb_7</movie_thumbnail>
   </movie>
   <movie>
    <movie_url>url_8</movie_url>
    <movie_title>title_8</movie_title>
    <movie_thumbnail>thumb_8</movie_thumbnail>
   </movie>
  </movie_list>
 </myvideo>
</videos>
Also sollte es so funktionieren. Zumindest tut es das bei der o.g. xml
PHP-Code:
<?php
// URL angabe zur auszulesenden Datei (XML) 
$URL "GEHEIM DA IN DER URL GEHEIME ID´s STEHEN"

// mit CURL erstmal alles ins System laden 
$curl curl_init(); 

curl_setopt ($curlCURLOPT_URL$URL); 
curl_setopt($curlCURLOPT_RETURNTRANSFER1); 

$data curl_exec($curl); 
curl_close($curl); 
$xml = new SimpleXMLElement($data);
$movie $xml->myvideo->movie_list->movie;
$mengVid count($movie);
//Anzahl der gewünschten Spalten
$maxZeil 6;
//berechnen der benötigten Zeilenmenge
$maxZeilen $mengVid/$maxZeil;
if(
is_float($maxZeilen)) {
    
$check =  round($maxZeilen,0);
    if(
$check $maxZeilen) {
        
$maxZeilen round($maxZeilen,0)+1;
    } else {
        
$maxZeilen round($maxZeilen,0);
    }
}
$minZeil $maxZeil*$maxZeilen-$mengVid;  //Menge der benötigten TD's

$num 1;
echo 
'<table><tr>';
for(
$i=0;$i<$mengVid;$i++) {
    echo 
'<td>'.$movie[$i]->movie_title.'<br><a href="'.$movie[$i]->movie_url.'" title="'.$movie[$i]->movie_title.'"><img height="95" width="150" src="'.$movie[$i]->movie_thumbnail.'" class="border" /></a></td>'."\n";
    if((
$num === $maxZeil) and (($i+1)/$num $maxZeilen)){
        echo 
'</tr><tr>'."\n";
        
$num=0;
    }
    
$num++;
}
//zusatzliche TD's schreiben, wenn die Zeile nicht vollständig gefüllt ist
if($minZeil >0) {
    for(
$zus=0;$zus<$minZeil;$zus++) {
        echo 
'<td></td>';
    }
}
echo 
'</tr></table>';
?>

Geändert von urvater (05.04.2009 um 21:23:19 Uhr) Grund: noch mal erweitert, da die Tabelle nicht komplett gefüllt wurde
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Links zählen - Problem mit While Schleife Rick11 PHP für Fortgeschrittene und Experten 7 10.07.2008 19:05:57
fdf-Dateien abspeichern - Wie funktioniert das?????? Tina585 PHP Grundlagen 0 26.06.2008 23:19:22
Bildupload funktioniert lokal, online aber nicht 8805-evergreen. PHP Grundlagen 11 09.02.2006 15:55:48
Absätze in einer Textdatei zählen. C@$ToR PHP Grundlagen 4 07.02.2006 20:05:56
TXT-Datei splitten, funktioniert nicht mit Leerstellen BenjaminG PHP Grundlagen 11 29.06.2005 17:08:04


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:04:10 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt