Mysql результат не отображается внутри div (только заголовок таблицы) - PullRequest
0 голосов
/ 19 марта 2012

Я пытаюсь показать результат Mysql в виде таблицы внутри <div> после нажатия кнопки отправки, но он показывает только <table></table>.Не найдено проблем при публикации значения на странице процесса.Пока что мой скрипт выглядит так:

<form id="myform">
....................
<button id="input" type="button" class="ui-state-default ui-corner-all"><span>Submit </span></button>
<input name="action" value="openreport" type="hidden">
</form>
<div id="show"></div>

$("#submit").click(function(){
      var params=$("#myform").serialize();
      $.ajax({
              type:"post",
              url:"go.php",
              data:params,
              cache :false,
              async :false,
              success : function(result) {
                   $('#show').replaceWith(result);
                   }
              });
      });

page go.php:

     <?php

         //CONNECT TO DATABASE
         $dbc=mysql_connect(_SRV, _ACCID, _PWD) or die(_ERROR15.": ".mysql_error());
         mysql_select_db("qdbase") or die(_ERROR17.": ".mysql_error());

         switch (postVar('action')) {
                 case 'openreport':
                         openreport(postVar('model'),postVar('line'),postVar('lot_no'));
                         break;
                         }

         function openreport($model,$line,$lot_no){
                 $Model = mysql_real_escape_string($model);
                 $Line = mysql_real_escape_string($line);
                 $Lot = mysql_real_escape_string($lot_no);

                 $group=" GROUP BY DATE ";

                 $sql="SELECT Range_sampling,DATE(Inspection_datetime) AS DATE FROM
     inspection_report WHERE Model LIKE '".$Model."'"; 
                     $sql.="AND Line LIKE '".$Line."' AND Lot_no LIKE '".$Lot."'".$group;
                     $result=mysql_query($sql) or die(_ERROR26.": ".mysql_error());

                     echo "<table border='1'>


 <tr>
     <th>Firstname</th>
     <th>Lastname</th>
     </tr>";
     while($row = mysql_fetch_array($result))
       {
     echo("<tr><td>$row[0]</td><td>$row[1]</td></tr>");
     //  echo "<tr>";
     //  echo "<td>" . $row['Range_sampling'] . "</td>";
     //  echo "<td>" . $row['DATE'] . "</td>";
     //  echo "</tr>";
       }
     echo "</table>";

     mysql_close($dbc);
         }
         ?>

Я понятия не имею, потому что я не совсем понимаю, как отобразить результат MySQL в виде HTMLтаблица.


only show table header

Ответы [ 3 ]

0 голосов
/ 19 марта 2012

Вы можете просто загрузить результаты своей php-страницы в div

    $('div#show').load('go.php',params,function() {alert('Loaded!'); });

Просто убедитесь, что вы заменили POST на REQUEST в вашем php-файле. Метод POST используется, если данные предоставляются как объект; в противном случае предполагается GET.

0 голосов
/ 20 марта 2012

AJAX-вызов выполняется только в том случае, если нажата кнопка с идентификатором & ldquo; submit & rdquo ;; однако ваша кнопка отправки имеет идентификатор & ldquo; input & rdquo ;. Попробуйте изменить строку, которая гласит:

$("#submit").click(function(){

до

$("#input").click(function(){

Как Юнь предложил , чтобы <div id="show">...</div> обернулось вокруг стола, измените

$('#show').replaceWith(result);

с

$('#show').html(result);

Я не знаю, поможет ли это или нет, но это единственное, что выделяется для меня.

0 голосов
/ 19 марта 2012

Попробуйте

$('#show').html(result); 

вместо replaceWith для сохранения div

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