---
title: "Fördela bollar jämt i x antal lådor"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/156766-fördela-bollar-jämt-i-x-antal-lådor"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Sparven"
published: "2007-02-03T13:52:06.000Z"
updated: "2007-02-03T19:37:03.000Z"
replies: 5
views: 624
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/156766-fördela-bollar-jämt-i-x-antal-lådor"
---

# Fördela bollar jämt i x antal lådor

## #1 — Sparven, 2007-02-03T13:52Z

Jag håller på med en hemsida och behöver lite hjälp med att fördela x antal db-rader jämt i två olika grupper. Ponera att jag har 10 rader och vill tilldela varje rad ett nummer mellan 1 och 5. Det enda kravet är att det är minst 2 rader som har siffran 1,2,3,4 och 5.

Någon som har en lösning?

Permalänk: https://www.webforum.nu/p/156766

## #2 — stevenet, 2007-02-03T14:05Z

Får man fråga vad det ska användas till? 

Dela upp det i två array:er, såhär t.ex:

```php
<?php
$query = mysql_query("SELECT ..");
$i = 0;
while($row = mysql_fetch_assoc($query)) {
  if ($i % 2 == 0) {  
     $first[] = $row;
  }
  else {
     $second[] = $row;
  }
$i++;
}
?>
```

 

Du når sedan raderna ifrån respektive grupp genom $first & $second. $first\[0\] är rad 1 i grupp 1, och $second\[0\] är rad 1 i grupp 2.

Permalänk: https://www.webforum.nu/p/1932155

## #3 — Sparven, 2007-02-03T14:12Z

> **stevenet skrev:**
>
> Får man fråga vad det ska användas till? 
> 
> Dela upp det i två array:er, såhär t.ex:
> 
>
>
> ```php
> <?php
> $query = mysql_query("SELECT ..");
> $i = 0;
> while($row = mysql_fetch_assoc($query)) {
>   if ($i % 2 == 0) {  
>      $first[] = $row;
>   }
>   else {
>      $second[] = $row;
>   }
> $i++;
> }
> ?>
> ```
>
>  
> 
> Du når sedan raderna ifrån respektive grupp genom $first & $second. $first\[0\] är rad 1 i grupp 1, och $second\[0\] är rad 1 i grupp 2.

 Självklart får du fråga. Jag håller på att utveckla ett självstyrt system för onlineturneringer av olika former. Har sedan tidigare ett system för att rapportera hockeymatcher som jag vill utveckla lite så att det är mer flexibelt. Detta script skall dela in lag eller spelare i grupper. Vem som hamnar i vilken grupp skall vara helt och hållet "random".

Åter till frågan: Den lösningen är bra, sålänge det handlar om 2 grupper men om det är fler så skiter det sig.

Permalänk: https://www.webforum.nu/p/1932157

## #4 — stevenet, 2007-02-03T17:28Z

Det är därför det är bra att nämna det ifrån början. ;)

```php
<?php 
$query = mysql_query("SELECT .."); 
$i = 0;
$total_groups = 5; 
while($row = mysql_fetch_assoc($query)) { 
  $groups[$i][] = $row; 
  $i++; 
  if($i == ($total_groups)) $i = 0;
} 
?>
```

 

$groups\[0\]\[0\] är rad 1 i grupp 1, och $groups\[1\]\[0\] är rad 1 i grupp 2.
$groups\[0\]\[1\] är rad 2 i grupp 1, och $groups\[1\]\[1\] är rad 2 i grupp 2.
$groups\[0\]\[2\] är rad 3 i grupp 1, och $groups\[1\]\[2\] är rad 3 i grupp 2.

osv..

Permalänk: https://www.webforum.nu/p/1932188

## #5 — Sparven, 2007-02-03T19:15Z

Där har vi kungen! Det där är snyggt!

Då får jag slumpa ordningen med hjälp av SQL-strängen så att man får olika grupper varje gång man kör scriptet.

Tackar!

Permalänk: https://www.webforum.nu/p/1932213

## #6 — aasah, 2007-02-03T19:37Z

> **Sparven skrev:**
>
> Då får jag slumpa ordningen med hjälp av SQL-strängen så att man får olika grupper varje gång man kör scriptet.

Det här kanske kan vara till hjälp:

> **MySQL manualen skrev:**
>
> ... as of MySQL 3.23, you can retrieve rows in random order like this: 
> 
> SELECT \* FROM tbl_name ORDER BY RAND();

Permalänk: https://www.webforum.nu/p/1932219

---

Tråden på webben: https://www.webforum.nu/amne/php/156766-fördela-bollar-jämt-i-x-antal-lådor
