php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
galeriescript gibt merkwürdigen code aus


 
kannstehaben
10-02-2007, 17:21 
 
Halli Hallo,
ich habe ein probem mit meinem Galeriescript( ich weiß,ist kein neues Thema ). ich poste einfach mal den code:


<?php
$id = $_GET['id'] +0;
$sql = "SELECT
Name,
Datum,
FROM
galerien,
WHERE
ID = $id";
//den datensatz auslesen wo die id die ist die über get
//übergeben wurde
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
echo '<h2>'.$row['Datum'].':'.$row['Name'].'</h2>';

//dateinamen auslesen und in die db speichern

$dir = 'C:/Programme/xampp/htdocs/testpage/thumbs';
$file = scandir($dir);
//dateinamen stehen im arraY $file

//so hier muss mit schleife jeder dat-name in die db
//gespeichert werden
for($i=2;$i<COUNT($file)-2;$i++) {
$sql= 'INSERT INTO pictures
(file, galerie_ID)
VALUES
("'.$file[$i].'",
"'.$id.'")';

mysql_query($sql) OR die(mysql_error());
}

//thumbs ausgeben
$sql = "SELECT
ID,
file,
galerie_ID
FROM
pictures
WHERE galerie_ID = $id";
$result = mysql_query($sql) OR die(mysql_error());
$anzahl = mysql_num_rows($result);
echo " <table cellpadding=\"0\" cellspacing=\"0\" class=\"galerie_thumb\">\n";
$j=0;
while ($j<$anzahl) {
$row = mysql_fetch_array($result);
if ($j==0 || $j%4==0)
echo "<tr>\n";
echo "<td><img src=\"thumbs/".$row['file']."\"></td>\n";
$j++;

if ($j%4==0)
echo "<tr>\n";
}
echo"</table>\n";
?>



So. Fehlermeldungen gibt es keine. Die Sache ist die, dass im Quelltext lauter irres Zeug angezeigt wird:

<tr>
<td><img src="thumbs/"></td>
<td><img src="thumbs/"></td>
<td><img src="thumbs/"></td>
<td><img src="thumbs/"></td>
<tr>
<tr>
<td><img src="thumbs/Array"></td>
<td><img src="thumbs/Array"></td>
<td><img src="thumbs/Array"></td>
<td><img src="thumbs/Array"></td>
<tr>
<tr>
<td><img src="thumbs/Array"></td>
<td><img src="thumbs/Array"></td>
<td><img src="thumbs/Array"></td>
<td><img src="thumbs/Array"></td>

<tr>
oder dann halt auch Thumbs richtig angezeigt werden:
<tr>
<td><img src="thumbs/PICT3949.JPG"></td>
<td><img src="thumbs/PICT3951.JPG"></td>
<td><img src="thumbs/PICT3952.JPG"></td>
<td><img src="thumbs/PICT3953.JPG"></td>
<tr>

außerdem werden die thumbs alle komplett 8mal angezeigt,danach wird das bild im browser schwarz:eek:

ich hoffe ihr könnt mir helfen
kannstehaben

 
Bertchen
10-02-2007, 17:41 
 
jo da haste nen echtes problem^^

ja ich hab von sowas ja noch weniger ahnung als du;)

hab ma versucht das zu lernen hab dann eirgendwann aufgehört (keine zeit kein bock usw.)

:rocks: :rocks:

 
Crake
10-02-2007, 19:17 
 
while ($j<$anzahl)
{
$row = mysql_fetch_array($result);
}

Dies solltest du abändern in:

while($row = mysql_fetch_array($result))
{
...
}

Die gewünschte mehrzeillige Ausgabe erreichst du dann beispielsweise wie folgt:


$entries_per_line = 0;

while($row = mysql_fetch_array($result))
{
if(($entries_per_line / 2) > 1)
{
$output .= '</tr><tr>';
$entries_per_line = 0;
}

...

$entries_per_line++;
}

 
kannstehaben
10-02-2007, 20:15 
 
ich habe den code jetzt wie vorgeschlagen umgeschrieben:


echo " <table cellpadding=\"0\" cellspacing=\"0\" class=\"galerie_thumb\">\n";
$entries_per_line = 0;
while ($row = mysql_fetch_array($result)) {
if(($entries_per_line / 3) > 1)
{
echo ' </tr><tr>';
$entries_per_line = 0;
}
echo '<td><img src="thumbs/' . $row['file'] . '" /></td>';
$entries_per_line++;
}

echo '</table>';

doch das Problem besteht weiterhin
gruß kannstehaben

 
kannstehaben
12-02-2007, 15:25 
 
ich bin den code jetzt schon was weiß ich wie oft durchgegangen und ich weiß einfachn nicht mehr was ich machen soll...kann mir denn keiner weiterhelfen?:confused:

 
Kropff
12-02-2007, 15:34 
 
if ($entries_per_line % 4 == 0) echo '<tr>';
echo '<td><img src="thumbs/' . $row['file'] . '" /></td>';
if (($entries_per_line + 1) % 4 == 0) echo '</tr>';


peter

 
penizillin
12-02-2007, 15:35 
 
bzw. </tr>

 
kannstehaben
12-02-2007, 19:11 
 
Hallo
Ich habe heute Nachmittag das Problem dank eines netten Bekannten lösen können. Danke trotzdem für eure Mühe.;)

 
MrBusty
12-02-2007, 21:28 
 
Original geschrieben von kannstehaben
Hallo
Ich habe heute Nachmittag das Problem dank eines netten Bekannten lösen können. Danke trotzdem für eure Mühe.;)

Eventuell kannst du ja deine Lösung mal posten - falls jemand durch googlen auf diesen Thread stößt, würde es ihm eventuell weiterhelfen... ;)

 
kannstehaben
13-02-2007, 20:40 
 
Die Lösung des problems erscheint mir im nachhinein ganz simpel und logisch. Der Code der den Ordner mit den Bilddateinen ausliest ist in der gleichen Datei die auch dei thumbnails ausgeben soll. Daher kommen jedes mal wenn die Seite mit den Thumbnails aufgerufen wird Zeilen entsprechend der Bilder in der Datenbank hinzu. Das erzeugtdann natürlich sonen riesen Code-Haufen
gruß
kannstehaben


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:30 Uhr.