RE: [PHP] Re: shuffle

2004-07-14 Thread Edward Peloke
yep, that causes nothing to be returned.

-Original Message-
From: Torsten Roehr [mailto:[EMAIL PROTECTED]
Sent: Wednesday, July 14, 2004 2:20 PM
To: [EMAIL PROTECTED]
Subject: [PHP] Re: shuffle


Edward Peloke [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
 I am using a db class which has the following method for cycling through
the
 records

 function nextRecord(){
 $this-[EMAIL PROTECTED]($this-queryID);
 $status=is_array($this-Record);

Hi Edward,

first you are using $this-record and then $this-Record (r / R)?

Have you tried adding this line?:
shuffle($this-record);

 return ($status);
 }

 where queryID is set by running the query.  It works fine and I can run it
 as follows

 $sql-query(select * from clients);
 while ($sql-nextRecord()){ echo $sql-getField(name);}

 Problem is, I want to have the array shuffled so the rows are randomly
 displayed each time the user hits the page.  I have tried shuffle around
the
 @mysql_fetch_array call and $this-queryID but nothing seems to work...any
 ideas?

 Thanks,
 Eddie

Regards, Torsten Roehr

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: Shuffle Cards Function

2001-08-19 Thread Tom Carter

I could be wrong in thinking this, but wasn't the purpose of the presented
function to shuffle a deck in a deliberately imperfecatly random way? ie.
mimicking a human shuffler beats why one would want to do this as an
academic excersize, but hey, I like it ;-)
- Original Message -
From: Richard Lynch [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Sunday, August 19, 2001 9:45 PM
Subject: [PHP] Re: Shuffle Cards Function


 http://php.net/shuffle will be much faster and just as random...

 --
 WARNING [EMAIL PROTECTED] address is an endangered species -- Use
 [EMAIL PROTECTED]
 Wanna help me out?  Like Music?  Buy a CD: http://l-i-e.com/artists.htm
 Volunteer a little time: http://chatmusic.com/volunteer.htm
 - Original Message -
 From: Robert Schultz [EMAIL PROTECTED]
 Newsgroups: php.general
 To: [EMAIL PROTECTED]
 Sent: Saturday, August 18, 2001 11:37 PM
 Subject: Shuffle Cards Function


  I've written a ShuffleCards function that will actually shuffle a deck
of
  cards just like would happen in real life (divide the deck in half and
 stick
  them into each other with 1-3 cards between each other card)
 
 function ShuffleCards($cardsArray, $times)
 {
  // Randomizes where to split within center (-3 to +3 from dead
center)
  (MINIMUM 10 CARDS IN DECK)
  // Splits into two array. Randomizes how many cards from left and
how
  many cards from right (between 1 and 3)
  // Alternates sides. Continues until both arrays are empty.
  $arraySize = count($cardsArray);
 
  if($arraySize10)
   return;
 
  $deadCenter = $arraySize/2;
 
  for($i=0;$i$times;$i++)
  {
   reset($cardsArray);
 
   $cutVariant = rand(-3, 3);
   $cutLocation = $deadCenter+$cutVariant;
 
   $firstArray = array();
   $secondArray = array();
 
   for($z=0;$z$arraySize;$z++)
   {
if($z$cutLocation)
 array_push($firstArray, $cardsArray[$z]);
else
 array_push($secondArray, $cardsArray[$z]);
   }
 
   $bottomFirst = rand(0, 1);
   $cardsArray = array();
 
   while(count($firstArray)  count($secondArray))
   {
$leftNewCards = array();
$rightNewCards = array();
 
$leftVariant = rand(1, 3);
if($leftVariantcount($firstArray))
 $leftVariant = count($firstArray);
 
$rightVariant = rand(1, 3);
if($rightVariantcount($secondArray))
 $rightVariant = count($secondArray);
 
 
for($x=0;$x$leftVariant;$x++)
{
 array_push($leftNewCards, array_shift($firstArray));
}
 
for($y=0;$y$rightVariant;$y++)
{
 array_push($rightNewCards, array_shift($secondArray));
}
 
if($bottomFirst==0)
{
 $newCardsArray = array_merge($leftNewCards, $rightNewCards);
 $bottomFirst = 1;
}
else
{
 $newCardsArray = array_merge($rightNewCards, $leftNewCards);
 $bottomFirst = 0;
}
 
reset($newCardsArray);
 
while(count($newCardsArray))
{
 array_push($cardsArray, array_shift($newCardsArray));
}
   }
 
   if(count($firstArray))
   {
while(count($firstArray))
 array_push($cardsArray, array_shift($firstArray));
   }
   if(count($secondArray))
   {
while(count($secondArray))
 array_push($cardsArray, array_shift($secondArray));
   }
  }
 }
 
  Robert Schultz - [EMAIL PROTECTED]
 
 
 


 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 To contact the list administrators, e-mail: [EMAIL PROTECTED]



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP] Re: Shuffle Cards Function

