Antworten auf deine Fragen:
Neues Thema erstellen

Thumbnails löschen

rey

Der Frager ;)

hi,
ich arbeite gerade ein Kapitel in einem php Buch durch. Es geht um die Programmierung einer Galerie.
Die Bilder werden anhand eines Uploadscripts hochgeladen und in den Ordner verschoben,
anschließen werden die thumbnails in einem Unterordner generiert, wenn dies alles geschehen ist, wird das ganze nun noch in die DB geschrieben.
Nun kann es ja sein das man das ein und andere Bilde irgendwann löschen möchte, daher benötigt man natürlich ein Script welches dieses ermöglicht, um nicht via phpMyAdmin dies machen zu müssen, da hänge ich.
Das Script ist eigentlich gut verständlich.
Das Problem dabei ist das die thumbnails nicht dargestellt werden, obwohl der Name im array enthalten ist.
PHP:
<html>
<head>
<title>Bilder l&ouml;schen
</title>
</head>
<body>
<?php
include("config.php");
function felder_array($query)
{
settype($felder,"array");
$result=mysql_query($query);
$y= mysql_num_rows($result);
$k=mysql_num_fields($result);

  for ($i=0; $i<$y; $i++)
  {
    for($j=0;$j<$k;$j++)
    {
      $felder[$i][mysql_field_name($result,$j)]= mysql_result($result,$i,mysql_field_name($result,$j));
     }
  }
return $felder;
}
?>
<?php
$ausgabe = felder_array("SELECT id,thumb FROM bilder");
$y=count($ausgabe);

?>
<h2>Bilder l&ouml;schen</h2>
<table width="760" cellspacing="0">
<?php
for ($i=0; $i<$y;$i+=4)
{
?>
<tr>
<td width="20%" valign="top">
<?php
if($ausgabe[$i][$thumb]){
?>
<a href="entfernen.php?id=<?php echo urlencode($ausgabe[$i][id])?>"
<img src="<?php echo "gal_imgs/thumb/".$ausgabe[$i][$thumb] ?>" border="0" />
<?php 
}
?>
</a>
</td>
<td width="20%" valign="top">
<?php 
if($ausgabe[$i+1][$thumb]) {
?>
<a href="entfernen.php?id=<?php echo urlencode($ausgabe[$i+1][$id])?>">
<img src="<?php echo "gal_imgs/thumb/".$ausgabe[$i+1][$thumb] ?>" border ="0" />
<?php
}
?>
</a>
</td>
<td width="20%" valign="top">
<?php 
if($ausgabe[$i+2][$thumb]) {
?>
<a href="entfernen.php?id=<?php echo urlencode($ausgabe[$i+2][$id])?>">
<img src="<?php echo "gal_imgs/thumb/".$ausgabe[$i+2][$thumb] ?>" border ="0" />
<?php
}
?>
</a>
</td>
<td width="20%" valign="top">
<?php 
if($ausgabe[$i+3][$thumb]) {
?>
<a href="entfernen.php?id=<?php echo urlencode($ausgabe[$i+3][$id])?>">
<img src="<?php echo "gal_imgs/thumb/".$ausgabe[$i+3][$thumb] ?>" border ="0" />
<?php
}
?>
</a>
</td>
</tr>
<tr>
<td colspan="4">&nbsp;</td>
</tr>
<?php
}
?>
</table>
</body>
</html>
 
Zuletzt bearbeitet:

beautyIAF

I like HDR

AW: Thumbnails löschen

Wird $thumb auch mit z.B. thumbnail1.jpg gefüllt? Da könnte der eventuelle Fehler liegen, weshalb nichts angezeigt wird.

Ansonsten hast du ja in deinem Script den Pfad hinterlegt, unter dem die Thumbs gefunden werden, dann einfach noch die entsprechende Menge Checkboxen davor gesetzt und schon kannst du wählen, welche Thumbs alle gelöscht werden sollen..
 

rey

Der Frager ;)

AW: Thumbnails löschen

ja da wird der komplette Name des Thumbnails gespeichert.
Aber ob der "." soviel ausmacht.
habe es auch mal ohne den Dateitypen versucht, also das in thumb nur thumb6 steht und nicht thumb6.jpg, bringt aber nichts.
 
Zuletzt bearbeitet:

beautyIAF

I like HDR

AW: Thumbnails löschen

Hast du dir denn den Quelltext schonmal angeschaut, der ausgegeben wird, wenn du dein Script aufrufst?
 

rey

Der Frager ;)

AW: Thumbnails löschen

ja der komplette if Inhalt wird nicht ausgegeben.
<tr>
<td colspan="4">&nbsp;</td>
</tr>
<tr>
<td width="20%" valign="top">
</a>
</td>
<td width="20%" valign="top">
</a>
</td>

<td width="20%" valign="top">
</a>
</td>
 
Zuletzt bearbeitet:

saila

Moderatorle

AW: Thumbnails löschen

Hi,

das ist relativ simple. Du lässt dir die Bilder ja irgendwo in einem Adminbereich ausgeben. Diese erhalten eine Checkbox als Array!

Mit dem auslösen des post (mit welchem die ID übergeben wird), kannst du dann das Bild

a) wenn Vorschaubild und Vollbild vorhanden als auch Upload-Bild, diese mit unlink(); löschen.
a) in dem Feld löschen per UPDATE SET feldname = '' WHERE id = x

