Detta är en kombinerad PHP/MySQL-fråga. Jag vill att en post ska kunna sparas med 8 checkboxar som kan mixas hur som helst. Jag skulle kunna ha ett fält för varje checkbox, men i stället tänker jag mig att det är smartare att ha ett enda fält och spara värdena där. Checkboxarna ska bara ge 0 eller 1 alt. true/false.
Hur är detta smartast att göra? Spara värdena med semikolon emellan?
Typ: 0;1;1;0;0;1;0;1 eller false;true;true;false;false;true;false;true ?
Därefter vill jag kunna söka i databasen och hitta poster med önskade checkboxkombinationer, men det kanske är en senare sql-fråga och ev. php-fråga för att extrahera värdena.
Ja, koden kan jag förhoppningsvis komma på själv, men hur bör jag tänka?
hehe ok, och det är inte dumt med åtta nya fält för 30 000 poster?
Om det kommer till 20 checkboxar till sen, är det fortfarande bästa lösningen?
Det kommer inte att hända, men det känns ganska odynamiskt med fasta fält för detta.
Det smartaste är att spara värdena i en array, och sedan använda sig av serialize och unserialize på datat.
Då blir det enkelt att hantera och expandera, då du kan döpa boxarna till unika idn, ta bort gammal och bibehålla index, osv.
Ska du gära som du säger så kan du lika gärna skita i separator tecken? du vet ju vilket binärt tecken som är vilken box.
svaret är alltså inte
0;1;1;0;0;1;0;1
utan
01100101
Ville du kunna söka på det så skulle jag köra på den sista varianten med. Det har även fördelen att kunna sparas som int, istället för mindre bra varchar eller dylikt i mysql.
Ville du kunna söka på det så skulle jag köra på den sista varianten med. Det har även fördelen att kunna sparas som int, istället för mindre bra varchar eller dylikt i mysql.
:)
Lite OT, men det här är väl ingen bra idé? INT lagrar heltal, alltså kommer "0101" att sparas som "101".
Beroende på vad dina åtta checkboxar har för funktion kan ett bra alternativ vara att lagra resultatet i ett heltal m.h.a. bitprogrammering, så länge du har högst 32 checkboxar. Se ett gammalt inlägg för ett exempel.
139 ms totalt · 3 externa anrop · v20260731065814-full.b746b907