2013-12-10 2 views
0

가능한 모든 결과를 가진 임시 테이블을 만드는 php 파일을 onclick AJAX 호출 할 때 두 가지 옵션이있는 양식이 있습니다. 따라서 사용자가 다른 옵션을 다시 선택하면로드 속도가 빨라집니다.임시 테이블을 생성하는 PHP 파일을 호출하는 ajax

문제는 php 파일에 대한 ajax 호출은 항상 요소를 만들고 다시 삽입한다는 것입니다. 어떻게 피할 수 있습니까? 어떻게 한 번 임시 테이블을 만들 수 있습니까?

PHP 파일을 한 번만 호출 할 수 있습니까?

나쁜 표현 죄송

하지만 난 등 PHP, AJAX,에 좀 새로운 해요

내 아약스 전화 :

<script type="text/javascript"> 
     function showAliveData(str,str2){ 
      if (str=="null" || str2=="null") 
       { 
       document.getElementById("resultados").innerHTML=""; 
       return; 
       } 
      if (window.XMLHttpRequest) 
       {// code for IE7+, Firefox, Chrome, Opera, Safari 
       xmlhttp=new XMLHttpRequest(); 
       } 
      else 
       {// code for IE6, IE5 
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
       } 
      xmlhttp.onreadystatechange=function() 
       { 
       if (xmlhttp.readyState==4 && xmlhttp.status==200) 
       { 
       document.getElementById("resultados").innerHTML=xmlhttp.responseText; 
       $("#tablaResultados").tablesorter("update"); 
       } 
       } 
      document.getElementById("resultados").innerHTML='<div id="loader">La conexión con Google Analytics puede tardar unos segundos, por favor espere..</div>'; 
      xmlhttp.open("GET","test.php?seccion="+str+"&elemento="+str2,true); 
      xmlhttp.send(); 
     } 
    </script> 

HTML :

<form name="form"> 
      <select name="seccion"> 
       <option value="null" style="color:#D3D3D3" disabled="disabled" selected="selected">Sección</option> 
        <option value="Home">Home</option><br/> 
        <option value="Promociones">Promociones</option> 
         <option value="all">- Todas las secciones -</option>      
      </select> 
      <select name="elemento"> 
       <option value="null" style="color:#D3D3D3" disabled="disabled" selected="selected">Elemento</option>         
        <option value="Vitrina">Vitrina</option><br/> 
        <option value="Banner">Banner</option> 
        <option value="Destinos destacados">Destinos destacados</option> 
        <option value="Box">Box</option> 
        <option value="all">- Todos los elementos -</option>      
      </select> 

      <input type="button" value="Alive" onclick="showAliveData(seccion.value,elemento.value)"> 

PHP 파일은 :

Basically 
-Creates the temporary table 
-Inserts all data 
-display the data the user selected 

감사합니다. y 사전에 ou!

+0

우리가 PHP 파일을 볼 수 있을까요? 또한, 당신의 원시 AJAX 코드에 jQuery가 섞여 있다는 것을 알 수 있습니까? – Zarathuztra

답변

0

기본적으로 모든 임시 테이블은 데이터베이스 연결이 종료되면 MySQL에 의해 삭제됩니다. 그들은 하지는 AJAX 호출간에 유지되므로

아마도 임시 테이블은이 시나리오에서 당신을 위해하지 않습니다.

이제 임시 테이블은 본질적으로 빠르고 효율적이기 때문에 임시 테이블이 매번 생성되는 것이 좋지 않으면 임시 테이블 결과를 세션 변수에 "캐싱"하여 후속 요청에서 무시할 수 있습니다 (존재하는 경우 임시 테이블 대신 사용합니다).

참조 : http://www.tutorialspoint.com/mysql/mysql-temporary-tables.htm

관련 문제