2015-10-15 2 views
-1
<?php 
    include('config.php'); 

    $isd=mysql_real_escape_string($_GET['q']); 
    $sql=mysql_query("SELECT zip FROM zipcod where abb='$isd' ") or ; 


    while($row=mysql_fetch_array($sql, MYSQL_ASSOC)){ 
     $zip=$row['zip']; 
     echo '<option>'.$zip.'</option> '; 
    } 
?> 

Это АяксаMysql не выборки всех данных

<script> 
    function showUser(str) { 
     if (str=="") { 
      document.getElementById("zzips").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("zzips").innerHTML=xmlhttp.responseText; 
      } 
     } 
     xmlhttp.open("GET","getstate.php?q="+str,true); 
     xmlhttp.send(); 
    } 
</script> 

HTML

<select name="states"onchange="showUser(this.value)"> 
 
\t <option value="AL">AL</option> 
 
\t <option value="AK">AK</option> 
 
\t <option value="AZ">AZ</option> 
 
\t <option>AR</option> 
 
\t <option>CA</option> 
 
\t <option>CO</option> 
 
\t <option>CT</option> 
 
\t <option>DE</option> 
 
\t <option>FL</option> 
 
\t <option>GA</option> 
 
\t <option>HI</option> 
 
\t <option>ID</option> 
 
\t <option>IL</option> 
 
\t <option>IN</option> 
 
\t <option>IA</option> 
 
\t <option>KS</option> 
 
\t <option>KY</option> 
 
\t <option>LA</option> 
 
\t <option>ME</option> 
 
\t <option>MD</option> 
 
\t <option>MA</option> 
 
\t <option>MI</option> 
 
\t <option>MN</option> 
 
\t <option>MS</option> 
 
\t <option>MS</option> 
 
\t <option>MT</option> 
 
\t <option>NE</option> 
 
\t <option>NV</option> 
 
\t <option>NH</option> 
 
\t <option>NJ</option> 
 
\t <option>NM</option> 
 
\t <option>NY</option> 
 
\t <option>NC</option> 
 
\t <option>ND</option> 
 
\t <option>OH</option> 
 
\t <option>OK</option> 
 
\t <option>OR</option> 
 
\t <option>PA</option> 
 
\t <option>RI</option> 
 
\t <option>SC</option> 
 
\t <option>SD</option> 
 
\t <option>TN</option> 
 
\t <option>TX</option> 
 
\t <option>UT</option> 
 
\t <option>VT</option> 
 
\t <option>VA</option> 
 
\t <option>WA</option> 
 
\t <option>WV</option> 
 
\t <option>WI</option> 
 
\t <option>WY</option> 
 
</select> 
 

 

Этот код извлечения Zip коды некоторых стран, таких как CO, NJ, не все. Может ли кто-нибудь сообщить мне об ошибке, чтобы он отображал почтовые индексы в соответствии с состояниями, выбранными при первом выпадении

благодарит за любую помощь.

ответ

0

В php есть незначительная ошибка - вы опускаете условие после инструкции or.

<?php 
    include('config.php'); 

    $isd=trim(mysql_real_escape_string($_GET['q'])); /* or? */ 
    /* Is the table actually called `zipcod` or `zipcode`? */ 
    $sql=mysql_query("SELECT `zip` FROM `zipcod` where trim(`abb`)='$isd';") or die('bad mojo'); 


    while($row=mysql_fetch_array($sql, MYSQL_ASSOC)){ 
     $zip=$row['zip']; 
     echo '<option>'.$zip.'</option> '; 
    } 
    mysql_free_result($sql); 

?> 

Для облегчения отладки запроса JavaScript/Ajax:

function showUser(str) { 
    var dbg=true; 
    if(dbg)console.group('showUser'); 

    if(str=="") { 
     document.getElementById("zzips").innerHTML=""; 
     if(dbg)console.warn('Empty string'); 
     return; 
    } 
    if(dbg)console.info('Initial value passed to ajax function: %s ',str); 


    xmlhttp=window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); 
    if(dbg)console.info('XHR Object created: %s', xmlhttp); 

    xmlhttp.onreadystatechange=function() { 
     if(xmlhttp.readyState==4 && xmlhttp.status==200) { 
      document.getElementById("zzips").innerHTML=xmlhttp.responseText; 
      if(dbg)console.info('Response received: %s', xmlhttp.responseText) 
     } 
    } 
    xmlhttp.open("GET", "getstate.php?q="+str, true); 
    if(dbg)console.info('Connection opened'); 

    xmlhttp.send(); 
    if(dbg)console.info('Request sent'); 
} 
+0

До сих пор не работает – ashlliza

+0

Если вы запустите запрос вручную в MySQL или графический интерфейс, такие как Хайди вы получите результаты, которые вы ожидаете для некоторых из состояния, которые не сохраняют результаты в php? – RamRaider

+0

Да, я не получаю значения из других состояний. он работает только на CO и NJ – ashlliza

0

$ sql = mysql_query ("SELECT zip FROM zipcod, где abb = '$ isd'") или;

Вы не нашли что-то здесь в своем коде или пропустили его, набрав его снова здесь? возможно, у вас должно быть что-то вроде или die («сообщение об ошибке»);?

Смежные вопросы