2017-04-17 8 views
-1

Ich habe den folgenden Code, der großartig funktioniert, um den Wert des Radiobuttons zu speichern und in die Datenbank zu schreiben (HTML -> Javascript -> PHP).Default Radiobutton Wert aus der Datenbank

Jetzt habe ich ein Update-modal und möchte die Radio-Button-Werte eines vorherigen Datensatzes auffüllen. Ich bin mir nicht sicher, was ich falsch mache, aber ich kann nicht die Standardwerte für das Optionsfeld erhalten, um zu zeigen, wenn der Benutzer update trifft.

HTML

<div class="form-group"> 
      <label for="update_flag">Update Flag:</label> 
      <br> 
      <label class="radio-inline"><input type="radio" name="update_flag" value="Yes">Yes</label> 
      <label class="radio-inline"><input type="radio" name="update_flag" value="Maybe">Maybe</label> 
      <label class="radio-inline"><input type="radio" name="update_flag" value="No">No</label> 
     </div> 

Javascript: Die JSON.parse gibt ein JA/NEIN/MAYBE und ich überprüft haben, dass sie es richtig zurückkehrt.

function GetUserDetails(id) { 

$("#hidden_user_id").val(id); 
$.post("ajax/readUserDetails.php", { 
     id: id 
    }, 
    function (data, status) { 
     // PARSE json data    
     var va = JSON.parse(data); 
     $("output[name=update_flag]:checked").val(va.flag); 
    } 
); 
// Open modal popup 
$("#update_user_modal").modal("show");} 

PHP:

<?php 
    // include Database connection file 
    include("db_connection.php"); 

    // check request 
    if(isset($_POST['id']) && isset($_POST['id']) != "") 
    { 
    // get ID 
    $id = $_POST['id']; 

    // Get Details 
    $query = "SELECT flag, 
    FROM list WHERE id = '$id'"; 
    if (!$result = mysql_query($query)) { 
     exit(mysql_error()); 
    } 
    $response = array(); 
    if(mysql_num_rows($result) > 0) { 
     while ($row = mysql_fetch_assoc($result)) { 
      $response = $row; 
     } 
    } 
    else 
    { 
     $response['status'] = 200; 
     $response['message'] = "Data not found!"; 
    } 
    // display JSON data 
    echo json_encode($response); 


    } 

     else 
    { 
     $response['status'] = 200; 
     $response['message'] = "Invalid Request!"; 
    } 
+0

Warum ein Downvote? – Warlord

+0

Sie erkennen, dass diese Anweisung (wie gepostet) wird fehlschlagen $ query = "SELECT-Flag, FROM Liste" - Sofern Sie nicht Ihre vollständige Abfrage dafür. –

+0

Sie sind auch offen für eine seriöse SQL-Injektion. –

Antwort

0

Ich denke, $("output[name=update_flag]:checked").val(va.flag); ist, wo es schief gelaufen ist. Sie sollten versuchen, etwas wie folgt:

$("input[name=update_flag][value=" + radioBtnValueToCheck + "]").prop('checked', true); 
+0

Sie sind ein Genie. Das ist genau, wo ich falsch lag. Danke! – Warlord