2001-08-19 Thread Robert Schultz

Well, I required a function to mimick a human shuffle.
Because the online shuffle was to help the user predict what sort/types of
deals he would get with a given deck based upon a normal human shuffle.

Plus, I've heard some bad things about shuffle, and of course, shuffe
doesn't mimick a non-perfect human shuffle.

Robert Schultz - [EMAIL PROTECTED]


- Original Message -
From: Tom Carter [EMAIL PROTECTED]
To: Richard Lynch [EMAIL PROTECTED]; [EMAIL PROTECTED]
Sent: Sunday, August 19, 2001 7:00 PM
Subject: Re: [PHP] Re: Shuffle Cards Function


 I could be wrong in thinking this, but wasn't the purpose of the presented
 function to shuffle a deck in a deliberately imperfecatly random way? ie.
 mimicking a human shuffler beats why one would want to do this as an
 academic excersize, but hey, I like it ;-)
 - Original Message -
 From: Richard Lynch [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Sunday, August 19, 2001 9:45 PM
 Subject: [PHP] Re: Shuffle Cards Function


  http://php.net/shuffle will be much faster and just as random...
 
  --
  WARNING [EMAIL PROTECTED] address is an endangered species -- Use
  [EMAIL PROTECTED]
  Wanna help me out?  Like Music?  Buy a CD: http://l-i-e.com/artists.htm
  Volunteer a little time: http://chatmusic.com/volunteer.htm
  - Original Message -
  From: Robert Schultz [EMAIL PROTECTED]
  Newsgroups: php.general
  To: [EMAIL PROTECTED]
  Sent: Saturday, August 18, 2001 11:37 PM
  Subject: Shuffle Cards Function
 
 
   I've written a ShuffleCards function that will actually shuffle a deck
 of
   cards just like would happen in real life (divide the deck in half and
  stick
   them into each other with 1-3 cards between each other card)
  
  function ShuffleCards($cardsArray, $times)
  {
   // Randomizes where to split within center (-3 to +3 from dead
 center)
   (MINIMUM 10 CARDS IN DECK)
   // Splits into two array. Randomizes how many cards from left and
 how
   many cards from right (between 1 and 3)
   // Alternates sides. Continues until both arrays are empty.
   $arraySize = count($cardsArray);
  
   if($arraySize10)
return;
  
   $deadCenter = $arraySize/2;
  
   for($i=0;$i$times;$i++)
   {
reset($cardsArray);
  
$cutVariant = rand(-3, 3);
$cutLocation = $deadCenter+$cutVariant;
  
$firstArray = array();
$secondArray = array();
  
for($z=0;$z$arraySize;$z++)
{
 if($z$cutLocation)
  array_push($firstArray, $cardsArray[$z]);
 else
  array_push($secondArray, $cardsArray[$z]);
}
  
$bottomFirst = rand(0, 1);
$cardsArray = array();
  
while(count($firstArray)  count($secondArray))
{
 $leftNewCards = array();
 $rightNewCards = array();
  
 $leftVariant = rand(1, 3);
 if($leftVariantcount($firstArray))
  $leftVariant = count($firstArray);
  
 $rightVariant = rand(1, 3);
 if($rightVariantcount($secondArray))
  $rightVariant = count($secondArray);
  
  
 for($x=0;$x$leftVariant;$x++)
 {
  array_push($leftNewCards, array_shift($firstArray));
 }
  
 for($y=0;$y$rightVariant;$y++)
 {
  array_push($rightNewCards, array_shift($secondArray));
 }
  
 if($bottomFirst==0)
 {
  $newCardsArray = array_merge($leftNewCards, $rightNewCards);
  $bottomFirst = 1;
 }
 else
 {
  $newCardsArray = array_merge($rightNewCards, $leftNewCards);
  $bottomFirst = 0;
 }
  
 reset($newCardsArray);
  
 while(count($newCardsArray))
 {
  array_push($cardsArray, array_shift($newCardsArray));
 }
}
  
if(count($firstArray))
{
 while(count($firstArray))
  array_push($cardsArray, array_shift($firstArray));
}
if(count($secondArray))
{
 while(count($secondArray))
  array_push($cardsArray, array_shift($secondArray));
}
   }
  }
  
   Robert Schultz - [EMAIL PROTECTED]
  
  
  
 
 
  --
  PHP General Mailing List (http://www.php.net/)
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
  To contact the list administrators, e-mail: [EMAIL PROTECTED]
 


 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 To contact the list administrators, e-mail: [EMAIL PROTECTED]



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]