26. september 2005 - 11:50
Der er
8 kommentarer og
1 løsning
Tælle antal af forekomster i POST
Hej,
er lige løbet ind i et lille problem...
Jeg har en form hvor der kan indtastes målscorer og kortmodtagere.
Eksempel:
Viborg - AaB
Så vælges Steffen Højer i begge de selectboxe der fremkommer på formsiden.
Hvorledes kan jeg så på insert siden få den til at tælle at Steffen Højer har scoret 2 gange? Altså at den finder ud af at han er valgt i begge boxe....
Håber I er med på hvad jeg mener...
26. september 2005 - 11:53
#1
Hvad hedder boksene? Det samme? Hvis de hedder det samme, så skal du kalde dem f.eks.
name='maalscorer[]'
if($_POST['maalscorer[0] == $_POST['maalscorer'][1]) {
}
Så har du i hvert fald fundet ud af, om det er samme spiller. Jeg er ikke 100% sikker på jeg forstår hvordan du gør det, så måske du selv kan fortsætte lidt på min tankegang :) ?!
26. september 2005 - 11:57
#2
Koden på min writescorers.php ser således ud:
if(count($_POST))
{
for($i = 1; $i <= count($homescores); $i++)
{
mysql_query("INSERT INTO goals (matchID, navn, homeaway, goaltime, goaltype) VALUES ('$matchID', '$homescores[$i]', '$hahome[$i]', '$goaltimehome[$i]', '$goaltypehome[$i]')");
}
for($i = 1; $i <= count($awayscores); $i++)
{
mysql_query("INSERT INTO goals (matchID, navn, homeaway, goaltime, goaltype) VALUES ('$matchID', '$awayscores[$i]', '$haaway[$i]', '$goaltimeaway[$i]', '$goaltypeaway[$i]')");
}
for($i = 1; $i <= count($homecarders); $i++)
{
mysql_query("INSERT INTO cards (matchID, navn, homeaway, cardtype, cardtime) VALUES ('$matchID', '$homecarders[$i]', '$chahome[$i]', '$cardtypehome[$i]', '$cardtimehome[$i]')");
}
for($i = 1; $i <= count($awaycarders); $i++)
{
mysql_query("INSERT INTO cards (matchID, navn, homeaway, cardtype, cardtime) VALUES ('$matchID', '$awaycarders[$i]', '$chaaway[$i]', '$cardtypeaway[$i]', '$cardtimeaway[$i]')");
}
}
Den virker også helt som den skal og indsætter målscorerne på min 'resultater' tabel i databasen..
Det jeg så mangler at spillerprofilen på målscoreren også skal opdateres med det antal mål han har scoret (det der skal tælles frem til via selectboxen)
altså noget ala
UPDATE players SET goals = (goals + antal mål WHERE name = '$homescores[$i]'");
eller noget i den retning...
26. september 2005 - 12:03
#5
Ja, men han vil vel så også være 2 gange i $homescores[] ? Så hver gang han optræder, bliver der lagt 1 til, og hvis han så er der 2 gange, vil der jo så blive lagt 2 til?!
26. september 2005 - 12:15
#7
Det er bare i orden :) Og du har helt ret, ofte så ligger løsningen "så tæt på" at den ikke er til at få øje på :)