webForumDet fria alternativet

Minska värdet i ett fält

ASP

4 svar · 375 visningar · startad av Opelomega

Medlem sedan aug. 2003137 inlägg
Frågan#1

Förlåt för den kanske missvisande rubriken. Vet egetligen inte riktigt vad jag letar efter.

Jag håller på och gör ett anmälningsskript åt min idrottsförening. Det är så att det finns olika grupper att anmäla sig och det är tänkt att det här ska förenkla anmälningproceduren. Kruxet är att det bara finns ett visst antal platser och när de inte finns fler pltser i en viss grupp ska det inte gå att anmäla sig till denna.

Börjar med att förklara hur problemet ser ut
Anmälningsidan:

Här skriver man in namn, medlemsnr samt väljer vilken grupp man vill gå i i en dropdown meny.
Detta läggs in i en accessdatabas i tabellen anmalan. (Här kommer också antalet platsersom finns kvar i de olika grupperna visas)

Visa anmälningar:
Här hämtas informationen från tabellen anmalan, dessa poster kan även raderas en och en.

Så långt inga problem, bland de vanligaste man gör.

Ändra sidan

Här listas alla grupper samt hur många platser som finns kvar i varje grupp
och det går även att ändra dessa "värden".

Detta sparas i samma access databas men i tabellen platser.

Detta är inte heller några problem.

Nu till problemet:

Hur gör jag för att minska ett specifiskt fält i grupper beroende på vilken grupp man väljer i dropdownmenyn?

Jag har inte gjort något liknande förut, och eftersom det rör sig om att det är olika fält som ska "minskas" så har jag inte ens en aning om vad jag ska söka på. Plussa på ett fält är ju en annan sak...

Tack för hjälpen på förhand

Medlem sedan nov. 20014 054 inlägg
#2

om du skall minska på ett värde i ett fält, ex antal. Så gör du det via SQLn på följande sätt:

SQL = "UPDATE tabel SET antal = antal - 1 WHERE id=idnummret"

where satsen behöver ju inte vara id, kan ju vara annat sökbart som har unika värden.

sen för att hindra att fler anmäl sig till den gruppen så är det bara att kolla om antal <> 0, om så visa inte denna grupp som valbar i anmälningsdelen.

Hoppas du förstår vad jag syftar på :)

(om jag nu förstopd din fråga rätt!)

Ps. Likadant som när man ökar, man minskar bara med minus istället! Så vitt jag vet! :)

Medlem sedan aug. 2003137 inlägg
#3

Du förstod nog rätt på min dåliga beskrivning. Men jag tror inte det blir rätt, eller så kan jag inte tänka?

I tabellen platser så finns det ett 30-tal kolumner märkt med olika gruppnamn. Varje kolumn har ett värde beronde på hur många platser det finns i varje grupp. Dessa värden ligger i samma post (ID=1). Varje kolumn och fält har ju inte samma namn. Så det blir ju i och för sig unikt. Men jag förstår inte hur jag ska få till sql satsen då?

Eller är det bara jag som inte kan tänka?=)

Medlem sedan okt. 20041 556 inlägg
#4

Låter som en felaktig databasstruktur.
Bättre att lägga grupperna i rader i stället för i kolumnerna.
Skall du lägga till/ ta bort en grupp så måste du fippla med databasstrukturen, det är obra.

Medlem sedan aug. 2003137 inlägg
#5

Tar gärna emot ett exempel på en databas struktur i såfall.

Just nu så lagras man, medlnr samt gruppnamnet i anmalningar (gruppnanmnet kommer från dropdown meny där value=med gruppnamnet.

I platser finns ett 30-tal grupper i varsin kolumn.

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)