Avatar billede ivanmort Nybegynder
14. november 2002 - 07:57 Der er 5 kommentarer og
1 løsning

Online Tilmelding (PHP - MYSQL)

http://www.sjellebro.dk/fam2002.html
Har jeg en online tilmelding, jeg vil godt har
dem ind i en table, med alle oplysninger : (navn,foedselsdato,koen,klassetrin,dato,familielejr,beboelse,adresse,postnr_bynavn,land,tlfnr,email,civilstand,Boernevagt,bemaerkninger,familieID)
på hver enkel person, på Kandu.dk var der en som kom med
denne løsning:

<?php
$errors=0;
$error="The following errors occured while processing your form input.<ul>";
if($familielejr=="" || $beboelse=="" || $civilstand=="" ){
$errors=1;
$error.="<li>You did not enter one or more of the required fields. Please go back and try again.";
}
if($errors==1) echo $error;
else{
$dato_array = getdate();
$dato = $dato_array["year"]."-".$dato_array["mon"]."-".$dato_array["mday"];
$message="familielejr: ".$familielejr."
navn1: ".$navn1."
Foedselsdato1: ".$Foedselsdato1."
navn2: ".$navn2."
Foedselsdato2: ".$Foedselsdato2."
adresse: ".$adresse."
postnr_by: ".$postnr_by."
land: ".$land."
tlfnr: ".$tlfnr."
email: ".$email."
beboelse: ".$beboelse."
civilstand: ".$civilstand."
Boernevagt: ".$Boernevagt."
Barn1Navn: ".$Barn1Navn."
Barn1Koen: ".$Barn1Koen."
Barn1Foedselsdato: ".$Barn1Foedselsdato."
Barn1Klassetrin: ".$Barn1Klassetrin."
Barn2Navn: ".$Barn2Navn."
Barn2Koen: ".$Barn2Koen."
Barn2Foedselsdato: ".$Barn2Foedselsdato."
Barn2Klassetrin: ".$Barn2Klassetrin."
Barn3Navn: ".$Barn3Navn."
Barn3Koen: ".$Barn3Koen."
Barn3Foedselsdato: ".$Barn3Foedselsdato."
Barn3Klassetrin: ".$Barn3Klassetrin."
Barn4Navn: ".$Barn4Navn."
Barn4Koen: ".$Barn4Koen."
Barn4Foedselsdato: ".$Barn4Foedselsdato."
Barn4Klassetrin: ".$Barn4Klassetrin."
Barn5Navn: ".$Barn5Navn."
Barn5Koen: ".$Barn5Koen."
Barn5Foedselsdato: ".$Barn5Foedselsdato."
Barn5Klassetrin: ".$Barn5Klassetrin."
Barn6Navn: ".$Barn6Navn."
Barn6Koen: ".$Barn6Koen."
Barn6Foedselsdato: ".$Barn6Foedselsdato."
Barn6Klassetrin: ".$Barn6Klassetrin."
Bemaerkninger: ".$Bemaerkninger."
Dato: ".$dato."
";
mail("email","Online Tilmelding",$message,"From: email");
$host = "localhost";
$user = "user";
$pass = "pass";
$link = mysql_connect($host, $user, $pass);
mysql_select_db("database");
$tabel = "familycamp";
$sql_familieID = "SELECT familieID FROM $tabel ORDER BY familieID DESC";
$fam_ID = mysql_query($sql_familieID);
$familieID = (integer)mysql_fetch_array($fam_ID);
$familieID += 1;
$tabel2 = "persons";
$felter = "(dato, familielejr, beboelse, adresse, postnr, bynavn, land, tlfnr, email, civilstand, Boernevagt, bemaerkninger, familieID)";
$vaerdier = " VALUES (";
$vaerdier .= "\"" . $dato."\",";
$vaerdier .= "\"" . $_POST['familielejr']."\",";
$vaerdier .= "\"" . $_POST['beboelse']."\",";
$vaerdier .= "\"" . $_POST['adresse'] ."\",";
$vaerdier .= (integer)substr($_POST['postnr_by'], 0, 4) .",";
$vaerdier .= "\"" .substr($_POST['postnr_by'],5,strlen($_POST['postnr_by'])-5)."\",";
$vaerdier .= "\"" .$_POST['land']."\",";
$vaerdier .= $_POST['tlfnr'].",";
$vaerdier .= "\"" .$_POST['email']."\",";
$vaerdier .= "\"" .$_POST['civilstand']."\",";
if(!isset($_POST['Boernevagt'])) {
$vaerdier .= "\"off\",";
}else{
$vaerdier .= "\"" .$_POST['Boernevagt']."\",";
}
$vaerdier .= "\"" .$_POST['Bemaerkninger']."\", $familieID)";
mysql_query("INSERT INTO $tabel $felter $vaerdier") or die(mysql_error() . "<br>" . $vaerdier);
for($i = 1;$i < 3;$i++) {
$voksen = $_POST["navn".$i];
$voksenalder = $_POST["Foedselsdato".$i];
$sql_voksen = "INSERT INTO $tabel2 (navn,foedselsdato,koen,klassetrin,familieID) VALUES (\"$voksen\",\"$voksenalder\",\"NULL\",0,$familieID)";
mysql_query($sql_voksen) or die (mysql_error() ."<br>" .$sql_voksen);
}
for($i = 1;$i < 7;$i++) {
$barn = $_POST["Barn".$i."Navn"];
$barnalder = $_POST["Barn".$i."Foedselsdato"];
$barnkoen = $_POST["Barn".$i."Koen"];
$barnklasse = $_POST["Barn".$i."Klassetrin"];
$sql_barn = "INSERT INTO $tabel2(navn,foedselsdato,koen,klassetrin,familieID) VALUES ('$barn','$barnalder','$barnkoen',$barnklasse,$familieID)";
if(!$barn == "") {
mysql_query($sql_barn)  or die (mysql_error());
}
}
mysql_close($link);
header("Refresh: 0;url=http://www.sjellebro.dk/success.html");
}
?>

