繁体   English   中英

使用javascript和php从数据库获取数据

[英]fetch data from db using javascript & php

这个js var有国家/地区

<script type="text/javascript">
    var siteCmd_Country="<?php echo siteCmd_Country_P ;?>";  
</script>

function getCountryRedirectUrl() {

        var  url_res = '#';
        if(geoCountryName != '' && geoCountryName != null){

            if(geoCountryName =='United Kingdom'){
                //  window.location=Url+'uktutorsdirectory.co.uk';
                url_res = Url+'UK';//Url+'uk';
            }else if(geoCountryName =='United States'){
                url_res = Url+'usa';
            }else if(geoCountryName =='Canada'){
                url_res = Url+'canada';
            }else if(geoCountryName =='India'){
                url_res = Url+'india';
            }else if(geoCountryName =='Italy'){
                url_res = Url+'italy';
            }else if(geoCountryName =='Ireland'){
                url_res = Url+'ireland';
            }else if(geoCountryName =='Malaysia'){
                url_res = Url+'malaysia';
            }
        }
        return url_res;
}

此函数根据geoCountryName(基本上是访问该网站的国家/地区)来提供更改网址。我想要的是上述方法是针对每个国家/地区进行硬编码的。 现在,我在db中创建了一个条目,该条目使用别名映射了国家。 所以我将geoCountryName传递给查询并获取别名,并在URL后面附加别名。

url_res =网址+“ countryAlias”; 在JS函数中,别名来自frm php-mysql

我尝试使用php但它无法正常工作。下面是代码

    $conn = mysql_connect(HOSTNAME, DBUSER, DBPWD);
    mysql_select_db(DBNAME, $conn);
    mysql_query('SET CHARACTER SET utf8'); 
    $sWhere = "CountryName=".siteCmd_Country_P;
    $sql = "SELECT CountryAlias FROM `t_countrycharges`  "
            . "$sWhere ";

    $pacrs = mysql_query($sql, $conn);
    $num_rows = mysql_num_rows($pacrs);
    $row = @mysql_fetch_object($pacrs))
    $CountryAlias = $row->CountryAlias;

实际上,所有这些代码包含的页面是php页面,因此我需要在同一页面中添加所有代码。 现在,当我使用这些代码运行页面时,则不会加载一半页面,并且不会显示任何输出。 请尽快为我提供帮助。我需要在同一页面上运行php,但是没有可以控制的操作或点击事件,因此请提供协助。 感谢所有帮助。

谢谢Vinay

您应该使用ajax从前端到后端进行通信。

这可能会有所帮助http://www.w3schools.com/ajax/

我将在此粘贴我正在处理的项目的示例。 我认为它可以帮助您理解。 我假设您对jQuery因为您将其作为标记。

首先,我们将使用ajax来获取数据。 JavaScript方面:

$.getJSON('urltofilesearch_stores/', {id: locationID}, function (json) {
console.log(json) //this is the data which will be a javascript object
    var html = '';

    for (var i = 0; i < json.length; i++) {
      var obj     = json[i];
      var id      = obj.ID;
      var name    = obj.CountryAlias;

      html += "<div class="result">id:" + id + " name: " + name + "</div>";
    }
  }).fail(function (err) {
    $('.error').html("error in getting the data");
  }).done(function () {
    $('.element').append(html);
  });

然后我们有PHP方面。 您必须echo显javascript的结果才能看到它们,并确保没有其他内容被打印出来。

$sWhere = "WHERE CountryName=".mysql_real_escape_string($_GET['id']);
$sql = "SELECT CountryAlias FROM `t_countrycharges`  "
        . " $sWhere ";
$pacrs = mysql_query($sql, $conn);
$data = array();
while($row = mysql_fetch_assoc($pacrs)){
  $data[]['ID'] = $row['ID'];
  $data[]['CountryAlias'] = $row['CountryAlias'];
}

return json_encode($data);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM