Hallo Basi,
vielen Dank, hat jetzt ne Weile gedauert, aber jetzt hab ich es Verstanden.
Gruß
Manfred
Hallo Basi,
vielen Dank, hat jetzt ne Weile gedauert, aber jetzt hab ich es Verstanden.
Gruß
Manfred
Hallo Basi,
ich habs jetzt genau so übernommen wie du das gepostet hast, bekomme immer das gleiche Ergebnis.
Der erste Wert aus der Box wird angezeigt.
Vieleicht liegt ja der Fehler wo anders, ich muss sagen ich kapiers leider nicht.
Hamster kommt zwei mal vor, darum auch zwei Ausgaben mit PHP.
Es ist doch so, das der erste "Hamster" in die DB eingetragen und der zweite auf der Webseite in der Optionbox angezeigt wird ?!
Hier der komplete Code:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Tiere bearbeiten</title>
<?php
include("include/menu.html");
?>
</head>
<body>
<?php
// Verbindung zur Datenbank aufbauen.
include "include/verbtiere.php";
// Die Nachricht aus der Datenbank zum bearbeiten in ein Formular laden.
// Wurde eine ID �ber $_GET gesendet?
if (isset($_GET["id"])) {
// Nachricht mit der ID auslesen
// prepare() bereitet die Anweisung f�r das auslesen vor.
$select = $verbindung->prepare("SELECT `id`, `datum`, `nname`, `art`, `farbe`, `tatoo`, `chip`
FROM `tiere`
WHERE `id` = :id");
// $select->execute() f�hrt die Anweisung aus.
// Hier wird der Platzhalter und der Wert �ber ein assoziatives Array �bergeben.
$select->execute( array(':id' => $_GET["id"]) );
// $select->fetch() holt die Zeile aus dem Ergebnis.
$nachricht = $select->fetch();
// Mit $select->rowCount() �berpr�fen ob ein Datensatz zur�ckgegeben wurde.
if ($select->rowCount() == 1) {
// Formular zum bearbeiten der Nachricht ausgeben
echo '<form action="tiere_edit.php" method="post">;
<div id="rechtsbox">
<br><br>
<center><h2>Tiere bearbeiten</h2></center>
<br><p>
<li><span><input type="date" name="datum" style="text-align: right;" class="tcal" value="' . $nachricht["datum"] . '" size="10" maxlength="10"></span>Datum:</li>
</p><br>
<li><span> <label for="nname"><input type="text" id="nname" name="nname" value="' . $nachricht["nname"] . '"></span>Name: </li><br>
<?php $nachricht["art"] = "Biber"; ?>
<li>
<span>
<label for="art">
<select name=art id=art>
<option value="Hund">Hund</option>
<option value="Katze">Katze</option>
<option value="Hamster">Hamster</option>
<option value="Maus">Maus</option>
<option value="Frettchen">Frettchen</option>
<option value="Kanninchen">Kanninchen</option>
<?php if(isset($nachricht["art"])) { ?>
<option value="<?php print $nachricht["art"]; ?>" selected><?php print $nachricht["art"]; ?></option>
<?php } ?>
</select>
</label>
</span> Tierart:
</li>
<br>
<li><span> <label for="farbe"><input type="text" id="farbe" name="farbe" value="' . $nachricht["farbe"] . '"></span>Farbe: </li><br>
<li><span> <label for="tatoo"><input type="text" id="tatoo" name="tatoo" value="' . $nachricht["tatoo"] . '"></span>Tatoo: </li><br>
<li><span> <label for="chip"><input type="text" id="chip" name="chip" value="' . $nachricht["chip"] . '"></span>Chip-Nr.: </li><br>
<br>
<p class="impress">
<a href="#">Impressum</a> | <a href="#">Kontakt</a>
</p>
<?php
// Wurde das Formular abgesendet
if ("POST" == $_SERVER["REQUEST_METHOD"]) {
// Verbindung zur Datenbank aufbauen.
// Die Verbindung sollte erst aufgebaut werden, wenn diese benötigt wird.
include "include/verbindung.php";
<p>
<label><input type="radio" name="option" value="edit" checked="checked"> Ändern</label>
<label><input type="radio" name="option" value="delete" required="required"> Löschen</label>
<input type="hidden" name="id" value="' . $nachricht["id"] . '">
</p>
<p>
<input type="submit" name="execute" value="Speichern">
</p>
</div>
</form>';
}
else {
echo '<p>Dieser Datensatz ist nicht vorhanden!</p>';
}
}
// Nachricht �ndern oder l�schen
if (isset($_POST["execute"])) {
// Nachricht �ndern
if ($_POST["option"] == 'edit') {
// Die Formulareingaben m�ssen hier �berpr�ft werden,
// prepare() (prepare = aufbereiten) bereitet die Anweisung f�r die Ausf�hrung vor.
$update = $verbindung->prepare("UPDATE `tiere`
SET
`datum` = :datum,
`nname` = :nname,
`art` = :art,
`farbe` = :farbe,
`tatoo` = :tatoo,
`chip` = :chip
WHERE `id` = :id");
// $update->bindValue() bindet einen Wert an den angegebenen Variablennamen
// (die Platzhalter werden durch den POST-Variablen ersetzt).
$update->bindValue(':datum', $_POST["datum"]);
$update->bindValue(':nname', $_POST["nname"]);
$update->bindValue(':art', $_POST["art"]);
$update->bindValue(':farbe', $_POST["farbe"]);
$update->bindValue(':tatoo', $_POST["tatoo"]);
$update->bindValue(':chip', $_POST["chip"]);
$update->bindValue(':id', $_POST["id"]);
// $update->execute() f�hrt die vorbereitete Anweisung aus.
if ($update->execute()) {
echo '<p>» Der Datensatz wurde ueberschrieben.</p>';
}
else {
// SQL-Fehlermeldung anzeigen.
print_r($update->errorInfo());
}
}
// Nachricht l�schen
if ($_POST["option"] == 'delete') {
// prepare() bereitet die Anweisung f�r die Ausf�hrung vor.
$delete = $verbindung->prepare("DELETE FROM `tiere`
WHERE `id` = :id");
// $delete->bindValue() bindet einen Wert an den angegebenen Variablennamen
// (der Platzhalter wird mit den POST-Variablen ersetzt).
$delete->bindValue(':id', $_POST["id"]);
// $delete->execute() f�hrt die vorbereitete Anweisung aus.
if ($delete->execute()) {
echo '<p>» Die Nachricht wurde gel�scht.</p>';
}
}
}
// Nachrichten auslesen
// $select->query() f�hrt die SQL-Anweisung aus,
// die eine Ergebnismenge als PDOStatement Objekt zur�ck gibt.
$select = $verbindung->prepare("SELECT `id`, `datum`, `nname`, `art`, `farbe`, `tatoo`, `chip`
FROM `tiere`
ORDER BY `datum` DESC");
// $select->fetchAll(...) gibt ein Array mit allen Datens�tzen zur�ck.
// PDO::FETCH_OBJ gibt ein Objekt mit Eigenschaftennamen zur�ck,
// diese entsprechen den Spaltennamen.
$nachrichten = $select->fetchAll(PDO::FETCH_OBJ);
// Anzahl der Nachrichten mit count($nachrichten) ausgeben.
echo '<h5>' . count($nachrichten) . ' Nachrichten</h5>';
?>
</body>
</html>
Alles anzeigen
Wenn ich die Zeile von dir
<?php if(isset($nachricht["art"])) { ?>
<option value="<?php print $nachricht["art"]; ?>" selected><?php print $nachricht["art"]; ?></option>
<?php } ?>
nicht unten sonder nach
<select name=art id=art>
<?php if(isset($nachricht["art"])) { ?>
<option value="<?php print $nachricht["art"]; ?>" selected><?php print $nachricht["art"]; ?></option>
<?php } ?>
stelle, dann wird "selected>" in der Box angezeigt.
Vielen Dank!
Gruß
Manfred
Hallo Basi,
vielen Dank für deine schnelle Antwort, ich hab das gleich mal getest, und bekomme nun " selected> in der Inbox angezeigt.
<?php if(isset($nachricht["art"])) { ?>
<option value="<?php print $nachricht["art"]; ?>" selected><?php print $nachricht["art"]; ?></option>
<?php } ?>
ich finde den Fehler in der Zeile nicht. Was ich auch nicht so ganz verstehe, warum 2 mal <?php print $nachricht["art"]; ?> ????
Danke
Manfred
Hallo,
ich bin mir nun nicht sicher ob ich hier richtig bin aber ich hoffe jemand hat eine Lösung für mich.
Ich hab einen kleine DB die ich mit einem HTML Formular befülle, in diesem Formular ist unter anderem ein Feld mit einer Auswahl:
<li><span> <label for="nname"><input type="text" id="nname" name="nname"></span>Name: </li>
<li><span> <label for="art">
<select name=art id=art>
<option value="Hund">Hund</option>
<option value="Katze">Katze</option>
<option value="Hamster">Hamster</option>
<option value="Maus">Maus</option>
<option value="Frettchen">Frettchen</option>
<option value="Kanninchen">Kanninchen</option>
</select> </label></span> Tierart:
</li>
Alles anzeigen
Funktioniert auch alles super gut, nun würde ich das Feld aber auch gerne ändern, bzw. den Inhalt. Da kommt mein Problem:
Für das Update habe ich folgende Zeile (beim Namen)
<li><span> <label for="nname"><input type="text" id="nname" name="nname" value="' . $nachricht["nname"] . '"></span>Name: </li><br>
Wenn ich das ganze dann mit dem anderen Feld mit Option Value versuche wird das Feld immer mit dem ersten Wert gefüllt, nicht mit dem aus der DB.
<li><span>
<select type="text" name="art" value="' . $nachricht["art"] . '" id=art>
<option value="Hund">Hund</option>
<option value="Katze">Katze</option>
<option value="Hamster">Hamster</option>
<option value="Maus">Maus</option>
<option value="Frettchen">Frettchen</option>
<option value="Kanninchen">Kanninchen</option>
</select> </label></span> Tierart:
</li>
Nun hoffe ich das jemand mir weiterhelfen kann, ich habe bis dato im Netz nichts gefunden das mir weiterhilft.
Vielen Dank im vorraus
Gruß
Manfred
Jetzt ist der Groschen gefallen
Vielen Dank!
Mit deinem Beispiel und der Erklärung kappiert das sogar so ein legasteniker wie ich
Gruß
Manfred
Hallo MrMurphy,
vielen Dank für deinen Kommentar,
die Seite soll jedoch nicht auf einem Freewareprovidor oder sonst irgendwo veröffentlicht werden,
das ganze wird eine DB zur Verwaltung eines Tierheims. Also nur intern genutzt.
Aber der Tip mit dem Providor find ich gut
Den Code kann ich natürlich hier reinbringen:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Tierheim</title>
<?php
include("include/menu.html");
?>
<link rel="stylesheet" href="style/print.css" type="text/css" media="print" />
<link rel="stylesheet" href="style/styles.css" type="text/css" media="screen"/>
</head>
<body>
<div id="inhalt">
<form action="uebereignungsvertrag.php" method="post">
<fieldset>
<legend><h2><span class="vertrag">Übereignungsvertrag</span></h2></legend>
<span class="druck_tierheimnr">Tierheim Nr.: </span>
<span class="eingabefeld_tierheimnr"><input type="text" name="tierheimnr" size="10" required="required"></span>
.
.
.
.
.
. </fieldset>
Alles anzeigen
Was mich hier nun intressieren würde, wie kann ich das Fildset entweder ganz ausblenden oder besser noch verschieben?
Danke euch!
Hallo Gemeinde,
kann mir jemand erklären wie ich ein Fieldset beim Drucken komplett nach links verschiebe?
Ich habe mir ein Formular zusammen gebaut, habe auch Fieldset zur besseren Übersicht eingebaut und wollte das ganze (ohne Menü das sich links befindet) auf den Drucker schicken.
Alles läßt sich schön mit Span oder Div verschieben, aber Fieldset krieg ich nicht weg.
Hoffe es kann mir jemand helfen.
Danke
Gruß
Manfred
Hallo Gemeinde,
ich bin hier neu im Forum und fall dann gleich mal mit der Tür ins Haus.
Nun ich bin dabei für unser Tierheim eine neue DB aufzubauen, mache das mit PHP, MySql, ein wenig HTML und etwas CSS.
Die Seiten sind so aufgebaut, das Links das Navigationsmenü steht und rechts daneben die Mitarbeiter Daten eingeben können.
Es gibt dazu verschiedene Formulare die Ausgefüllt werden und dann auszudrucken sind.
Ich habe also die linke Seite mit dem Menü fürs drucken ausgeblendet und wollte nun auch den Platz zum Drucken verwenden.
Nun ist die Frage die ich mir dabei stelle, geht das überhaupt? wenn ja, wie? denn wenn ich auf die Druckvorschau gehe, ist der Platz an dem das Menü war immer nur weiß.
Ich währe für Hilfe dazu sehr dankbar!
Gruß
Manfred
Ok. ich habe den Beitrag zu schnell verfasst, es funktioniert!
Wenn man etwas nachdenkt kommt man auch selber drauf.
Danke
Gruß
Manfred
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.