Kod:
--------------------------------
$sqlkal = "SELECT * from icalender WHERE filer LIKE '%$peopleid%' AND WEEK(datum,1) = WEEK(now(),1) ORDER by datum ASC";
Fältet filer ser ut t ex så här:
1,14,5
Jag skickar med $peopleid i query-stringen:
calender.php?peopleid=1
Då vill jag ha alla poster där 1 är med i fältet filer...
Detta funkar på text men verkar inte funka på siffror, eller?
jag tycker att du borde ändra din datamodell och inte Lagra inte flera värden i samma kolumn. Det blir bara problem. Lagra varje värde som en egen post och om det är numeriska värden använd typen integer så kan du använda vanliga jämförelser.
Så du säger att det inte finns någon bra lösning så som det ser ut nu...?
Anledningen till att det ser ut som det gör är att jag adderar flera personer med id till samma post, sen när jag visar dem så kör jag en explode och hämtar personerna på id från en annan tabell.
Ja det går väl att skriva något sofistikerat regular expression men det måste då anpassas beroende på vilket tal man söker.
T.ex om du har 14,22 i en post så vill du inte ha träff om du söker efter 1.
En sådan sökning blir inte speciellt effektiv då det inte går att använda index.
Om du lagrar varje id för sig så behöver du inte använda explode heller utan du kan joina tabellerna direkt i SQL-satsen. (Det är det som är hela vitsen med relationsdatabaser )
Okej, så om min INSERT ser ut så här:
--------------------------------
$sql = "INSERT INTO icalender (datum,datumcheck,ar,manad,dag,starth,startm,sluth,slutm,plats,arende,filer,antal,onskemal) VALUES ('$datetime','$datetimecheck','$ar','$manad','$dag','$starth','$startm','$sluth','$slutm','$plats','$arende','$filer','$antal','$onskemal')";
$result = mysql_query($sql);
--------------------------------
så borde jag kunna använda:
$getid = mysql_insert_id();
och sen INSERTA alla siffror i filer-variabeln i en annan tabell med rätt id... eller hur skulle det se ut???
(jag har hållt på sen 7 i morse så jag är lite trött...)