2014-09-18 2 views
0

Это мой первый раз, когда я пытаюсь использовать ajax. Мне удастся получить данные из таблицы, но я хочу иметь возможность вытащить всю сетку данных. Я не совсем уверен, как это сделать.Использование ajax для извлечения сетки данных

Прямо сейчас, у меня есть файл index.php, глядя, как это:

<html> 
<head><title>Ajax Stuff</title> 
</head> 
<body> 
    <input id="username" name="username" type="text" /> 
    <button type="submit" id="myBtn" name="myBtn">Submit</button> 

    <div id="name-data"></div> // <-data will be sent here 

    <script src="js/jquery-2.0.3.min.js"></script> 
    <script src="js/global.js"></script> 
</body> 
</html> 

Вот код для global.js:

$('#myBtn').on('click', function(){ 
    var name = $('#username').val(); 
    if($.trim(name) != '') 
    { 
    $.post('ajax/name.php', {username: name}, function(data){ 
     $('#name-data').text(data); 
    }); 
    } 
}); 

И, наконец, вот код для ajax файл под названием name.php:

<?php 
    include("../include/database/php"); 

    if(isset($_POST['username']) === true && empty($_POST['username']) === false) 
    { 
    $query = mysql_query("SELECT * FROM users WHERE username = '" . mysql_real_escape_string(trim($_POST['username'])) . "'"); 
    $resnum = mysql_num_rows($query); 

    $row = mysql_fetch_assoc($query); 

    // I just added these next few line 

    echo "username: " . $row[username] . " "; 
    echo "full name: " . $row[fullname] . " "; 
    echo "emaill: " . $row[email] . " "; 
    echo "user level: " . $row[userlevel] . " "; 
    echo "division: " . $row[division] . " "; 
    echo "phone: " . $row[phone] . " "; 
    echo "created by: " . $row[created_by] . " "; 

} 

Используя приведенный выше PHP-код, я могу отображать запрошенные строки. Но я попытался добавить таблицу (в name.php), мой основной файл, index.php на самом деле показывает код для таблицы на экране.

Каждый раз, когда я пытаюсь использовать HTML-код в файле PHP, он выводит на экран код HTML.

Например, я стараюсь использовать BR тег, как это:

<?php 
    echo "username: " . $row[username] . "<br />"; 
?> 

экран напечатает это:

username: johbea1234 <br /> 

То же самое, когда я пытаюсь использовать таблицу тегов.

Как это исправить?

Пожалуйста, помогите.

ответ

1

Изменить

$('#name-data').text(data); 

в

$('#name-data').html(data); 

Затем вы можете использовать любые HTML-теги, вам нравится.

Также

<div id="name-data"></div> // <-data will be sent here 

не совсем верно, это больше похоже на:

<div id="name-data"><!-- data will be sent here --></div> 

, но вы, возможно, известно, что уже и просто добавили комментарий для тех, кто может читать ваш вопрос.

+0

Что касается DIV, я пытался поставить комментарий в переполнение стека. Кроме этого, я попытаюсь выполнить то, что вы просите. Я вернусь к тебе. – yamanzandem

+0

никаких проблем, но это определенно сработает. – martincarlin87

+1

Я только что протестировал его. Это сработало. Спасибо приятель. Подвиньте вам. – yamanzandem

0

Добавить '' для username.

Изменить

$.post('ajax/name.php', {username: name}, function(data){..... 

в

$.post('ajax/name.php', {'username': name}, function(data){..... 
Смежные вопросы