mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 20.04.2024 04:56 Benutzername: Passwort: Auto-Login

Thema: Problem mit kleiner Galerie in PHP vom 09.07.2004


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Problem mit kleiner Galerie in PHP
Autor Nachricht
micha_sw
Threadersteller

Dabei seit: 15.06.2004
Ort: L.E.
Alter: -
Geschlecht: Männlich
Verfasst Fr 09.07.2004 12:00
Titel

Problem mit kleiner Galerie in PHP

Antworten mit Zitat Zum Seitenanfang

hi Leute, ich baue grad ne BilderGalerie in php und hab folgenden Code bisher:

Code:
$pfad_info = pathinfo("index.php");
$mydir =$pfad_info["dirname"]."/images/";
$d = dir($mydir);
$count = 0;
while($entry=$d->read()) {     
   if (preg_match("/^.+\.(jpg|jpeg|gif|png)\$/U", $entry)) {   
     print($entry."<br>");
   }
}    
$d->close();

$handle=opendir($mydir);
while ($file = readdir ($handle)){
    if ($file != "." && $file != ".."){
      if(substr("$file", -4)==".jpg"){
        $count +=1;
      }
    }
}
closedir($handle);
print $count;

//tabelle
   print ("<table>");   
   for(i;i>$count;i++){
      print ("<tr>")
      print ("<td>")   
      
         
      
      print ("<td>")
      print ("<tr>")   
   }   
   print ("</table>");


Folgende Probleme:

1. bei der for Schleife kommt ´n fehler :Parse error: parse error, unexpected T_INC, expecting ')' in C:\...
- warum? - habsch da wat übersehen? Menno!

2. wie bekomme ich das hin, dass mir in der Schleife mir anhand der Bilderanzahl Spalten / Zeilen gebaut werden?

Vielen Dank soweit schon mal Lächel
  View user's profile Private Nachricht senden
Sarky

Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht: Männlich
Verfasst Fr 09.07.2004 12:05
Titel

Re: Problem mit kleiner Galerie in PHP

Antworten mit Zitat Zum Seitenanfang

Zu Problem 1:

Code:

for ($i = 0; $i > $count; $i++)
{
   echo "<tr>";
   echo "<td>";
            
   echo "</td>";
   echo "</tr>";   
}   


Variablen tragen ein $ vor ihrem Identifier, wie in dem Rest Deines Codes oben.

Statt print() solltest Du zudem echo verwenden.


Zuletzt bearbeitet von Sarky am Fr 09.07.2004 12:10, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Fr 09.07.2004 12:08
Titel

Antworten mit Zitat Zum Seitenanfang

natürlich funktioniert das nicht...
erstmal würde ich dem i einen initialwert mitgeben und zum anderen beginnen variablen in php mit einem dollarzeichen.
falsch:
Code:
for(i;i>$count;i++)

richtig:
Code:
for($i=0;$i>$count;$i++)


und bevor du dann mit der nächsten fehlermeldung ankommst: anweisungen müssen in php mit einem semikolon beendet werden!
diese zeilen werden alle mit einem fehler enden:
Code:
print ("<tr>")


was oder ob sonst noch was falsch ist, habe ich nicht geschaut...
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Fr 09.07.2004 12:16
Titel

Antworten mit Zitat Zum Seitenanfang

und zur zweiten frage:
verstehe nicht, wie du das meinst...
du hast die anzahl der bilder doch in der variablen $count und du baust die tabelle doch mit deiner for-schleife anhand der bilderanzahl...
was genau meinst du? sowas wie nur vier bilder in einer row?
kein problem, dann baust du da halt noch eine zweite for-schleife mit rein. die kannst du problemlos verschachteln:
Code:
for($i=0;$i<$count;$i++)
{
   for ($j=0;$j<=$irgenwas;$j++)
      {
      }
 }


und wo ich das jetzt so tippe fällt mir auf, daß du in deiner schleife wohl das größer mit dem kleiner-zeichen verwechselt hast.


Zuletzt bearbeitet von rob am Fr 09.07.2004 12:18, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
impact

Dabei seit: 14.02.2004
Ort: vienna
Alter: -
Geschlecht: Männlich
Verfasst Fr 09.07.2004 12:24
Titel

Antworten mit Zitat Zum Seitenanfang

also eben mal abgesehen von der teilweise falschen syntax:

wenn du spalten und reihen aufgrund der bilderanzahl erstellen möchtest, solltest du mit 2 schleifen arbeiten.

Dabei erzeugt die erste Schleife die Reihe, und in der 2. Schleife machst du dannd die Spalten.
Dazu musst du mal ermitteln wieviele Bilder denn pro Reihe angezeigt werden sollen:

$picsPerRow = Anzahl_der_bilder_pro_reihe;

dann kannste dir die Anzahl der Reihen errechnen:

$rows = $count / $picsPerRow (da solltes du aber mit ner MOD Funktion arbeiten, denn sonst kanns passieren, dass ein paar Bilder geschluckt werden. Sprich 4,3 heisst für dich 5 Reihen, aber einfach nach ner Funktion suchen.

dann noch ne counter variable initialisieren, damit du mitzählen kannst und notfalls zellen auffüllen kannst;
$displayPic = 0;

for($i=0;$i<$rows;$i++)
{
echo("<tr>");
for($j=0;$j<$picsPerRow;$j++)
{
$displayPic++;
echo("<td>");
if($displayPic<$count)
{
echo("Hier dein Bild anzeigen");
}
else
{
echo("&nbsp;");
}
echo("</td>");
}
echo("</tr>");
}
  View user's profile Private Nachricht senden
micha_sw
Threadersteller

Dabei seit: 15.06.2004
Ort: L.E.
Alter: -
Geschlecht: Männlich
Verfasst Fr 09.07.2004 12:26
Titel

Antworten mit Zitat Zum Seitenanfang

Alles klar, die pobligen Fehler *Huch* von mir hasch gemacht .

danke für die Tips Leute - danke danke danke!!! * Ich bin unwürdig *

ich bastle mal...

micha_sw


Zuletzt bearbeitet von micha_sw am Fr 09.07.2004 12:27, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen Problem mit JS-Galerie
Problem mit der 4images Galerie
Problem mit Foto Galerie
Galerie Problem..Bitte helft mir
DMS Galerie
PDF Galerie
Neues Thema eröffnen   Neue Antwort erstellen
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.