webForumDet fria alternativet

select X unika random

1 svar · 237 visningar · startad av Qonos

QonosMedlem sedan sep. 2000451 inlägg
#1

godmorgon

jag har en tabell med en massa grejer i :) nu skulle jag vilja plocka ut $quantity - antal random postar med unikt id. Det vill säga ingen av de posterna jag plockar ut ska ha samma id.

för att plocka ut 1 använder jag denna funktionen


	function getWinners($quantity,$sms_prefix)
	{
		
		$winners = array();

		$sql = "SELECT id,phonenumber FROM competitions_sms_participant WHERE sms_prefix = '".$sms_prefix."'";
		
		$rs = mysql_query($sql);
		while (  $rw = mysql_fetch_array($rs) )
		{
			$winners[count($winners)]["id"] = $rw["id"];
			$winners[count($winners)-1]["phonenumber"]  = $rw["phonenumber"];
		}

		$rand_val = rand(0, count($winners)-1);
		return $winners[$rand_val];
	}

men sen la min hjärna av. Någon som kan hjälpa mig vidare på detta?

@ndersMedlem sedan juni 200026 914 inlägg
#2

Du kan göra det direkt i SQL-frågan istället för att krångla med slump i php.

$sql = "SELECT id,phonenumber FROM competitions_sms_participant WHERE sms_prefix = '".$sms_prefix."' ORDER BY RAND() LIMIT " . $quantity;
Genererad på 371 ms · cache AV · v20260730165559-full.f96bc7eb