2016-04-26 3 views
1

Da ich neu in PHP und SQL bin, habe ich ein einfaches HTML-Formular mit 20 Eingaben erstellt, mit dem Benutzer bestimmte Daten über Eingabeparameter = Text oder Datei eingeben können. Ich habe eine MySQL-Datenbank erstellt, in die diese Benutzerdaten eingefügt/gespeichert werden. Alles funktioniert, das ist eine große Leistung für mich.Wiederbefüllen/Bearbeiten von HTML-Formulareingaben mit MySQL-Daten

Ich bitte um Hilfe bei diesem nächsten Schritt, ich denke, dieser Schritt würde "Bearbeiten" genannt werden?

Mit diesem Schritt können Benutzer die eingegebenen mysql-Daten zu einem späteren Zeitpunkt abrufen, bearbeiten und speichern. Möchte diese zurückgerufenen Daten direkt in das ursprüngliche HTML-Formular einfügen lassen. Jetzt scheint es notwendig zu sein, eine Methode (möglicherweise eine HTML-Form "ID" -Eingabe) zu haben, die von der Datenbank den spezifischen Datensatz (einschließlich aller 20 Dateneingaben) aufruft, der diesem Benutzer zugeordnet ist. Denke ich richtig?

Ich bitte um Hilfe/Richtung mit einfachen, aber detaillierten Ansatz, um diesen Schritt zu lösen. Beachten Sie, dass meine wenigen Versuche in diesem "Bearbeitungs" -Schritt mit einigen Beispielen fehlgeschlagen sind. Ich habe kein festes Verständnis für dieses PHP, habe aber den starken Wunsch, kompetent zu werden.

Dies ist eine abgespeckte Version meines aktuellen Arbeitscodes. Ich eliminierte die $connection = mysql_connect.

Das ist die PHP, die ich gebaut habe, funktioniert super!

<?php 
require('db.php'); 

if (isset($_POST['first_name'])){ 

    $first_name = $_POST['first_name']; 

    $favorite_color = $_POST['favorite_color']; 

    $trn_date = date("Y-m-d H:i:s"); 

    $query = "INSERT into `form_data` (first_name, favorite_color, trn_date) VALUES ('$first_name', '$favorite_color', '$trn_date')"; 
    $result = mysql_query($query); 

    if($result){ 
     echo "<div class='form'><h1>First Name & Favorite Color POST to db was successfull.</h1> 
     <br/><h3>Click here to return <a href='https://jakursmu.com/tapcon_builder/tb_form_data_1.1.php'>TapCon Builder</a></h3> 
     </div>"; 

    } 
}else{ 

>

Dies ist die HTML-Form arbeitet, groß mit dem PHP-Skript:

<div class="form"> 
    <h1>First Name & Favorite Color "POST" to db Test</h1> 
    <form target="_blank" name="registration" action=" " method="post"> 
     <p> First Name<input name="first_name" type="text" placeholder="First Name" /> </p> 
     <p> Favorite Color <input name="favorite_color" type="text" placeholder="Favorite Color" /> </p> 
     <p> <input type="submit" name="submit" value="Submit/Update to db" /></p> 
    </form> 
</div> 

Angenommen, der Benutzer fragt die Datenbank ihres „first_name“ verwenden, wenn diese „bearbeitet "Schritt ist abgeschlossen, das Endergebnis wird die Benutzer" first_name "und" favorite_color "in das ursprüngliche HTML-Formular zurückversetzen. Macht das Sinn?

Die Datenbank, die ich für diese Hilfe Post erstellt, sieht wie folgt aus:

database image

Wenn ein Benutzer ihre Daten zu bearbeiten wünscht, können sie ihre „first_name“ eingeben, in einer Form, Texteingabe, (ich nehme an?) wo ihr "first_name" in der Datenbank gefunden wird. Das Ausgabeergebnis dieser Datenbankabfrage wird in das ursprüngliche Formular eingefügt und kann von jedem Benutzer bearbeitet werden.

User Edit for: Results (in origingal form): 
Jack   Jack Black 
Jeff   Jeff Green 
Randall   Randall Red 
So on......... 

Ich hoffe, dass diese Erklärung sinnvoll ist, wo jede erfahrene Hilfe oder Anleitung angeboten wird.

Vielen Dank für Ihre Bewertung!

Antwort

0

nur für Übungszwecke, kann aber in vorbereiteten Aussagen zu Ihrer Zeit suchen.

erstellen erste ur PHP-Datei

<form method="post" action="edit.php"> 
    <?php 

    //in ur php tag. select items from the row based on an id you've passed on to the page 

    $sql = "select * from 'form_data' where blah = '$blah'"; 
    $result = mysqli_query($connection, $sql); 

    if($result){ 

    $count = mysqli_num_rows($result); 
    if($count > 0) { 

     while($row = mysqli_fetch_assoc($result)){ 

      $name = $row['firstname']; 
      $lname = $row['lastname']; 

      //you can now echo ur input fields with the values set in 
      echo' 

       <input type="text" value="'.$name.'" > 
        ';//that how you set the values 


     } 

    } 


} 

    ?> 

</form> 

Schließlich können Sie laufen und Update-Anweisung anschließend auf dieser Eingabe dynamisch generierte Form.

Auch wechseln Sie bitte zu mysqli oder pdo, viel besser, dass die veraltete mysql. schauen Sie auch in vorbereitete Aussagen. Hoffe, dieses nette Beispiel führt Sie den richtigen Weg ...

+0

Dies wird nicht funktionieren, noch antwortet es direkt OP Frage. Eine Antwort mit 'mysqli_' zu liefern, wenn OP den Standard' mysql_' verwendet, hilft nicht die Ursache. Biete die Antwort mit dem OP-Code an und biete dann eine zusätzliche Methode an, mysqli_ zu verwenden, wenn dir danach ist. Wenn Sie den Tabellennamen in der Abfrage mit ''form_data'' in Anführungszeichen setzen, wird ein Fehler ausgegeben. Backticks oder gar nichts. – Marcus

+0

@Mueyiwa - Vielen Dank für Ihre Richtung. Unerfahren in .php, habe ich Schwierigkeiten, Ihrem Vorschlag zu folgen. Ein großer Missverständnis, den ich in diesem "Edit" -Schritt habe, ist die Methode, die erforderlich ist, um die Benutzer nach ihrem Namen in der Datenbank suchen zu lassen. Ich nehme an, eine Formulareingabe mit submit muss notwendig sein? Nachdem das gesagt ist, werde ich an Ihrem Vorschlag in der Hoffnung arbeiten, meinen Weg zu finden. Jede andere klare detaillierte Richtung wird geschätzt. Danke. – Alex

+0

@Marcus - Vielen Dank für die Anzeige meiner Hilfe benötigt Post. Wäre es möglich, dass Sie mich mit eindeutigen Angaben zu meiner Anfrage anweisen könnten? Ich werde an Mueyiwas Vorschlag arbeiten, diesen Schritt meines Projekts zu lösen. Ich werde das Gleiche tun, sollten Sie mich anweisen. Danke. – Alex