SQL Abfrage

Anacondi

Erfahrenes Mitglied
Hi an alle zusammen.

Ich habe in der Datenbank die Tabelle login und darin die user_id , user_geld, user_level

Wie kann ich jetzt eine abfrage aller user machen, die das selbe level wie ich haben, sortiert nach Geldmenge.
Das Problem habe ich aber damit, das ich selber nicht mit in der liste erscheinen darf.
PHP:
$level = $data["level"];
	$sql01 = "SELECT * from login Where level  = '$level'  LIMIT 0, 10 ";

irgendwie komme ich her nicht weiter. gut, das sortieren nach Geldmenge ist DESC. aber ich erscheine immer selber in der Liste, wenn ich bei den ersten 10 usern mit dem meisten Geld bin.
 
Zuletzt bearbeitet:
Du musst noch prüfen, ob user_id deiner eigenen entspricht.
Wenn die user_id würde in $data["user_id"] steht, müsste folgendes funktionieren:
PHP:
$level = $data["level"];
$own_id = $data["user_id"];
$sql01 = "SELECT * from login Where level  = '$level' AND user_id <> $own_id LIMIT 0, 10 ORDER BY user_geld DESC";
 
Leider wird so gar kein user mehr angezeigt.
Hier mal Codeschnipsel zum besseren Verständnis
PHP:
$id = $_SESSION["user_id"];

$sql = "SELECT * from login Where id = '$id'";
$result = mysql_query ($sql);  

if (mysql_num_rows ($result) > 0)  
{  
  // Benutzerdaten in ein Array auslesen.  
  $data = mysql_fetch_array ($result);  

  // Sessionvariablen erstellen und registrieren  
  $_SESSION["user_id"] = $data["id"];  
  $_SESSION["user_username"] = $data["username"];
  $_SESSION["user_email"] = $data["email"]; 
    $_SESSION["user_coins"] = $data["coins"];
$_SESSION["user_premium"] = $data["premium"];
$_SESSION["user_level"] = $data["level"];
}
nicht wundern, aber diese abfrage brauche ich weiter unten noch, das wüede zu weit führen, wenn ich die ganze php seite hier poste. und so ist dann die abfrage
PHP:
<?php
$level = $data["level"];
		$own_id = $data["id"];
$sql01 = "SELECT * from login Where level  = '$level' AND id <> $own_id LIMIT 0, 10 ORDER BY geld DESC"; 
?>
<center><table width="600" border="1">
  <tr>
    <td width="350"><? echo $data0["username"]; ?></td>
Aber wenn ich statt $own_id nur $id (das ist immer die aktuelle id des Users) bringt das nichts
 
Zuletzt bearbeitet:
// Habe gerade deinen Beitrag #4 gelesen. Wunderbar ;)

Aber aucheingebe, bringt das nichts wenn ich statt $own_id nur $id (das ist immer die aktuelle id des Users)
Du hast im ersten Beitrag geschrieben, dass die ID-Spalte user_id bei dir heißt.
Du willst ja alle 10 User mit den höchsten Geldbeträgen außer den eingeloggten User selbst, oder?
Der Operator <> ist der Ungleich-Operator. Gibt also TRUE zurück, wenn die beiden Operanden ungleich sind.

Am besten schreibst du mal das SQL-Query hier rein. Also echo $sql01;.
Ansonsten kannst du auch mal [phpf]mysql_error[/phpf] benutzen.
 
Zurück