Also ich fange ganz am Anfang an, hab meine Frage glaube ich wirklich nicht gut Formuliert:
Zusätzlich lösche ich alles raus was falsch ist oder nicht Funktioniert
Datei: neuer_eintrag.inc.php
Ich Rufe 2 Tabellen in meiner Datenbank ab:
<?php
ini_set('error_reporting', -1);
ini_set('display_errors', -1);
include('db_connect_i.inc.php');
$sql = "SELECT *
FROM monteure" ;
$erg = $db->query ($sql) or die ("Fehlermeldung=".$db->error);
while(($row = $erg->fetch_assoc()) !== Null){
$nachname[] = $row["nachname"];
$id_monteur[] = $row["id"];
}
$sql = "SELECT *
FROM taetigkeit" ;
$erg = $db->query ($sql) or die ("Fehlermeldung=".$db->error);
while(($row = $erg->fetch_assoc()) !== Null){
$bezeichnung[] = $row["bezeichnung"];
$id_taetigkeit[] = $row["id"];
}
?>
Alles anzeigen
Diese Tabellen (2 Spalten je Tabelle) möchte ich in eine Combobox "Datalist" laden:
<tr><td>ID Projekt.:</td>
<td><input type="text" name="id_projekt" size="10" value="<?php echo $_GET['ida']; ?>" readonly="readonly" required></td></tr>
<tr><td>Dein Name:</td>
<td>
<input type="text" name="nachname" list="browsers">
<datalist id="browsers">
<?php
foreach (array_combine($nachname, $id_monteur) as $erg_nachname => $erg_id_monteur) {
if(isset($_POST['nachname'])and $_POST['nachname'] == $erg_bezeichnung){
$t = $id_taetigkeit;
}
echo '<option value="' . $erg_nachname . '">' . $erg_id_monteur . '</option>';
}
?>
</option>
</datalist>
</td>
<tr><td>Tätigkeit:</td>
<td>
<input type="text" name="beschreibung" list="browsers1">
<datalist id="browsers1">
<?php
foreach (array_combine($bezeichnung, $id_taetigkeit) as $erg_bezeichnung => $erg_id_taetigkeit) {
if(isset($_POST['bezeichnung'])and $_POST['bezeichnung'] == $erg_bezeichnung){
$t = $id_taetigkeit;
}
echo '<option value="' . $erg_bezeichnung . '">' . $erg_id_taetigkeit . '</option>';
}
?> </option>
</datalist>
Alles anzeigen
Zusätzliche habe ich noch 1 Textfelder bei denen etwas Ausgefüllt wird:
<tr><td> Arbeitsstunden:</td>
<td><input type="text" name="arbeitszeit" size="20" required></td></tr>
Also sieht die Datei so aus:
<?php
ini_set('error_reporting', -1);
ini_set('display_errors', -1);
include('db_connect_i.inc.php');
$sql = "SELECT *
FROM monteure" ;
$erg = $db->query ($sql) or die ("Fehlermeldung=".$db->error);
while(($row = $erg->fetch_assoc()) !== Null){
$nachname[] = $row["nachname"];
$id_monteur[] = $row["id"];
}
$sql = "SELECT *
FROM taetigkeit" ;
$erg = $db->query ($sql) or die ("Fehlermeldung=".$db->error);
while(($row = $erg->fetch_assoc()) !== Null){
$bezeichnung[] = $row["bezeichnung"];
$id_taetigkeit[] = $row["id"];
}
?>
<form method="POST" action="zeiterfassung_speichern.php">
<table>
<tr><td>ID Projekt.:</td>
<td><input type="text" name="id_projekt" size="10" value="<?php echo $_GET['ida']; ?>" readonly="readonly" required></td></tr>
<tr><td>Dein Name:</td>
<td>
<input type="text" name="nachname" list="browsers">
<datalist id="browsers">
<?php
foreach (array_combine($nachname, $id_monteur) as $erg_nachname => $erg_id_monteur) {
if(isset($_POST['nachname'])and $_POST['nachname'] == $erg_bezeichnung){
$t = $id_taetigkeit;
}
echo '<option value="' . $erg_nachname . '">' . $erg_id_monteur . '</option>';
}
?>
</option>
</datalist>
</td>
<tr><td>Tätigkeit:</td>
<td>
<input type="text" name="beschreibung" list="browsers1">
<datalist id="browsers1">
<?php
foreach (array_combine($bezeichnung, $id_taetigkeit) as $erg_bezeichnung => $erg_id_taetigkeit) {
if(isset($_POST['bezeichnung'])and $_POST['bezeichnung'] == $erg_bezeichnung){
$t = $id_taetigkeit;
}
echo '<option value="' . $erg_bezeichnung . '">' . $erg_id_taetigkeit . '</option>';
}
?> </option>
</datalist>
<tr><td> Arbeitsstunden:</td>
<td><input type="text" name="arbeitszeit" size="20" required></td></tr>
</table>
<input type="submit" name="submit" value="Speichern">
<input type="reset">
<input type="hidden" name="insertsent" value="1">
</form>
Alles anzeigen
Bis hierhin Funktioniert alles
Nun möchte ich diese Auswahlen Speichern:
ini_set('error_reporting', -1);
ini_set('display_errors', -1);
include('../db_connect_i.inc.php');
$id_monteur = isset($_POST['t']) ? $_POST['t'] : '';
$id_taetigkeit = isset($_POST['z']) ? $_POST['z'] : '';
$arbeitszeit = isset($_POST['arbeitszeit']) ? $_POST['arbeitszeit'] : '';
$id_projekt = isset($_POST['id_projekt']) ? $_POST['id_projekt'] : '';
mysqli_report(MYSQLI_REPORT_ERROR);
$stmt = $db->prepare("INSERT INTO stunden (taetigkeit, `mitarbeiter_id`, arbeitszeit, projekt_id) VALUES (?, ?, ?, ?)");
$stmt->bind_param('iiss', $id_taetigkeit, $id_monteur, $arbeitszeit, $id_projekt);
$stmt->execute();
$stmt->close();
//Header("Location: stundenerfassung_uebersicht.php?navi=1");
Alles anzeigen
Jeoch hat $t und $z keinen Inhalt
die Variable arbeitszeit und id_projekt habden den richtigen Inhalt.