Hvordan skal dette bygges op i databasen? Skal jeg have 31 felter for hver dato, for hver måned? ... for så bliver det jo hurtige en del felter, da et år bare, vil være 365 felter. SÅdan skal det vel ikke laves ... ellers hvad?
Ja meget flot sql. Dog glemte jeg at sige noget til dig, felterne id, medarbejder_id og status skal du tilføje den mulighec som hedder auto_increment dette kan du gøre i phpmyadmin. Som bigo siger skal du nu lave et script som sætter det hele ind. Dette er en lidt større omgang når du er helt på bar bund, here goes: Det første vi skal er at have en side til at indsætte medarbejdere. /********** Kode til siden add_medarbejder.php ****************/ <? $db = mysql_connect(dine info); if(isset($_POST['doAdd'])){ if(!empty($_POST['navn'])){ $navn = $_POST['navn']; if(!$result = mysql_query("INSERT INTO medarbejdere SET navn='$navn'")){ echo "Der opstod en fejl\n"; }else{ echo $navn." blev tilføjet databasen\n"; } } } ?>
<form action='add_medarbejder.php' method='post'> <input type='text' name='navn'> <input type='submit' value='Tilføj' name='doAdd'> </form> /********** Slut på Kode til siden add_medarbejder.php ****************/
Design er der inget af i dette, går udfra at du kan det selv, det var en lille start der kommer mere senere, men start med at få dette til at virke. /Conundrum
Når du sætter autoinc. på felterne bliver du nødt til at have en unik key. F.eks. ID. Så du bliver nødt til at sætte ID som primary key og så sætte autoinc til.
Eller du kan slette vagtplan og medarb. tabellerne og indsætte dem på ny med autoinc. i id og medarb_id:
#DROP TABLE IF EXISTS `vagtplan`; CREATE TABLE `vagtplan` ( `id` SMALLINT NOT NULL Auto_increment, `dato` TIMESTAMP NOT NULL , `medarbejder_id` SMALLINT NOT NULL , `status` TINYINT NOT NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM;
#DROP TABLE IF EXISTS `medarbejdere`; CREATE TABLE `medarbejdere` ( `medarbejder_id` SMALLINT NOT NULL auto_increment, `navn` VARCHAR( 255 ) NOT NULL, PRIMARY KEY (`medarbejder_id`) ) TYPE=MyISAM;
sorry. var lige væk. Men det var da godt du kom videre. Så har du fået lagt en bruger i basen. Du skal jo også have tilknyttet noget data til medarbejderen.
Hent medarbejdere frem så jeg kan vælge Sætte id til valgt medarbejder // Hint. submit(); Give mulighed for indtastning af vagtdata Afslut
Strukturer kode som følger (sådan gør jeg):
// start init af sessions osv. definition af variabler // // Check indkomne data for evt. fejl // // Behandl indkomne data // Hent / opdater / Indsæt / slet evt. data fra database // Behandl databasedata for præsentation // // Vis HTML kode
<? //connect to DB $db_name = "free19081"; $db = @mysql_connect("localhost","user","pwd") or die ("The Database server does not answer."); @mysql_select_db($db_name,$db) or die("I cannot connect to the database!:". mysql_error());
$get_sql = "SELECT * FROM medarbejdere"; $get_res = mysql_query($get_sql) or die ($get_sql."<br>".mysql_error());
// Her skal du selv indsætte ting /* if ($_POST[doAdd]) { // Opdater database tabel vagtplan } */
?>
<HTML> <HEAD> </HEAD> <BODY> <form action=<?=$_SERVER[PHP_SELF];?> name=vaelg_medarbejder method=post> Vælg Medarbejder: <select name=med_id onChange="if(this.options[this.selectedIndex].value != ''){document.vaelg_medarbejder.submit();}"> <option value=''>Vælg medarbejder</option> <? while ($get_row = mysql_fetch_assoc($get_res)) echo "<option value='{$get_row[medarbejder_id]}'>{$get_row[navn]}</option>"; ?> </select> </form> <br> <form action=<?=$_SERVER[PHP_SELF];?> method='post'> Navn:<input type='text' name='navn' value='<?={$get_row[navn]};?>'><br> Dato:<input type='text' name='dato'><br> Status:<br> <!-- Dette kan lave på en anden måde så du får data fra database tabellen status --> <input type=checkbox name=status1>På arbejde<br> <input type=checkbox name=status2>Fridag<br> <input type=checkbox name=status3>Ferie<br> <input type=checkbox name=status4>Sygedag<br> <input type=checkbox name=status5>Barns sygedag<br> <input type='submit' value='Tilføj data' name='doAdd'> </form> </BODY> </HTML>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.