PHP/MySQL Problem

Pennywise09

Neuling
Thread Starter
Mitglied seit
09.12.2004
Beiträge
947
Ort
/ 3rD3
Hallo

ich habe folgendes Problem:

Ich möchte das folgende Einträge der Html Datei in eine MySQL Datenbank eingetragen werden.

Es klappt auch alles, bis auf den Eintrag für die Checkboxen "Studiengang". Da habe ich das Problem, dass er mir immer nur den zuletzt ausgewählten Studiengang Einträgt. Wählt man also 4 Studiengänge, W, L, P, H aus, trägt er nur H in die Datenbank ein.

Hier die 2 Quellcodes zu meinem Problem:

Html:
HTML:
<body>

Mat.Nr.:  
<form action="student.php" method="POST">
<input type="text" name="matrnr" />   Studiengang: 
<INPUT TYPE="checkbox" NAME="StudiengangW">  W 
<INPUT TYPE="checkbox" NAME="StudiengangL">  L 
<INPUT TYPE="checkbox" NAME="StudiengangP">  P 
<INPUT TYPE="checkbox" NAME="StudiengangH">  H 
<p>
<BR>
	<p> Name:     
	<input type="text" name="name" />   Vorname:  
	<INPUT TYPE="text" NAME="vorname"><p>
    <BR>
	<p> e-mail:     
	<input type="text" name="email" />   Semester:  <SELECT NAME="semester">
    <option value="1"> 5</option>
    <option value="1"> 6</option>
    <option value="1"> 7</option>
    <option value="1"> 8</option>
    <option value="1"> 9</option>
	</SELECT>
	<BR><BR><BR>
	<p>



<INPUT TYPE="submit" value="Fertig">
</form>
</BODY>

und der php code:

PHP:
<?php
mysql_connect("xxx.xx.xxx.xxx",root,"");

$id=mysql_select_db("test");



$erg=mysql_query("INSERT INTO studenten(name,vorname,matrnr,email) VALUES('$name','$vorname', '$matrnr', '$email')");


if ($studiengangW =! "")
mysql_query("update studenten set studiengang = 'w' where matrnr='$matrnr' ");

if ($studiengangL =! "")
mysql_query("update studenten set studiengang = 'L' where matrnr='$matrnr' ");

if ($studiengangP =! "")
mysql_query("update studenten set studiengang = 'P' where matrnr='$matrnr' ");

if ($studiengangH =! "")
mysql_query("update studenten set studiengang = 'H' where matrnr='$matrnr' ");
?>
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
du musst die studiengänge in eine extra tabelle auslagern
 
Er trägt ja etwas ein. Er trägt halt immer nur einen ein.

Wenn ich also 4 in dem Formular ankreuze, trägt er den letzten ein.
 
nein, er trägt den eben 4 mal ein, und der letzte ist dann der endgültige....

also etweder du machst 4 studiengang felder oder wie schon gesagt eine tabelle mit den studiengängen und dann noch eine in der studiengänge mit studenten verknüpft werden (n:n auflösen)
 
Machs doch einfach so:
Code:
<INPUT TYPE="checkbox" NAME="Studiengang[]" value="W">  W 
(etc.)

Und beim Eintragen spaeter:
PHP:
$stdg = implode($_POST['Studiengang']," ");
$erg=mysql_query("INSERT INTO studenten(name,vorname,matrnr,email,studiengang) VALUES('$name','$vorname', '$matrnr', '$email','".$stdg."')");
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh