Neben einem Thumbnail, weitere Bilder aus einer Datenbank anzeigen

SQL:
SELECT count(thumbnail) As anzahl FROM picture WHERE id = {$_SESSION['id']} AND thumbnail <> ''

Versuche es mal damit.
Hier werden nur die Datensätze zurückgeliefert die zum User gehören und bei denen in Feld "thumbnail" auch etwas (Dateiname) eingetragen ist.

Thomas,
was genau sagst du mit dem ersten Statement?:
SQL:
SELECT count(thumbnail) AS anzahl FROM picture WHERE id = {$_SESSION['id']} AND thumbnail <> ' '

Die Anzahl der Thumbnaileinträge AS.. was macht AS, was macht diese Abfrage genau? :)
"<>" entspricht "!=" ?

Gruß
Kerstin
 
Zuletzt bearbeitet von einem Moderator:
Ändere mal bitte in der upload.php (müsste Zeile 224 sein) diese Abfrage:

PHP:
$dsq="SELECT thumbnail, pic_id FROM picture WHERE id = {$_SESSION["id"]}";

wie folgt ab:

PHP:
$dsq="SELECT thumbnail, pic_id FROM picture WHERE id = {$_SESSION["id"]} AND thumbnail <> ''";

Bei mir werden dann die Bilder richtig angezeigt.

Noch was:
Du hast zumindest in fast jeder Datei verschiendene Konstanten deklariert. Alle mit dem gleichen Namen und alle mit dem gleichen Inhalt.
Da es sich hier um Pfadangaben handelt, stell dir mal vor was passiert wenn sich diese ändern! Du hast doch auch eine Datei die mit include überall eingebunden wird. Definiere die Konstanten doch besser einmal in dieser Datei, dann hast du sie auch überall zur Vefügung und musst sie aber nur einmal anpassen wenn es mal erforderlich ist.

Okay, werde ich sofort tun und das mit den Konstanten ist ein toller Hinweis, wird natürlich auch gleich übernommen, lieben Dank!
 
Du willst ja die Werte die zurückgegeben werden irgendwie auswerten und mit "count(thumbnail) AS anzahl" wird dieser Wert quasi als Feld mit dem Namen "anzahl" zurückgegeben.

SQL:
SELECT pic, thumbnail, count(thumbnail) AS anzahl, (1 + 2 + 3) as berechnung FROM picture

Gibt dir die Felder "pic", "thumbnail", "anzahl" und "berechnung" zurück.

"<>" bedeutet ungleich, im Beispiel hier soll es heißen "das Feld thumbnail ist ungleich dem Wert ''".
PHP nimmt "!=" in SQL geht das glaube ich auch. Aber es wird normalerweise "<>" geschrieben.
 
Hab die sql-anweisung angepasst, nach wie vor die gleiche anzeige. vielleicht schickst du mir deine version per mail , irgendwas muss bei mir ja dann nicht übereinstimmen.
Gruß
Kerstin

P.S.
Hätte niemals gedacht, dass ein paar Bilder anzeigen, sich so schwierig gestalten kann :(

Edit: Korrektur, die Anzeige hat sich geändert, aber der 2. Löschlink an erster Stelle ist nach wie vor vorhanden und blockiert somit auch die Möglichkeit, ein 4. normales Bild hochzuladen. Nachdem ich ein normales Bild hochgeladen habe, funktioniert es nicht mehr, ein Thumbnail upzuloaden.
 
Zuletzt bearbeitet:
Du bekommst gerade Post !

Ich bin ja auch blöd. Schicke dir die Dateien und entdecke gleich im Anschluss das ich noch was ändern muss damit es stimmt:

Wie immer die Upload, Zeile 19 usw.
PHP:
//bei dir
//$query ="SELECT count(pic) FROM `picture` WHERE picture.id = {$_SESSION['id']}";
//so ist es richtig
$query ="SELECT count(pic) FROM `picture` WHERE picture.id = {$_SESSION['id']} AND pic <> ''";
$result = do_mysql($query);
$anzahl = mysql_fetch_row($result);
if($anzahl[0] < 4)
 
Zuletzt bearbeitet:
Juhu sehr schön, das funktioniert ja schon fast, du bist wirklich klasse! :)
Wenn ich 1 Thumbnail hochlade, und dann zusäzlich 3 normale Bilder, sagt er mir, dass die maximale Anzahl von 4 Bildern erreicht ist, obwohl erst 3 normale Bilder hochgeladen wurden + ein Thumbnail und wenn ich ein Thumbnail hochgeladen habe, und anschließend erneut eins hochladen möchte, muss ich es vorher löschen und erst dann ist es mir möglich.

Gruß
Kerstin
 
Du bekommst gerade Post !

Ich bin ja auch blöd. Schicke dir die Dateien und entdecke gleich im Anschluss das ich noch was ändern muss damit es stimmt:

Wie immer die Upload, Zeile 19 usw.
PHP:
//bei dir
//$query ="SELECT count(pic) FROM `picture` WHERE picture.id = {$_SESSION['id']}";
//so ist es richtig
$query ="SELECT count(pic) FROM `picture` WHERE picture.id = {$_SESSION['id']} AND pic <> ''";

Danke, hab ich geändert! :) Jetzt bist du noch so lieb und buxierst mir das Thumbnail und das dazugehörige Dummy-Thumbnail nach ganz links und ermöglichst es mir, dass ich , wenn ich wiederholt auf Thumbnail upload klicke, dass das alte Thumnail gegen das Neue ausgetauscht wird und dann hast du für heute Ruhe von mir, versprochen! *lach*

Edit:

Okay, du bist schon gar nicht mehr online, dann muss ich dich später noch einmal nerven *hihi*

Gruß
Kerstin
 
Zuletzt bearbeitet:
Okay, du bist schon gar nicht mehr online, dann muss ich dich später noch einmal nerven *hihi*

Hatte Mittagspause und da melde ich mich immer ab damit kein anderer Dummheiten macht!

...buxierst mir das Thumbnail und das dazugehörige Dummy-Thumbnail nach ganz links...

Das verstehe ich jetzt nicht. Bei mir ist das Thumbnail und sein Dummy immer auf der linken Seite. Egal ob kein, ein oder auch mehrere Bilder übertragen wurden.

Damit das Thumbnail Bild geändert werden kann, ist ein bisschen mehr nötig:

PHP:
$query ="SELECT count(thumbnail) AS anzahl, pic_id FROM picture WHERE id = {$_SESSION['id']} AND thumbnail <> ''";
$result = do_mysql($query);

$anzahl = mysql_num_rows($result);

if ($anzahl != 0) {
	$pic_id = mysql_result($result, 0, "pic_id") .", ";
} else {
	$pic_id = "";
}

if (isset($_POST["thumb"]) and isset($_FILES['userfile2']['tmp_name']) and $_FILES['userfile2']['tmp_name'] != "")
{ /*AUF ZWEI*/

   $ausgabe = "";
   $filename2 = save_uploadT(UPLOADDIR,$_SESSION["id"]);
   /* --> 2 Möglichkeiten, Globale Systemvariablen auszugeben (z.B. $_SESSION) <-- */
   /*echo nl2br(print_r($_SESSION["id"],true));
   print_r($_SESSION["id"]);*/
    
   if($filename2)
   { /*AUF DREI*/
  /*    while(Bildname schon vorhanden) //
  		{ 
			Neues Bild vorm hochladen umbenennen.
		} */
			  $sql3="INSERT INTO picture (pic_id, id, thumbnail)
   	          VALUES ({$pic_id} {$_SESSION["id"]}, '$filename2') ON DUPLICATE KEY UPDATE thumbnail = '$filename2'";

Wichtig ist hierbei noch das die IF-Anweisung die du mit "AUF EINS" und "ZU EINS" gekennzeichnet hast komplett entfernt werden muss.
Zur Sicherheit bitte wieder deinen Briefkasten kontrollieren.
 
Halloooooo Thomas :) ja, werde gleich schauen gehen!
Mit dem Abmelden hast du wohl recht, sollte ich mir auch angewöhnen. Ich geh mal nach Post schauen.

Gruß
Kerstin

EDIT:
Thomas, das Thumbnail ist bei mir definitiv auf der rechten Seite ganz außen. Des Weiteren, habe ich beim uploaden des Thumbnails, nachdem ich ein normales Bild hochgeladen habe, folgende
Fehlermeldung:
SQL:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 1, '1285070518thumbindex.jpeg') ON DUPLICATE KEY UPDATE thumbnail = '128507051' at line 2
INSERT INTO picture (pic_id, id, thumbnail) VALUES (, 1, '1285070518thumbindex.jpeg') ON DUPLICATE KEY UPDATE thumbnail = '1285070518thumbindex.jpeg'
 
Zuletzt bearbeitet von einem Moderator:
Zurück