2016-10-24 4 views
0

Ich habe eine dynamische Tabelle, die inline bearbeitet werden oder Zeilen dynamisch hinzugefügt werden können. Ich möchte in der Lage sein, eine Schaltfläche zum Speichern zu drücken, die eine UPDATE-Abfrage ausführt, um die Datenbank zu aktualisieren. Aber ich kann nicht herausfinden, wie. Ich bin wirklich fest hier und würde jede Hilfe zu schätzen wissen. HierUpdate Datenbank nach Button klicken

ist ein codepen: http://codepen.io/anon/pen/yawyQQ

Sie können die meisten Code in der codepen finden ... Ich werde einige meiner HTML/PHP-Code und Ajaxsubmit Code bereitzustellen.

HTML/PHP-Code:

<html> 

    <head> 
     <title>Stage Rebate Master HTML Table</title> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
     <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
     <link rel="stylesheet" type="text/css" href="html_master.css"> 
     <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 
     <script type="text/javascript" src="html_master.js"></script> 
    </head> 

    <label id="table_name">Stage_Rebate_Master</label><br> 

<body>  

<div id="dialog-form" title="Add Vendor"> 
    <p class="validateTips">All form fields are required.</p> 

    <form> 
    <fieldset> 
     <label for="mr_name">Vendor</label> 
     <input type="text" name="mr_name" id="mr_name" class="text ui-widget-content ui-corner-all"> 
     <label for="buyer_id">Buyer ID</label> 
     <input type="text" name="buyer_id" id="buyer_id" class="text ui-widget-content ui-corner-all"> 
     <label for="poc_n">POC Name</label> 
     <input type="text" name="poc_n" id="poc_n" class="text ui-widget-content ui-corner-all"> 
     <label for="poc_p">POC Email</label> 
     <input type="text" name="poc_e" id="poc_e" class="text ui-widget-content ui-corner-all"> 
     <label for="poc_p">POC Phone</label> 
     <input type="text" name="poc_p" id="poc_p" class="text ui-widget-content ui-corner-all"> 

     <!-- Allow form submission with keyboard without duplicating the dialog button --> 
     <input type="submit" id="submit" tabindex="-1" style="position:absolute; top:-1000px"> 
    </fieldset> 
    </form> 
</div> 



<div id="users-contain" class="ui-widget"> 
<table id="html_master" class="ui-widget ui-widget-content"> 
<thead> 
    <tr class="ui-widget-header"> 
    <td>ID</td> 
    <td>Vendor</td> 
    <td>Buyer ID</td> 
    <td>POC Name</td> 
    <td>POC Email</td> 
    <td>POC Phone</td> 
    <td>Edit/Delete</td> 
    </tr> 
</thead> 
<tbody> 

<?php 
    foreach ($dbh->query($sql) as $rows){ 
    ?> 
    <tr> 
     <td class="mr_id" contenteditable="false"><?php echo intval ($rows['MR_ID'])?></td> 
     <td class="mr_name" contenteditable="false"><?php echo $rows['MR_Name']?></td> 
     <td class="buyer_id" contenteditable="false"><?php echo $rows['Buyer_ID']?></td> 
     <td class="poc_n" contenteditable="false"><?php echo $rows['MR_POC_N']?></td>  
     <td class="poc_e" contenteditable="false"><?php echo $rows['MR_POC_E']?></td> 
     <td class="poc_p" contenteditable="false"><?php echo $rows['MR_POC_P']?></td> 
     <td><input type="button" class="edit" name="edit" value="Edit"> 
     <input type="button" class="deactivate" name="deactivate" value="Deactivate"></td> 
    </tr> 
<?php 
    } 
?> 
</tbody> 

    <input type="button" class="create-user" value="Add Row"> 
    <input type="submit" value="Save Table" class="save"> 

</table> 
</div> 

    <input type="button" class="create-user" value="Add Row"> 
    <input type="submit" value="Save Table" class="save"> 

</body> 


</html> 

Ajaxsubmit Code:

<?php 

$host="xxxx"; 
$dbName="xxxxxxx"; 
$dbUser="xxxxx"; 
$dbPass="xxxxxxxxxxxx"; 

$dbh = new PDO("sqlsrv:server=".$host."; Database=".$dbName, $dbUser, $dbPass); 
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 


$data = $_POST['data']; 
foreach($data as $row){ 
    $sql = "UPDATE Stage_Rebate_Master SET MR_Name='$row[mr_name]', 
    Buyer_ID='$row[buyer_id]', 
    MR_POC_N='$row[poc_n]', 
    MR_POC_E='$row[poc_e]', 
    MR_POC_N='$row[poc_p]' 
    WHERE MR_ID='$row[mr_id]'"; 

    $dbh->query($sql); 
} 

?> 
+0

Haben Sie über Ajax dokumentiert? –

+0

Ich habe es ein wenig gelesen, aber habe es nie genug verwendet, um zu wissen, wie man es mit diesem ... einfach brauchen etwas schnell – Rataiczak24

+0

meine Antwort und wenn alles nicht klar fragen Sie mich bitte – mohade

Antwort

0

Wenn Sie wollen, dass es nur geschehen, wenn Sie auf einem 'Update' klicken, Sie könnten versuchen, eine

mit
if(isset($_POST["Update"])) 
{ 
//PDO statement to update the database 
} 

Dies wird nur Aktion, wenn der Button mit dem Namen 'Update' innerhalb des Formulars gedrückt wird.

+0

so würde dies gehen die Ajax Seite einreichen? – Rataiczak24

+0

Es würde auf der Hauptseite gehen, wo der 'Update' Button wäre. Es wäre serverseitig, so dass die Seite neu geladen werden müsste. Es ist wie ein Validierungsskript, das besagt, dass Sie das Formular mit Wertupdate gesendet haben, also die folgenden Aktionen. –

0

Sie Jquery oder Javascript verwenden können, zu veröffentlichen und zu aktualisieren Daten

jquery Code:

$.post("save2db.php",{ 
    id:"id", 
    vendor:"vendor_name" 
}); 

id: $ _POST [ 'id']

Anbieters: $ _POST [ 'Anbieter'

]

save2db.php wird:

if(isset($_POST['vendor'])){ 
     $vendor=$_POST['vendor']; 
     $id=$_POST['id']; 
    //your update sql query 
    } 
+0

also, was würde die ajaxsubmit Seite aussehen, oder in Ihrem Fall, die save2db Seite aussehen? – Rataiczak24

+0

ich werde meine Antwort jetzt bearbeiten – mohade

+0

immer noch nicht funktioniert – Rataiczak24

Verwandte Themen