Avatar billede Thomasrn Seniormester
11. februar 2022 - 08:18 Der er 6 kommentarer

Max 22 med samme klub id

Hej har lavet et system hvor jeg opretter spillere og hvor klubber kan købe spillerne. Når de gør det får de klubbens id ind under deres klub id og det virker fint.
Men hver klub må maks ha 22 spillere er der en kode hvor den kan tælle til 22 spiller med samme klub id? Og der ved lukke for køb af andre spillere.
Avatar billede michael_stim Ekspert
11. februar 2022 - 08:58 #1
Du har formodentlig alting i en database, så det er bare at køre en COUNT i forespørgslen og så en if i din PHP.
Avatar billede arne_v Ekspert
11. februar 2022 - 16:51 #2
Enig med #1 - det er nemmest at lave noget logik i PHP som ved forsøg på køb af spiller checker om 22 reglen er overholdt.

Hvis du absolut vil lave noget i databasen, så er der nogle muligheder, men jeg tror som sagt at det er nemme at lave det i PHP.

1) lav en insert trigger som tesrer 22 reglen og giver fejl hvis ikke OK
2) have to felter klub_id og slot_no hvor slot_no har en FK constraint til en tabel med 1..22
Avatar billede Thomasrn Seniormester
16. marts 2022 - 15:33 #3
køre denne kode <?php


$hold= $app->userData['userName'];
echo $hold;
$sql="SELECT COUNT (holdid) FROM spillere WHERE holdid = '$hold' ";
$result=mysqli_query($con,$sql);
$values=mysqli_fetch_assoc($result);
$num_rows=$values['holdid'];
echo $num_rows;

?>
får echoede det rigtige $hold

men får intet echo $num_rows melder fejl i
$result=mysqli_query($con,$sql);
$values=mysqli_fetch_assoc($result);
hvordan kan det være?
Avatar billede michael_stim Ekspert
16. marts 2022 - 15:43 #4
Men det er vel player (eller hvad den nu hedder) du skal tælle på? Der er vel altid kun et holdid?

$sql="SELECT COUNT (playerId) AS 'player' FROM spillere WHERE holdid = '$hold' ";
...
$num_rows=$values['player'];
Avatar billede arne_v Ekspert
16. marts 2022 - 16:09 #5
#4

Eller COUNT(*) hvilket felt man tæller på betyder kun noget hvis NULL værdier eller med brug af DISTINCT.

Men jeg gætter på at du har løst problemet. AS er nødvendig. COUNT(x) gemmes ikke under 'x'.
Avatar billede Thomasrn Seniormester
16. marts 2022 - 18:10 #6
Jeg fandt grunden til den ikke kun finde helt ud af det havde ikke kontakt til databasen så gav jo lige pludselig mening XD
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester