Silverviper Skrevet 6. mai 2005 Del Skrevet 6. mai 2005 (endret) Hei, jeg har et problem jeg trenger hjelp til. Jeg holder på å lage et kunderegistreringssystem som omfatter 3 tabeller i mysql. tabell 1: kundeinfo tabell 2: pakker tabell 3: tilleggtjenester. På registreringsformen for "kundeinfo" så henter jeg ut 'tilleggtjenester' og skriver dem til formen. slik <?php include 'config.php'; mysql_connect(localhost,$username,$password); @mysql_select_db($database) or die( "kan ikke hente databasen"); $query="SELECT * FROM tilleggstjenester ORDER BY id ASC"; $result=mysql_query($query); $num=mysql_numrows($result); mysql_close(); $n=0; while ($n < $num) { # Database felt $id=mysql_result($result,$n,"id"); $tjenestenavn=mysql_result($result,$n,"tjenestenavn"); # Database felt echo '<input name="tilleggstjenester[]" type="checkbox" value="'.$id.'">'.$tjenestenavn.'<br>'; $n++; } ?> checkboxene blir postet til kundeinfo tabellen som et serialized array. Jeg har også en form for redigering/endring av kundeinfo, og tilleggstjenestene kunden abonerer på blir skrevet til redigering/endring formen silk. <?php include 'config.php'; $id = $_GET['id']; mysql_connect(localhost,$username,$password); mysql_select_db($database) or die( "kan ikke hente databasen"); $query="SELECT * FROM kunderegister WHERE id='$id'"; $result=mysql_query($query); $num=mysql_numrows($result); mysql_close(); # close $i=0; while ($i < $num) { $id=mysql_result($result,$i,"id"); $tilleggstjenester =mysql_result($result,$i,"tilleggstjenester"); $tilleggstjenester=unserialize($tilleggstjenester); foreach($tilleggstjenester as $id){ mysql_connect(localhost,$username,$password); mysql_select_db($database) or die( "Kan ikke velge databasen"); $query="SELECT * FROM tilleggstjenester WHERE id='$id'"; $result=mysql_query($query); $num=mysql_num_rows($result); $t=0; while ($t < $num) { $id=mysql_result($result,$t,"id"); $tjenestenavn=mysql_result($result,$t,"tjenestenavn"); echo '<input type="checkbox" name="checkbox[]" value="'.$id.'" checked><option>'.$tjenestenavn.'<br>'; ++$t; } } $i++; } ?> problemet er at denne php koden kun skriver de tilleggstjenestene kunden abbonerer på som 'checked', jeg vil også at den skal skrive en 'unchecked' checkbox for de tilleggstjenestene kunden ikke abbonerer på slik at jeg kan endre kundeinfo hvis kunden ønsker flere tjenester senere. Noen forslag til løsning, evt en annen og bedre metode? Chris Endret 9. mai 2005 av Silverviper Lenke til kommentar
kroekkete Skrevet 6. mai 2005 Del Skrevet 6. mai 2005 Hvordan ser tabellen "tilleggstjenester" ut? Mvh Primaxx (nr 300...) Lenke til kommentar
Silverviper Skrevet 6. mai 2005 Forfatter Del Skrevet 6. mai 2005 CREATE TABLE `tilleggstjenester` ( `id` int(25) NOT NULL auto_increment, `tjenestenavn` varchar(255) NOT NULL default '', `beskrivelse` text NOT NULL, `pris` varchar(255) NOT NULL default '', `etablering` varchar(255) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=246; CREATE TABLE `kunderegister` ( `id` int(9) NOT NULL auto_increment, `domene` varchar(255) NOT NULL default '', `firmanavn` varchar(255) NOT NULL default '', `kontaktperson` varchar(255) NOT NULL default '', `epost` varchar(255) NOT NULL default '', `telefon` varchar(25) NOT NULL default '', `mobil` varchar(25) NOT NULL default '', `fax` varchar(25) NOT NULL default '', `addresse` varchar(255) NOT NULL default '', `postnr` varchar(8) NOT NULL default '', `poststed` varchar(50) NOT NULL default '', `orgnr` varchar(50) NOT NULL default '', `kundedato` varchar(15) NOT NULL default '', `fakturert` varchar(32) NOT NULL default '', `nestefaktura` varchar(15) NOT NULL default '', `pakke` varchar(255) NOT NULL default '', `tilleggstjenester` varchar(255) NOT NULL default '', `servertype` varchar(255) NOT NULL default '', `statistikk` varchar(20) NOT NULL default '', `subdomene` varchar(20) NOT NULL default '', `ekstratrafikk` varchar(20) NOT NULL default '', `sql_size` varchar(20) NOT NULL default '', `domeneparkering` varchar(20) NOT NULL default '', `ftp_host` varchar(255) NOT NULL default '', `ftp_bruker` varchar(32) NOT NULL default '', `ftp_pass` varchar(32) NOT NULL default '', `sql_host` varchar(255) NOT NULL default '', `sql_db` varchar(255) NOT NULL default '', `sql_bruker` varchar(32) NOT NULL default '', `sql_pass` varchar(32) NOT NULL default '', `mail_url` varchar(255) NOT NULL default '', `mail_bruker` varchar(32) NOT NULL default '', `mail_pass` varchar(32) NOT NULL default '', `annet` text NOT NULL, `notater` text NOT NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=36; Chris Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå