Is dit mogelijk, Select * FROM table, behalve 1tje waar je eigen Email staat

  • Onderwerp starter Onderwerp starter LuzL
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

LuzL

Nieuwe gebruiker
Lid geworden
7 dec 2011
Berichten
2
Ik ben een beetje aan het rommellen met SQL, en nu lukt iets niet! Ik zal eerst de code voorleggen en aan de hand daarvan mijn probleem beschrijven:

Code:
<?php
require 'database2.php';
$nuser=$_SESSION['user'];
$auser=$_SESSION['admin'];

$email = $_SESSION['SESS_EMAIL'];
$Members = mysql_query("SELECT * FROM members ORDER BY lastname ASC") or die(mysql_error());
$numRowsMembers = mysql_num_rows($Members);

?>
<div style="overflow: auto; height: 500px; width: 400px; background-color:#ffffff; margin-left:auto; margin-right:auto; border:1px solid black;">
  <table style="width: 300px;" cellpadding="0" cellspacing="0" border="1">
<?php
for($count = 1; $count <= $numRowsMembers; $count++)
{
    $name = mysql_fetch_array($Members);
    ?>
	
	<tr>
	<td width="200">
    <?php
    echo '<a href="user.php?email=' . $name['email'] . '">' . $name['firstname'] . '</a>'; 
	echo " ";
    echo '<a href="user.php?email=' . $name['email'] . '">' . $name['lastname'] . '</a>'; 
	?>
	<br><br>
	</td>
	<td>
	<?php
	echo $name['level'];
	?>
	<br><br>
	</td>
	<td>
	<?php
	echo '<a href="fight.php?email=' . $name['email'] . '"> Fight </a>';
	?>
	<br><br>
	</td>
	</tr>
    
    
    <?php
}
?>

Wat dit nu weergeeft zijn 3 dingen:
-De naam van de user + link naar hun profiel
-Het level van de user
-Het woord 'Fight' + link om met hun te strijden.

Echter, het geeft iets teveel weer! 2 probleempjes.
Probleem 1
Het geeft je eigen naam etc. weer. Dit is natuurlijk niet de bedoeling, is er een manier/functie dat ik elke user kan selecteren behalve de mijne! Zoals je ziet is de user zijn email tot een variable gemaakt; $email. Dus ik dacht zelf iets van
SELECT * FROM members EXCEPT ('$email') of iets dergelijks. Weet alleen niet wat werkt

Probleem 2
Hij geeft teveel resultaten weer. Ik wil maar een max van bijvoorbeeld 10, random gekozen users! (eventueel waarbij hun level jouw eigen level is maar daar kan ik zelf wel een code voor maken)

Als de code te onoverzichtelijk is (begrijpelijk!) Kan ik hem eventueel wel herschrijven maar dan een stuk duidelijker.

Thanks!

***z
 
Iets als SELECT * FROM table where EMAIL != $eigenmail

!= zou dan moeten staan voor ongelijk aan, maar weet zo de juiste syntax niet.
 
Prima! Dat probleem is al opgelost :D Bedankt voor de snelle reactie. Nu nog probleempje 2
 
Dat zou dan volgens mij iets moeten zijn als :

ORDER BY RAND()
LIMIT 10

of

ORDER BY RANDOM()
LIMIT 10
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan