Daten aus Datenbank in Formular PHP

TomHaland

Cadet 1st Year
Registriert
Dez. 2021
Beiträge
12
Hallo,

ich bin etwas verzweifelt und bräuchte dringend mal etwas Hilfe.
Ich habe einen Button angelegt, mit dessen Hilfe ich Daten AUS einer Datenbank in freie Eingabefelder übertragen möchte.
Also, wenn man den Button drückt erscheint der Name, die Adresse usw, zur Bearbeitung in den Eingabe Feldern.

Nun das Problem: Ich komme einfach nicht drauf, wie ich die Daten da hin bekomme.
Ich kann ein befülltes array erstellen und mit fetch_assoc dann auch auslesen. aber wie bekomme ich die Daten nur in die Listenfelder und dropdowns? V.a.wie kann ich dass nur mit PHP realisieren?

Bin für jede Hilfe zielführende Hilfe dankbar.
 
für textfelder mit document.getElementById('').value (oder irgendwie so, ist schon zu lange her bei mir.) aber das findest du so bei google.
Für Dropdowns musst du die values über Javascript bauen. Gibts genug HowTos im Netz.

chrga
 
  • Gefällt mir
Reaktionen: netzgestaltung
Danke Dir, dann habe ich wohl nach den falschen Suchbegriffen gesucht.
ich hab' s mit "Eingabefelder aus Datenbank befüllen" u.ä. probiert. bei mir kommt da nicht brauchbares
Fertige Scripte für Java. Aber Java wollte ich ja-zumindest für die normalen Eingabefelder - gerne umgehen.
 
Verstehe ich dich richtig? Du möchtest Daten aus eine Datenbank auslesen und in ein Formular packen?

https://www.w3schools.com/php/php_mysql_select.asp

HTML:
form>
  <label for="fname">First name: <?php echo $row['firstname'];?> </label><br>
  <input type="text" id="fname" name="fname"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname">
</form>
 
Datenbankdaten und dann auf Clientseite? :confused_alt: Okay, aber dann fehlen ein ganz paar Schritte!

Für den Anfänger die vermutlich einfachste Option ist es, den HTML-Code von PHP generieren zu lassen. Dazu muß man natürlich ein bißchen Verständnis von HTML haben, was da was ist. Bei Bedarf hilft w3schools.

Sinngemäß, wenn ich meine Abfragedaten schon in einem assoziativen Array habe, dann kann ich einfach sowas wie
PHP:
echo '<select id="SelectBoxId">';
foreach($dataList as $key => $value)
{
printf ( '<option value="%2$s">%1$s</option>', $key, $value );
}
echo '</select>';
basteln (Achtung, ungetestet).

Option 2, die über Javascript, könnte(!) man über einen REST Ansatz basteln:
A, du baust die leere Website als eine Art Template zusammen und setzt eindeutige IDs überall dort, wo Daten aus der Datenbank hingesetzt werden müssen;
B, du bastelst das PHP-Script so zusammen, daß es nur die strukturierten Daten zurückgibt, entweder als XML oder als JSON;
C, du holst vom Client aus per AJAX die Daten vom Server ab und ordnest sie dann den in A vergebenen IDs zu. Also sinngemäß
Javascript:
 document.getElementById("TextBoxId").innerText = "Wert aus dem AJAX-Datenobjekt";


In KEINEM Fall verbindet man den Client direkt mit der Datenbank.
 
  • Gefällt mir
Reaktionen: Drexel
PHP:
<?php
$email = "peter@example.com"; // $dbRecord->email;
$users = [1 => "Paul", 5 => "Peter"];
$selectedUserId = 5; // $dbRecord->userId;
?>
<form>
    <label for="email">E-Mail-Adresse</label>
    <input id="email" type="text" name="email" value="<?=$email?>">
    <select name="userId">
    <?php
    foreach($users as $id => $label) {
        $selected = ($id == $selectedUserId ? ' selected="selected"' : '');
        ?><option value="<?=$id?>"<?=$selected?>><?=$label?></option>
    }
    ?>
    </select>
</form>

Als HTML sollte dann sowas rauskommen (wichtig sind hier: value= und selected=):
HTML:
<form>
    <label for="email">E-Mail-Adresse</label>
    <input id="email" type="text" name="email" value="peter@example.com">
    <select name="userId">
        <option value="1">Paul</option>
        <option value="5" selected="selected">Peter</option>
    </select>
</form>
 
Vielen Dank für eure Hilfe.
Ich versuche mal, ob ich jetzt weiter komme👨‍💻
 
Mit PHP ist sowas sehr einfach, aber man muss wissen wie das erstmal in HTML aussehen muss.
Einfach erstmal Dein "dropdown" (select) statisch bauen und Werte verändern (bissel rumspielen). Dann haste es schon und weißt welche Stellen von PHP generiert / manipuliert werden müssen.
 
Hallo, also die normalen Felder kann ich nun mit Daten befüllen.
Das Prinzip ist:
while (
$row =$result -> fetch_assoc())
{$typ =$row[TYP];
}
Zu den Dropdowns finde ich keinen Ansatz.

@TeXer: Sorry ich verstehe nicht wirklich was Du meinst. Da bin ich wohl zu neu in der Thematik.
Mein Dropdownmenü habe ich ja schon erstellt. Nun soll es praktisch auf einen bestimmten Wert Vor eingestellt werden und zwar abhängig von dem Datensatz, der per Button gewählt wird.
Ergänzung ()

Danke ich habs hinbekommen
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: TeXer
Zurück
Oben