Avatarausgabe je User

Trancefreak

Mitglied
Mahlzeit
Habe heute versucht, das bei jedem User der Avatar angezeigt wird.
Soweit sogut jedoch wird mir immer nur der Avatar von User ID 1 angezeigt, egal bei welchen User.

Folgendes habe ich versucht:
PHP:
<?php 


		  $daten = array();
		  $i = 0;
		  $q = mysql_query("SELECT * FROM User");
		  while($details = mysql_fetch_assoc($q)){
		  	
			$daten[$i] = $details['ID'];
			$i++;
		  }
		  
		  $user0details = mysql_fetch_assoc(mysql_query("SELECT * FROM User WHERE ID='".$daten[0]."'"));
		  
		?>
Ausgabe via

<img src="http://www.tutorials.de/avatare/<?php echo $user0details['Avatar']; ?>" width="120" height="120">

Wo liegt mein Fehler?
 
Zuletzt bearbeitet von einem Moderator:
Du liest alle Daten in das Array $daten ein, doch in der Abfrage verwendest du immer nur $daten[0]. Somit kann ja auch immer nur der gleiche Wert rauskommen.
 
Habe eben noch probiert ob ich die ID aus der Aktuelle Session entnehmen kann.
PHP:
<?php 


		  $daten = array();
		  $i = 0;
		  $q = mysql_query("SELECT * FROM User");
		  while($details = mysql_fetch_assoc($q)){
		  	
			$daten[$i] = $details['ID'];
			$i++;
		  }
		  
		  $user0details = mysql_fetch_assoc(mysql_query("SELECT Avatar FROM User WHERE  id = '".$_SESSION['ID']."''"));		 
		?>
Jedoch ohne Ergebniss.
 
Zuletzt bearbeitet von einem Moderator:
Also wenn du in der SESSION-Variablen die ID des jeweiligen Usern speicherst, dann muss auch das Avatar von diesem User augegeben werden.

Stimmt denn der Wert von $_SESSION['ID'], stimmen die Namen der Bilder/Avatare, was wird ausgegeben wenn du var_dump($user0details); in die Datei schreibst?
 
Da gibt er NULL aus.
Die Avatar Namen aus der DB sind vorhanden und stimmen auch.
Habe ich vielleicht im Code einen Fehler womit er die nicht richtig aus der DB holt?
 
Abgesehen davon das mir nicht klar ist wozu du die WHILE-Schleife brauchst, ist in der SQL-Anweisung ein Fehler drin.

PHP:
...$_SESSION['ID']."''"));

Du hast am Ende 2 mal das einfache Anführungszeichen stehen!
 
Du brauchst doch keine zwei Abfragen, da du mit der ersten bereits alle Datensätze abfragst, wie wäre eine solche Lösung?

PHP:
$avatar = array();
$q = mysql_query("SELECT * FROM User");

while($details = mysql_fetch_assoc($q)){
    $avatar[$details['ID']] = $details['Avatar'];
}

Jetzt hast du alle Avatare von allen Usern im Array $avatar und kannst einfach mit
PHP:
$avatar[$MEINEID]
den jeweiligen Avatar ansprechen.
 
Mahlzeit
Die Lösung is ideal!
Habe statt der einzelnen ID nur noch die Session ID zur Automatischen zuordnung der Avatare rein und es funktioniert.
Vielen dank!
 
Zurück