MySQL Daten filtern

PowerProgrammierer

Grünschnabel
Hallo Leute ich habe eine Frage und zwar will ich ein Webinterface für admins machen und ich habe volgenden colde zum anschauen meines profils in die index.php datei geschrieben:

PHP:
<?php
mysql_connect("localhost","root","root");
mysql_select_db("mcforum");

            $query = "SELECT * FROM user WHERE id!='".$id."'";
            $result = mysql_query($query) or die('Query failed: ' . mysql_error());
            
            while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
             echo "<a href='#' id='' class='' onClick='PofilOpen(\"".$line['id']."\", \"".$line['name']."\", \"".$line['nachname']."\", \"".$line['mail']."\", \"".$line['skype_name']."\", \"".$line['minecraft_name']."\", \"".$line['alter']."\", \"".$line['username']."\", \"".$line['admin']."\")'>Profil anzeigen</a> <br />"; ?>
            
         <?php    
            } 
        ?>


allerdings schreibt mir mein browser immer wieder ALLE user an die in der Datebank hinterlegt sind an.
Nun möchte ich gerne wissen, wie ich es schaffe das ich nur die profildaten bekommen von dem user der gerade eingelogtt ist.

LG Marco
Danke schon mal im voraus
 
Zuletzt bearbeitet von einem Moderator:
Ich denke, er gibt alle User aus ausser demjenigen der Session.
In deinem SQL steht WHERE id!=$id. Also alle die NICHT diese id haben.
 
Eigentlich eine ziemlich logische Angelegenheit.

Die Person die zurzeit eingeloggt hat, hat die aktuelle $_SESSION['id']
Wenn du nun den Eintrag zu dieser Person willst, musst du natürlich den Eintrag finden, wo die $_SESSION['id'] der ID des Benutzers entspricht.

SQL:
SELECT * FROM user WHERE id='".$id."'
Dein Fehler war folgendes:
Du hast alle Einträge gesucht, wo die ID nicht der SESSION entsprach, jedoch willst du genau den Eintrag, wo es so ist.
Statt != einfach == verwenden.
 
Zuletzt bearbeitet:
ok danke für alle eure antworten allerdings wenn ich meinen code nun ändere:

mysql_connect("localhost","root","root");
mysql_select_db("mcforum");

$query = 'SELECT * FROM user WHERE username = "{$username}"';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "<a href='#' id='' class='' onClick='PofilOpen(\"".$line['id']."\", \"".$line['name']."\", \"".$line['nachname']."\", \"".$line['mail']."\", \"".$line['skype_name']."\", \"".$line['minecraft_name']."\", \"".$line['alter']."\", \"".$line['username']."\", \"".$line['admin']."\")'>Profil anzeigen</a> <br />"; ?>

<?php

kommt auf der eigentlichen seite nicht der a tag Profil anzeigen****
warum nicht
 
Kann auch gar nicht gehen, da Variablen nur innerhalb von doppelten Anführungszeichen interpretiert werden:
PHP:
mysql_connect('localhost', 'root', 'root');
mysql_select_db('mcforum');

$query = 'SELECT * FROM user WHERE username = "' . $username . '"';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

while($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
  echo '<a href="#" id="" class="" onclick="PofilOpen(\'' . $line['id'] . '\', \'' . $line['name'] . '\', \'' . $line['nachname'] . '\', \'' . $line['mail'] . '\', \'' . $line['skype_name'] . '\', \'' . $line['minecraft_name'] . '\', \'' . $line['alter'] . '\', \'' . $line['username'] . '\', \'' . $line['admin'] . '\')">Profil anzeigen</a><br />';
}
 
ok vielen lieben dank hat echt ohne probleme funktioneirt.
ich werde euch auf jeden fall mal weiterempgehlen.
und noch mals danke für alle so schnellen antworten

Lg Marco

ok mache ich danke noch mals habt mir aufjeden fall echt geholfen
 
Zuletzt bearbeitet von einem Moderator:
Zurück