[PHP + MySQL] Abfrage gibt nur einen Wert aus

Sn4ke16

Mitglied
Hi liebe Community,

ich habe mal wieder ein kleines Problem, mit einer MySQL Abfrage und Ausgabe. Im Prinzip ein ganz Simples Script. 1. Abfrage übergibt jede User_ID der in der Benutzergruppe "x" ist. 2. Abfrage übergibt die Profil_ID von jedem User. Die 3. Abfrage gibt dann letztendlich Profil-Daten aus.

Folgendermaßen sieht das Script aus:

team.php
PHP:
echo '<table width="100%">';
		$sql = "SELECT * FROM user_ref_team WHERE (team = '".$_GET['id']."')";
		$query = mysql_query($sql, $con);
		while ($data = mysql_fetch_array($query)) {
			$sql = "SELECT * FROM user_ref_profil WHERE (user = '".$data['user']."')";
			$query = mysql_query($sql, $con);
			$check = mysql_fetch_array($query);
			$sql = "SELECT * FROM user_profil WHERE (id = '".$check['profil']."') ORDER BY anzeige DESC";
			$query = mysql_query($sql, $con);
			$row = mysql_fetch_array($query);
			echo '<tr>';
			echo '<td class="content" width"200" align="center"><a href="?content=profil&action=show&id='.$row['id'].'"><img src="Bilder/user/'.$row['image'].'" border="0" width="100" height="130"></a></td>';
			echo '<td class="content" valign="bottom"><a href="?content=profil&action=show&id='.$row['id'].'"><br><span style="font-size: 25px; font-weight: bold;">'.$row['anzeige'].'</span></a><br><br>';
			echo '<span class="news_author">';
			if (logged_in()) {
				if (logged_in() && $check['profil'] !== $profili) {
					echo '<a href="?content=usergb&action=show&id='.$row['id'].'">&bull; '.$row['anzeige'].'\'s G&auml;stebuch</a><br>';
					echo '<a href="?content=message&action=new&id='.$row['id'].'">&bull; '.$row['anzeige'].' eine PM schreiben</a><br>';
					echo '<a href="?content=profil&action=add&id='.$row['id'].'">&bull; '.$row['anzeige'].' als Freund hinzuf&uuml;gen</a><br>';
					if (logged_in() && mainadmin()) {
					echo '<a href="?content=userright&id='.$row['id'].'">&bull; '.$row['anzeige'].' zu einer Benutzergruppe hinzuf&uuml;gen</a><br>';
					}
				}
			}
			echo '</span>';
			echo '</td>';
			echo '</tr>';
		}
		echo '</table>';

Ich habe das Script schon mit etlichen Varianten ausprobiert, und anderer Abfrage Variante usw.. Die jetzige Lösung scheint mir im Prinzip am sinnvollsten, allerdings gibt diese nur "einen" User aus, dabei sind sehr viel mehr User in dieser Benutzergruppe =(

Ich hoffe ihr könnt mir da helfen.
Liebe Grüße, Sn4ke16
 
Zusaetzlich zum von Deluxe gefundenen Fehlers gibt es auch noch etwas unnuetzen Code:
PHP:
            if (logged_in()) { 
                if (logged_in() && $check['profil'] !== $profili) { 
                    echo '<a href="?content=usergb&action=show&id='.$row['id'].'">&bull; '.$row['anzeige'].'\'s G&auml;stebuch</a><br>'; 
                    echo '<a href="?content=message&action=new&id='.$row['id'].'">&bull; '.$row['anzeige'].' eine PM schreiben</a><br>'; 
                    echo '<a href="?content=profil&action=add&id='.$row['id'].'">&bull; '.$row['anzeige'].' als Freund hinzuf&uuml;gen</a><br>'; 
                    if (logged_in() && mainadmin()) { 
                    echo '<a href="?content=userright&id='.$row['id'].'">&bull; '.$row['anzeige'].' zu einer Benutzergruppe hinzuf&uuml;gen</a><br>'; 
                    } 
                } 
            }
Du brauchst innerhalb des Blocks nicht nochmal auf logged_in() zu pruefen, das ist ja bereits Bedingung um ueberhaupt in den Block zu gelangen.
 
Du brauchst innerhalb des Blocks nicht nochmal auf logged_in() zu pruefen, das ist ja bereits Bedingung um ueberhaupt in den Block zu gelangen.

Hatte ich vergessen zu entfernen, danke das du mich dran erinnerst ;-)

In der zweiten Zeile deiner while-Schleife überschreibts du die Variable $query. :)

Ich hab die $query Variablen in der while-Schleife ganz einfach umbenannt, dennoch funktioniert das Script nicht wie es soll. Es wird weiterhin nur "ein"(1) User ausgegeben

EDIT: Hat sich erledigt, habs hinbekommen. Hatte da noch einen "Schreibfehler" ^^

Vielen Dank für die Hilfe

/*closed*/
 
Zuletzt bearbeitet:
Zurück