Проблема получения результатов из базы данных MySQL через php и jquery - PullRequest
1 голос
/ 07 июля 2011

Я пытаюсь понять следующее:

Я генерирую через php таблицу из двух полей (об обучающих уроках) - название и местоположение уроков.Эта таблица имеет несколько строк, и я реализовал это следующим образом:

        <table border='0' id='testing'>
            <thead>
                <tr class='small_title_bold'>
                    <th>Formation</th><th align='center'>Niveau</th><th align='center'>Ville</th>
                </tr>
            </thead>
            <tbody>        
              <?php
              db_connect();

              if (isset($etablissement)){
                $sql_find_id_etablissement = "select id_etablissement, subdesignation, address1, address2, zip, city, town, department, phone, fax, www from etablissements where designation = '$etablissement' and id_region='$id_region'";
                $result_find_id_etablissement = mysql_query($sql_find_id_etablissement, $connection) or die('error');
                while ($row_find_id_etablissement = mysql_fetch_row($result_find_id_etablissement)){
                $id_etablissement  = $row_find_id_etablissement[0];
                $subdesignation = $row_find_id_etablissement[1];            
                $address1 = $row_find_id_etablissement[2];
                $address2 = $row_find_id_etablissement[3];          
                $zip = $row_find_id_etablissement[4];
                $city = $row_find_id_etablissement[5];
                $town = $row_find_id_etablissement[6];          
                $department = $row_find_id_etablissement[7];            
                $phone = $row_find_id_etablissement[8];
                $fax = $row_find_id_etablissement[9];
                $www = $row_find_id_etablissement[10];

                print "<tr class='small_subtitle_bold'><td colspan='3' align='center'>".$id_etablissement."-". $subdesignation."</td></tr>";        
                $sql_find_master = "select id_master, designation, master_level from masters where id_etablissement = '$id_etablissement' order by designation, master_level";
                $result_find_master = mysql_query($sql_find_master, $connection) or die('error');

                $count=mysql_num_rows($result_find_master);

                for($i = 0; $i < $count; $i++) {                
                    $row_find_master = mysql_fetch_row($result_find_master);
                    $id_master = $row_find_master[0];   
                    $designation = $row_find_master[1]; 
                    $level = $row_find_master[2];
                    if($i % 2) {
                        print "<tr class='univ' bgcolor='#A4D2FD'>";
                        print "<td><a class='univ' href='master-details.php?master-id=".$id_master."&etablissement-id=".$id_etablissement."' onclick='popup('master-details.php?master=".$designation."')>".$designation."</a></td><td class='small_text' align='center'>".$level."</td><td class='small_text' align='center'>".$town."</td>";
                        print "</tr>";
                    }
                    else {
                        print "<tr class='univ' bgcolor='#FFFFFF'>";
                        print "<td><a class='univ' href='#' onClick='javascript:swapContent(".$id_master.",".$id_etablissement.")'>".$designation."</a></td><td class='small_text' align='center'>".$level."</td><td class='small_text' align='center'>".$town."</td>";
                        print "</tr>";          
                    }
                }
            }
        }
        ?>
        </tbody>
    </table>

Когда пользователь щелкает строку, я хочу выполнить запрос MySQL и представить результаты (подробности урока) в отдельном месте, расположенном вта же страница без перезагрузки страницы.

Я поместил следующий скрипт в раздел head:

<script language="JavaScript" type="text/javascript">
function swapContent(id_master, id_etablissement) {
var url = "master-details.php";
$.post(url, {id_master: id_master, id_etablissement: id_etablissement} ,function(data) {
          var content = $( data ).find( '#content', function () {alert('Query was performed.');} );
      $( "#queryResults" ).empty().append( content );
});
}
</script>

Я хочу, чтобы мой скрипт jquery запускал php-файл с именем master-details с параметрами id_masterи id_etablissement и возвращает результаты в разделе DIV с именем queryResults.

Однако, когда я щелкнул строку в моей таблице, ничего не произошло.

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 07 июля 2011

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

Что-то случилось, даже если это не было очевидно.Задача состоит в том, чтобы точно определить, что произошло, и почему это не дало ожидаемых результатов.

Существует несколько шагов, которые можно предпринять, чтобы определить, что действительно произошло:* Проверьте наличие ошибок Javascript.Вы можете использовать Firebug для Firefox или встроенные средства разработчика для Chrome для просмотра консоли Javascript.Если произошла ошибка Javascript, она будет показана там.

Определите, был ли выполнен скрипт PHP.Вы можете сделать это, проверив логи вашего веб-сервера или просмотрев вкладку «Сеть» вышеупомянутых инструментов.

Если скрипт PHP успешно выполняется, определите, какой вывод он выдает.Вы можете сделать это, запустив скрипт напрямую.Найдите URL-адрес, на который ссылается ваш вызов AJAX, и вставьте его в адресную строку браузера.Является ли вывод ожидаемым?

Если скрипт PHP выполняется и возвращает соответствующие результаты, проверьте селекторы Javascript.Вы уверены, что они ссылаются на правильный div?Существует ли этот div?

0 голосов
/ 07 июля 2011

Примерно так:

jQuery("tr").live("click", function(){
   $.post///what you already have.
});

Вам просто нужен способ заставить его что-то делать, когда вы нажимаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...