Permalänk
Medlem

php checkboxes

Hej! jag håller på med ett projekt i skolan där man ska kunna söka till kurser. Så långt jag har kommit så har jag gjort session och kan logga in med personnummer och lösenord.

Men nu till mitt problem. Jag har kurser lagrade på databasen med id 0-7 och namn på varje. Men när jag ska logga in så ska jag kunna se vilka kurser jag valt och sedan har jag gjort en sida där man väljer kurserna med hjälp av checkboxes. Men hur får alla checkboxes values från databasen och hur kan jag sedan se vilka checkboxes jag klickat i på nästa sida?

tack för hjälp, skriv om ni behöver se koden

Permalänk
Medlem

Vi behöver alltid se kod.

Du behöver lagra på användaren i t.ex. i relationstabell vilka kurser som användaren faktiskt valt.
Exempelvis vore en struktur:

| row_id int(11) t.ex. | course_ref (samma datatyp som id i course-tabellen) | users_ref (samma datatyp som id i course-tabellen) |

Där row_id är det auto_increment primary key du kan använda till tabellen, där course_ref bör vara en foreign key som pekar mot din tabell med alla kurser och users_ref som pekar mot användartabellen.

När du har denna vetskap om användaren kan du bara köra en get på användaren till en array som innehåller alla de som användaren valt. Alternativt kan du lagra det (erbjuder lite mindre flexibilitet) som en array på användaren i tabellen, exempelvis komma-separerat, problemet här blir väl att det läggs på behov att du separerar innehållet (split(",")), vilket alla ställen måste implementera, eller åtminstone i din GET.

Exempelvis:
course-tabellen:

row_id int(11) id varchar(24) name_code varchar(10) name varchar(30) description TEXT start timestamp end timestamp

users-tabellen

row_id int(11), id varchar(24) firstname varchar(20) lastname varchar(40) pnr varchar(13)

user_courses-tabellen

row_id int(11) users_ref varchar(24) eller int(11) (foreign key till users-tabellen) courses_ref varchar(24) eller int(11) (foreign key till courses-tabellen)

Lämpligen bör en unique-constraint finnas på kombon av users_ref och courses_ref så en person inte kan ingå i en kurs flera gånger.

När du har den informationen kan du lätt få ut det.

Visa din kod för hur din databas ser ut SHOW CREATE TABLE <tabellnamn>; och även den kod du använder för att plocka ut det med PHP. Glöm inte använda code-taggar.

Visa signatur

Citera om du vill ha svar, hjälpte jag dig, gilla svaret!