Avatar billede fixbabe Nybegynder
26. oktober 2005 - 20:31 Der er 14 kommentarer og
1 løsning

plads script

Jeg prøver så godt jeg kan at beskrive det jeg ønsker hjælp til :)

Jeg er ved at lave et tilmelding script til et lan party, det skal fungere på følgende måde.
Tabeller:
plads nr findes i lan_plads
brugeren findes i lan_bruger

En person tilmeder sig og får tildelt en tilfældig plads, når en person tilmedliger sig får han en tilfældig plads fra tabellen lan_plads, i denne tabel er følgende felter "plads" "brugerid" eks "A2" "4"

I tabellen lan_bruger er "id" "bruger" osv.

Mit problem er hvordan jeg får den til at tage en tilfældig plads og ikke tager den samme plads til en ny person.

Håber det var forklaring nok, eller må i sige til. Selve tilmeldings dele kan jeg godt finde ud af bare ikke den del hvor den skal tildele.
Avatar billede jakobdo Ekspert
26. oktober 2005 - 20:39 #1
Du laver en tabel med lan_plads, her har du så lad os sige 10 pladser.
Så har du lan_bruger
Så laver du en ekstra tabel, lan_tilmelding
Når f.eks. bruger 1 melder sig til, får han plads 2
Vi laver en indsættelse i lan_tilmelding 1 - 2
Næste gang en tilmelder sig, sørger vi for han ikke kan vælge/få plads 2, da den er optaget osv...
Avatar billede fixbabe Nybegynder
26. oktober 2005 - 20:42 #2
sry men det der giver ingen mening for mig beklager. hvordan laver jeg den funktion der gør at den ikke tager en plads der er taget.
Avatar billede jakobdo Ekspert
26. oktober 2005 - 20:44 #3
Hvordan gemmer du nu en tilmelding?
Avatar billede nielle Nybegynder
26. oktober 2005 - 20:45 #4
Du udvider din tabel lan_plads med et felt, status, som beskriver om pladsen er taget eller ej. Derefter kan du trække en tilfældig ikke-opaget plads med denne SQL:

SELECT * FROM lan_plads WHERE status='fri' ORDER BY rand() LIMIT 1
Avatar billede fixbabe Nybegynder
26. oktober 2005 - 20:48 #5
hvordan sætter jeg så 2 tabbeler med en "add" funktion? nu skal bruger info sættes i lan_bruger og plads info i lan_plads
Avatar billede nielle Nybegynder
26. oktober 2005 - 20:59 #6
Noget i denne stil:

$sql = "SELECT plads_id FROM lan_plads WHERE status='fri' ORDER BY rand() LIMIT 1";
$query = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($query) == 0)
{
    echo "Ingen ledeige pladser.";
}
else
{
    $row = mysql_fetch_assoc($query);
    $plads_id = $row["plads_id"]

    mysql_query("UPDATE lan_plads SET status='optaget' WHERE plads_id = " . $plads_id);
    mysql_query("UPDATE lan_bruger SET plads_id=" . $plads_id . " WHERE bruger_id = " . $bruger_id);
}
Avatar billede nielle Nybegynder
05. november 2005 - 08:35 #7
Hvad med noget respons?
Avatar billede jakobdo Ekspert
05. november 2005 - 09:10 #8
Nielle: Hvad er det nu for nogle urimelige krav du begynder at stille? :o)
Avatar billede fixbabe Nybegynder
05. november 2005 - 14:19 #9
Sry dette projekt har været på pause pga andre ting, mere info når jeg går i gang.
Avatar billede nielle Nybegynder
05. november 2005 - 16:27 #10
'K :^)
Avatar billede fixbabe Nybegynder
30. april 2006 - 00:04 #11
Lukker, det blev aldrig til noget.
Avatar billede nielle Nybegynder
30. april 2006 - 08:04 #12
Du kunne da i det mindste have sagt tak for hjælpen...
Avatar billede jakobdo Ekspert
30. april 2006 - 08:50 #13
Nielle: Nu begynder du igen at stille urimelige krav! :o)
Avatar billede nielle Nybegynder
30. april 2006 - 09:05 #14
Det er lidt lige som deja-vu, det er lidt lige som deja-vu. ;^)
Avatar billede jakobdo Ekspert
30. april 2006 - 09:17 #15
Haha! c'')
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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