men den laver det i to tabler, kan det samme gøres i en
table? altså kan man bruge de samme input felter flere
gabge?
Avatar billede ivanmort Nybegynder
14. november 2002 - 07:58 #1
gabge = gange  :)
Avatar billede avminarm Juniormester
14. november 2002 - 10:51 #2
det kan det godt, men det vil ikke være en god ide - du får en tabel med MANGE poster og dermed bliver den evt. langsom. - jeg ville lade den blive i 2 tabeller. Desuden er der noget der hedder normalformer som helst skal overholdes i sql tabeller - f.eks bør man ikke have postnr og by i samme tabel da disse er afhængige af hinanden, f.eks. 2000 er altid frederiksberg - dvs disse kan ikke variere.

Jeg er ikke helt klar over hvad du mener med "bruge de samme input felter flere
gange?"
Avatar billede ivanmort Nybegynder
14. november 2002 - 11:01 #3
Jeg er ikke helt klar over hvad du mener med "bruge de samme input felter flere
gange?" Svar : adresse feltet skal bruges optil 8 gange, ved navn1, navn2, barn1navn osv.
og det med postnummer og by, så er det delt i den kode jeg fik fra kandu.dk
ang. antal poster så er det ca. 500 vi snakker om er det for mange?
Avatar billede avminarm Juniormester
15. november 2002 - 21:22 #4
det kan godt være det er mig ;-), men jeg er stadig ikke helt med - prøv lige at beskriv hvad du vil have.
Avatar billede ivanmort Nybegynder
15. november 2002 - 23:26 #5
Det er ok, jeg har fundet udaf det, og du har fået point...
Avatar billede avminarm Juniormester
17. november 2002 - 22:32 #6
ok - tak for points - er du sikker på jeg skal have så mange??
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester