login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[PHP] lootscript

Offline DrB - 20/06/2006 18:27
Avatar van DrBHTML interesse Beste leden,

Graag zou ik random uit mn database een gebruiker willen halen. Ik wil dan bijvoorbeeld iets verloten onder alle betalende members die meer dan 5000 power hebben. Dus dan moet er uit de tabel "gebruiker" de mensen gehaald worden die meer dan 5000 power hebben en level 14 hebben. Is er iemand die me hiermee opweg kan helpen?

Dus in de tabel gebruiker zijn de velden geld en apower en dpower (totaal power is apower+dpower) en level. Level van betalende leden is dan 14.

Ik hoop dat het een beetje duidelijk is.

Mvg,

DrB

12 antwoorden

Gesponsorde links
Offline nemesiskoen - 20/06/2006 18:53
Avatar van nemesiskoen Gouden medaille

PHP expert
SELECT id FROM leden WHERE betalend = 1 AND power >= 5000 ORDER BY RAND() LIMIT 1

Zoiets zou moeten werken.
Offline vinTage - 20/06/2006 18:53
Avatar van vinTage Nieuw lid zoiets mischien ?
  1. <?
  2. $sql = "SELECT *,(apower+dpower) AS totaal FROM gebruiker
  3. WHERE level=14 AND totaal>=5000
  4. ORDER BY RAND() LIMIT 1";
  5. ?>

written by a php/mysql naab 
Offline finduilas - 20/06/2006 18:54 (laatste wijziging 20/06/2006 18:56)
Avatar van finduilas PHP gevorderde
  1. SELECT * FROM members WHERE level=14 AND totaal>=5000 ORDER BY RAND() LIMIT 0,1


AND totaal>=5000 vergeten :S
Offline vinTage - 20/06/2006 18:57
Avatar van vinTage Nieuw lid
Citaat:
SELECT * FROM members WHERE level=14 AND totaal>=5000 ORDER BY RAND() LIMIT 0,1


AND totaal>=5000 vergeten :S


je zit gewoon over te typen, waar haal je anders totaal vandaan ? 
Offline finduilas - 20/06/2006 18:59
Avatar van finduilas PHP gevorderde Die totaal heb ik idd overgenomen.Ik had het niet.
Offline DrB - 21/06/2006 09:12
Avatar van DrB HTML interesse
Citaat:
<?
$sql = "SELECT *,(apower+dpower) AS totaal FROM gebruiker
WHERE level=14 AND totaal>=5000
ORDER BY RAND() LIMIT 1";
?>


Dan krijg ik een leeg scherm te zien, bedankt voor het proberen in iedergeval 
Offline Ultimatum - 21/06/2006 09:22
Avatar van Ultimatum PHP expert tip: mysql_query erbij zette 
Offline xSc - 21/06/2006 10:23
Avatar van xSc Onbekend Selecteer liever alleen wat je nodig hebt. Als je meerdere kolommen selecteert, kun je beter ipv mysql_query() de mysql_fetch_assoc() gebruiken. De laatstgenoemde is sneller.
Offline DrB - 21/06/2006 14:54
Avatar van DrB HTML interesse
Citaat:
<?
$mysql_query = "SELECT *,(apower+dpower) AS totaal FROM gebruiker
WHERE level=14 AND totaal>=5000
ORDER BY RAND() LIMIT 1";
?>


Het gaat erom dat hij een random gebruiker eruit haalt en deze laat zien op de pagina. Dus als ik die pagina laadt dat die een gebruiker random laat zien.
Offline Ibrahim - 22/06/2006 00:06
Avatar van Ibrahim PHP expert
  1. $query = mysql_query("SELECT *,(apower+dpower) AS totaal FROM gebruiker
  2. WHERE level=14 AND totaal>=5000
  3. ORDER BY RAND() LIMIT 1") or die(mysql_error());
  4.  
  5. $fetch = mysql_fetch_assoc( $query );
  6.  
  7. echo $fetch['totaal'];


probeer dit eens
Offline Martijn1989 - 22/06/2006 00:12 (laatste wijziging 22/06/2006 00:20)
Avatar van Martijn1989 PHP ver gevorderde @ Nemesiskoen :

  1. <?php
  2. $select = mysql_query("SELECT id,gebruikersnaam FROM leden WHERE betalend = 1 AND power >= 5000 ORDER BY RAND() LIMIT 1") or die (Mysql_Error());
  3.  
  4. $aantal = mysql_num_rows($select);
  5.  
  6. if($aantal == 1) {
  7.  
  8. $obj = mysql_fetch_assoc($select);
  9. echo "En de winnaar is ". $obj['gebruikersnaam'] .".";
  10.  
  11. } else {
  12.  
  13. echo "Ik heb geen betalende gebruiker kunnen selecteren met 5000 power.";
  14.  
  15. }
  16.  
  17. ?>


Werkt idd volgens mij gewoon.

Edit @ Appeltje : Mjahw, tis laat 
Offline Gerard - 22/06/2006 00:17
Avatar van Gerard Ouwe rakker power wordt zo te zien berekend en is geen vast veld in de database, dat is juist het hele (simpele, though) verhaal.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.268s