0

如您所见,我创建了下拉列表并将其命名为字段名称,并且我还具有计数功能。

我想要做的是,如果某些选择下拉菜单..显示在 10、20、.. 等数字中找到了多少结果。如果选择了第二个下拉菜单,它将检查选择的两个下拉菜单并传递结果计数..像那种连续的..如果你想看看我到底想要什么是去这里选择汽车计数将更新..

http://en.comparis.ch/Carfinder/marktplatz/Search.aspx

我有 ajax 并且运行良好,但我无法获得准确的 PHP 代码来计算实时时间。

AJAX 代码..

var xmlHttp

function showCount(str)
{ 
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url="phpApplication.php";
url=url+"?action=count2";
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("POST",url,true);
xmlHttp.send(null);
}

function stateChanged() 
{ 
if (xmlHttp.readyState==4)
{ 
document.getElementById("countR").innerHTML=xmlHttp.responseText;
}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

PHP 代码

function dropdown($field, $table)
{ 
  //initialize variables
  $oHTML  = '';
  $result = '';

  //check to see if the field is passed correctly
  if (($field == "")||($table == ""))
  {
    die("No column or table specified to create drop down from!");
  }

  $sql = "select distinct($field) from $table";

  //call the db function and run the query
  $result = $this->conn($sql);

  //if no results are found to create a drop down return a textbox
  if ((!$result) ||(mysql_num_rows($result)==0))
  {
    $oHTML .= "<input type='text' name='$field' value='' size='15'>";
  }elseif (($result)&&(mysql_num_rows($result)>0)){


    //build the select box out of the results
    $oHTML .= "<select name='$field' onchange='showCount(this.value)'>\n<option value='all'>All</option>\n";
    while ($rows = mysql_fetch_array($result))
    {
      $oHTML .= "<option value='".$rows[$field]."' name='".$rows[$field]."'>".$rows[$field]."</option>\n";

    }
    $oHTML .= "</select>\n";

  }
  //send the value back to the calling code
  return $oHTML;
}//end function

function count1(){

      $sql2 = "SELECT SQL_CALC_FOUND_ROWS * from produkt_finder_table where Bauform_d ='".($_POST['Bauform_d'])."' ";
      $query = $this->conn($sql2);
      $result = mysql_query( $query );
      $count  = mysql_result( mysql_query( 'SELECT FOUND_ROWS()' ), 0, 0 );
      echo $count;
      //$sql2 = "SELECT COUNT(Bauform_d) from produkt_finder_table where Bauform_d = 'mobil' "; 

     //echo var_dump($result1);
     while($row = mysql_fetch_array($query))
     {
    // echo  $row['COUNT(Bauform_d)'];
     }
      //echo mysql_num_rows($query);
    //  if (isset($_POST['Bauform_d']))
//{
    /* if (mysql_num_rows($result)==0) {
         echo '0';
         } else {
     echo mysql_num_rows($result);
     $row = mysql_fetch_array($result);

     echo $result;
     echo $row['COUNT(Bauform_d)'];
    //   }
}*/
}

$action = $_GET['action'];

$proFin = new Application();

switch($action) {

        case 'show':
            $proFin->show_form();
        break;

        case 'search':
            $proFin->search();
        break; 

        case 'searchAll':
            $proFin->searchAll();
        break; 


        case 'count2':

            $proFin->count1();

        break; 

        }
4

2 回答 2

2

你调试了哪些部分?

将 count1() 函数更改为使用 time() 回显时间或其他内容。

然后,如果它返回正确的值,您就知道您的 JS 正在工作并且您的 PHP 脚本正在调用正确的函数。

我假设 PHP 代码不起作用,因为 SQL 查询正在寻找 $_POST['Bauform_d'] 您调用 xmlHTTP 请求时未设置。运行一个简单的 print_r($_POST); 以确保您在查询中传递了您期望的所有数据。如果不是,则更改您的 JS 代码以传递该值 - 当您确定您的 php 脚本正在传递所有正确的变量时,然后开始添加回您的 SQL 查询等。

于 2009-02-23T23:12:25.520 回答
0

调试调试

雅各布的回答是关键。

于 2009-03-04T16:53:11.177 回答