Вывод с базы без перезагрузки страницы (Ajax)

Тема в разделе "JavaScript", создана пользователем КсениЯЯЯ, 14 апр 2015.

  1. КсениЯЯЯ

    КсениЯЯЯ

    Регистрация:
    14 апр 2015
    Сообщения:
    0
    Симпатии:
    0
    Доброго времени суток! Задача следующая. На странице при загрузке из базы формируется список книг. Далее при выборе книги ниже должна выводиться информация о книге (например название,автор,описание) из базы (с помощью ajax). Вопрос такой: как передать ид книги в сам скрипт,чтобы информация выводилась по нажатой книге???

    Файл book.php (часть где формируется табличка со списком книг):
    PHP:
    $result mysql_query ("SELECT DISTINCT book.id,book.name as name_b,author.name,genre.genre FROM book, genre, author WHERE book.genre=genre.id and book.author=author.id",$db);

    if (!
    $result)
    {
    echo 
    "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору [email protected] <strong>Код ошибки:</strong></p>";
    exit (
    mysql_error());
    }
    if (
    mysql_num_rows($result) > 0)
    {
    $myrow mysql_fetch_array($result);
    $i=0;
    do
    {
    $i=$i+1;
    printf ("
          
                <tr>
                <td>
                <p>
    $i</p>
                </td>
                 <td>
                <p><a href='#?id_b=%s' id='my-link' >%s</a></p>
                </td>
                <td>
                <p>%s</p>
                </td>
                <td>
                <p>%s</p>
                </td>
                           </tr>
                "
    ,$myrow["id"],$myrow["name_b"],$myrow["name"],$myrow["genre"]);
    }
    while (
    $myrow mysql_fetch_array($result));
    Ниже в этом же файле скрипт и блок для вывода:
    PHP:
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
        <
    script type="text/javascript">
        var 
    id=$id_b
            
    $(document).ready(function() {
                $(
    '#my-link').click(function() {
                    $.
    get('get_book.php', {id_bid_b}, function(data) {
                        $(
    '#user_data').html(data);
                    });
                });
            });
        </
    script>

    <
    div id="user_data">

        </
    div>
    Файл get_book.php :
    PHP:
    <?php
    include ("blocks/bd.php");

        if(!isset(
    $_GET['id_b'])) {
            
    $_GET['id_b'] = 1;
        }

        
    $data mysql_fetch_array(mysql_query("SELECT * FROM book WHERE id='{$_GET['id_b']}'"$db));
        
    printf("Book %s.<br />Author is %s."$data['name'], $data['author']);
    ?>
     
    Lasted edited by : 14 апр 2015
  2. Vlad-i-Slav

    Vlad-i-Slav

    Регистрация:
    20 мар 2013
    Сообщения:
    286
    Симпатии:
    176
    В ссылку вставляешь атрибут data-book='<?=$myrow["id"]?>';
    В событии $('#my-link').click отправляешь var id = $(this).data('book');
     
  3. Klepina

    Klepina

    Регистрация:
    26 июл 2013
    Сообщения:
    2
    Симпатии:
    0
    Function onclick(e) {
    E.preventDefault();
    Var id = this.data('book');
    ....
    }