Как установить флажок, запрашивающий MySQL, какая запись является логической - PullRequest
0 голосов
/ 15 февраля 2012

У меня есть следующая таблица MySQL:

|  id   |    Name    |  Windows | Linux |
-----------------------------------------
|   1   |  Photoshop |     1    |   0   |
-----------------------------------------
|   2   |  Gimp      |     0    |   1   |

Нажав указанные выше имена следующим образом:

<a class="editlink" id="<?php echo $review['id']; ?>" href="#"><?php echo  $review['title']; ?></a>

Я могу заполнить форму следующим кодом JQuery:

$(".editlink").click(function() {
    $.get("lists.php", {param2: $(this).attr('id')}, 
    function(data) {
        jsonOBJ = jQuery.parseJSON(data);
                for (var key in jsonOBJ) {
                     $(":input[name='" + key + "']").val(jsonOBJ[key]);
                }
        }   
);    
    return false;
});

И это форма:

<form method ="post" action="review.php">   
    <input class="edit_title" type="text" size="51" value="" name="title"/><br/>
    <input type="checkbox" name="windows"/>
    <input type="checkbox" name="linux"/>
</form>

Файл LIST.PHP имеет следующий вид:

$qry = mysql_query("SELECT * FROM reviews JOIN filters ON reviews.id = filters.id WHERE reviews.id = ".$_GET['param2']." ");    
    while($review = mysql_fetch_array($qry)) {
        $arr = array('id_field' => $review['id'],
                     'title' => $review['name'],
                     'windows' => $review['Windows'],
                     'linux' => $review['Linux']
        );
    echo json_encode($arr);
}

Но я не знаю, какустановите или снимите флажки в соответствии с логическим значением (0 или 1), сохраненным в базе данных.Например, если JSON возвращает «windows»: «1», как мне «преобразовать» это «1» в «проверено»?

1 Ответ

0 голосов
/ 15 февраля 2012

ОБНОВЛЕНО

Я бы изменил ваш PHP так, чтобы он возвращал логическое значение для полей флажка, например:

$qry = mysql_query("SELECT * FROM reviews JOIN filters ON reviews.id = filters.id WHERE reviews.id = ".$_GET['param2']." ");    
    while($review = mysql_fetch_array($qry)) {
        $arr = array('id_field' => $review['id'],
                     'title' => $review['name'],
                     'windows' => $review['Windows'] == "1",
                     'linux' => $review['Linux'] == "1"
        );
    echo json_encode($arr);
}

Затем вы можете просто установить возвращаемое значение в качестве атрибута checked на переключателе:

$(".editlink").click(function() {
    $.get(
        "lists.php", 
        { param2: $(this).attr('id') }, 
        function(data) {
            jsonOBJ = jQuery.parseJSON(data);
            for (var key in jsonOBJ) {
                $(":input[name='" + key + "']").attr("checked", jsonOBJ[key]);
            }
        }   
    );    
    return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...