filipbhMedlem sedan juli 2002405 inlägg Jag håller på med en kalender där jag arbeter med MySQL-server och PHP. I databasen har jag två tabeller, en där kalendariumet sparas och en där händelserna sparas.
Jag måste ju då koppla ihop de två tabellerna så att alla veckor med resp. dagnummer visas vid rätt månad samt att en händelse skrivs ut på rätt dag. Hur ska jag lösa det??
Har testat med INNER JOIN men då skrivs inte alla veckor i månaden ut, utan bara de veckor som innehåller en händelse.
Tacksam för hjälp...
filipbhMedlem sedan juli 2002405 inlägg Ska jag skriva samma som inner join då fast med left join? Dvs "LEFT JOIN handelser ON kalendarium.kal_week = handelser.week"...
filipbhMedlem sedan juli 2002405 inlägg Tack det fungerar bättre... Men om jag har markerat en händelse som deleted och väljer i SQL-satsen tex. deleted=0 eller deleted!=1 så visas ändå bara den veckan där något händer... Det måste ju gå och lösa. Ska väl inte behöva ta bort händelsen helt från databasen??
MungoMedlem sedan jan. 2000372 inlägg Det skulle vara lättare om man fick se hela din SQL-sats....
filipbhMedlem sedan juli 2002405 inlägg $open = mysql_connect ("localhost", "","");
$sql = "SELECT * FROM kalendarium LEFT JOIN handelser ON kalendarium.kal_week = handelser.week WHERE kal_year='$year' AND kal_month='$month' \
ORDER BY kal_week ASC";
$result = mysql_db_query("kalender","$sql");
while($data=mysql_fetch_array($result)){
MungoMedlem sedan jan. 2000372 inlägg Och vad är det du vill göra nu då? För tillfället hämtar du ju ingenting från tabellen "handelser" utan länkar bara in den med LEFT JOIN vilket verkar lite meningslöst.
Du vill lista alla veckor och under respektive vecka visa om nåt händer?
SELECT k.*, h.* FROM kalendarium k LEFT JOIN handelser h ON h.week = k.kal_week WHERE k.kal_year = '$year' AND k.kal_month = '$month' ORDER BY k.kal_week ASC
Detta borde visa allt rätt, sen kan du ju med hjälp av PHP avgöra om en "händelse" ska visas eller inte baserat på huruvida "deleted" är 0 eller 1...
filipbhMedlem sedan juli 2002405 inlägg Det är ingen skillnad i utskriften.. Alla skriver ut likadant. Oavsett Left join och Inner join etc..
Det är när jag lägger till "deleted=0" som det inte fungerar.. Då skriver den bara ut veckorna som har något inplanerat.
Dvs;
SELECT k.*, h.* FROM kalendarium k LEFT JOIN handelser h ON h.week = k.kal_week WHERE k.kal_year = '$year' AND k.kal_month = '$month' AND h.deleted='0' ORDER BY k.kal_week ASC