Das war es schon.
 

rey

Der Frager ;)

AW: Thumbnails löschen

Danke.
Ich glaube das Problem ist nicht ganz richtig rüber gekommen.
Wie man die Dateien entfernt ist mir bewusst.
Das Problem ist ein anderes.
Die Idee war die Bilder im Adminbereich anzuzeigen als thumbnails. Wenn man auf ein bild klickt wird ein weiteres Dokument aufgerufen indem der SQL Delete From... und der unlink befehl zu ihrer tat schreiten.
Was funktioniert nun nicht?
Die Vorschau also das anzeigen der Thumbnails im Adminbereich.
Wenn das Script funktionieren würde, würden 4 thumbnails Pro Zeile angezeigt.
Die Idee es mit Checkboxen ist natürlich auch nicht schlecht aber der Betrachter sollte ja sehen welches Bild er löscht und das ist eben dass was nicht geht. Die Übersicht der zu löschenden Bilder wird nicht Dargestellt.
 

saila

Moderatorle

AW: Thumbnails löschen

Naja, das sagte ich ja bereits. Du musst ein input-tag (z.B.: checkbox) hinzufügen. Auf jeden Fall würde ich da ein post ansetzen und keine GET-Parameter. Das kann man - je nach Sicherheit von aussen alles löschen ;) (sofern per GET-Parameter).

Wenn du eine Checkbox verwendest:
Code:
<input type="checkbox" name="id[imageid]" value="imageid" />

kannst du über die Verarbeitung das Bild in der DB entsprechend ID anpassen und per unlink() löschen.

Wenn du das per LINK also mit GET-Parametern vornehmen möchtest, musst du natürlich die ID übereben, danach ein SELECT auslösen, welcher den Bildnamen liefert. Danach unlink() und danach DB-Feld anpassen per UPDATE.
 

netbandit

Aktives Mitglied

AW: Thumbnails löschen

Mach doch mal eine Testausgabe, nur vom Array mit Schlüsseln, dann weißt Du auch warum Deine If-Abfragen nicht erfüllt werden ;)

Btw. Glückwunsch /oder Beileid saila zum Modposten :D
 
Zuletzt bearbeitet:

saila

Moderatorle

AW: Thumbnails löschen

Mach doch mal eine Testausgabe, nur vom Array mit Schlüsseln, dann weißt Du auch warum Deine If-Abfragen nicht erfüllt werden ;)

Btw. Glückwunsch /oder Beileid saila zum Modposten :D

Danke - jetzt gibbed aber an Silverster auch einen Thread hier mit Glückwünschen :D der nicht gelöscht wird
 

Chriss1987

me.drinkCoffee();

AW: Thumbnails löschen

Hi,

was steht denn im Array, wenn du es dir mit:
PHP:
echo "<pre>";
print_r($ausgabe);
echo "</pre>";
ausgeben lässt?

Schöne Grüße aus dem Sauerland!
Chriss
 

rey

Der Frager ;)

AW: Thumbnails löschen

da bekomme ich natürlich die Inhalte des arrays wiedergegeben.
Die arrays sind vorhanden deshalb verstehe ich nicht wieso es, es bei der if Bedingung nicht durchlässt denn der array hat ja Inhalt und ist nicht leer.
Array
(
[0] => Array
(
[id] => 10
[thumb] => tn9.jpg
)

[1] => Array
(
[id] => 1
[thumb] => tn1.jpg
)

[2] => Array
(
[id] => 3
[thumb] => tn7.jpg
)

[3] => Array
(
[id] => 2
[thumb] => tn5.jpg
)

)
Ok habe die Fehler gefunden.

$thumb muss natürlich nur thumb heißen und $id nur id da das ja die Felder Namen im array sind ;)
Solche Fehler sind echt ärgerlich.
Was ich mich aber Frage ist, wieso du@saila sagst ich solle UPDATE machen.
DELETE FROM ist doch richtiger, was möchte ich mit einer leeren Zeile ;)
 
Zuletzt bearbeitet:

saila

Moderatorle

AW: Thumbnails löschen

da bekomme ich natürlich die Inhalte des arrays wiedergegeben.
Die arrays sind vorhanden deshalb verstehe ich nicht wieso es, es bei der if Bedingung nicht durchlässt denn der array hat ja Inhalt und ist nicht leer.

Ok habe die Fehler gefunden.

$thumb muss natürlich nur thumb heißen und $id nur id da das ja die Felder Namen im array sind ;)
Solche Fehler sind echt ärgerlich.
Was ich mich aber Frage ist, wieso du@saila sagst ich solle UPDATE machen.
DELETE FROM ist doch richtiger, was möchte ich mit einer leeren Zeile ;)

Weil es ja sein kann, dass mehrere Bilder oder auch noch Text (was eine nicht normalisierte Tabelle darstellen würde) in der Tabelle ist und somit sich also ein UPDATE statt DELETE ergeben würde. Wenn es sich allerdings um nur ein Bild handelt, kann man auch löschen. Andererseits - du hast ja für etwas eine ID vergeben und über ein UPDATE würdest du die Datenbank bzgl. dem hochzählen schonen und den belegten Platz könntest du später mit einem neuen Bild versehen anstatt eines kompletten Neueintrag in die Tabelle.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.066
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben