Gegevens in Array zetten
Ik zit met de volgende uitdaging:
In een tabel "Teams" heb ik 13 kolommen. 1 voor de teamnaam en 12 voor de namen van de spelers in dat team. In totaal heb ik nu zo'n 60 teams.
Wat ik nu graag zou willen, is tellen hoevaak een bepaalde spelernaam voorkomt in de totale tabel "Teams".
Hiervoor heb ik de volgende code opgesteld, maar zoals je begrijpt werkt dit dus niet. De uitkomst is dus dat hij maar 1 team pakt en daarin kijkt hoevaak een spelernaam voorkomt (hetgeen altijd 1 keer is, aangezien een speler niet vaker dan 1 keer in een team kan worden opgenomen)
Heeft iemand enig idee?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?
include '../dbconnect.php';
$query = "SELECT * FROM teams";
$result = mysql_query($query);
$num=mysql_numrows($result);
$i=0;
while ($i < $num)
{
$speler1=mysql_result($result,$i,"speler1");
$speler2=mysql_result($result,$i,"speler2");
$speler3=mysql_result($result,$i,"speler3");
$speler4=mysql_result($result,$i,"speler4");
$speler5=mysql_result($result,$i,"speler5");
$speler6=mysql_result($result,$i,"speler6");
$speler7=mysql_result($result,$i,"speler7");
$speler8=mysql_result($result,$i,"speler8");
$speler9=mysql_result($result,$i,"speler9");
$speler10=mysql_result($result,$i,"speler10");
$speler11=mysql_result($result,$i,"speler11");
$speler12=mysql_result($result,$i,"speler12");
$array = array($speler1,$speler2,$speler3,$speler4,$speler5,$speler6,$speler7,$speler8,$speler9,$speler10,$speler11,$speler12);
$i++;
}
$uniek = array_unique ($array);
$tellen = array_count_values($uniek);
print_r ($tellen);
?>
include '../dbconnect.php';
$query = "SELECT * FROM teams";
$result = mysql_query($query);
$num=mysql_numrows($result);
$i=0;
while ($i < $num)
{
$speler1=mysql_result($result,$i,"speler1");
$speler2=mysql_result($result,$i,"speler2");
$speler3=mysql_result($result,$i,"speler3");
$speler4=mysql_result($result,$i,"speler4");
$speler5=mysql_result($result,$i,"speler5");
$speler6=mysql_result($result,$i,"speler6");
$speler7=mysql_result($result,$i,"speler7");
$speler8=mysql_result($result,$i,"speler8");
$speler9=mysql_result($result,$i,"speler9");
$speler10=mysql_result($result,$i,"speler10");
$speler11=mysql_result($result,$i,"speler11");
$speler12=mysql_result($result,$i,"speler12");
$array = array($speler1,$speler2,$speler3,$speler4,$speler5,$speler6,$speler7,$speler8,$speler9,$speler10,$speler11,$speler12);
$i++;
}
$uniek = array_unique ($array);
$tellen = array_count_values($uniek);
print_r ($tellen);
?>
SELECT id
FROM Teams
WHERE (speler1 = '" . $spelernaam . "')
OR (speler2 = '" . $spelernaam . "')
OR (speler3 = '" . $spelernaam . "')
OR (speler4 = '" . $spelernaam . "')
OR (speler5 = '" . $spelernaam . "')
OR (speler6 = '" . $spelernaam . "')
OR (speler7 = '" . $spelernaam . "')
OR (speler8 = '" . $spelernaam . "')
OR (speler9 = '" . $spelernaam . "')
OR (speler10 = '" . $spelernaam . "')
OR (speler11 = '" . $spelernaam . "')
OR (speler12 = '" . $spelernaam . "');
Dan krijg je per speler de teams terug waar die inzit, eventueel kun je in de SELECT d'r zelfs een COUNT(*) in gooien i.p.v. 'id'...
Dit werkt inderdaad!
Alleen tel ik de spelers met mysql_num_rows in plaats van COUNT, maar verder helemaal top.
Dank je wel!