【问题标题】:how to retrieve values from database and show it in a page using javascript如何从数据库中检索值并使用 javascript 在页面中显示它
【发布时间】:2014-12-20 10:56:54
【问题描述】:

我有一个下拉字段,其中有 2 个选项(高利率和低利率)当我选择高利率时,它应该以降序显示结果,或者如果我选择低利率,它应该以升序显示结果.我尝试了一个不起作用的代码。

我的html代码是:

<select id="ddlViewBy"  onchange="order()">
  <option value="high">Rate(high)</option>
  <option value="low">Rate(low)</option>
</select>

我的 JavaScript 代码是:

function order() { 
  var e = document.getElementById("ddlViewBy");
  var strUser = e.options[e.selectedIndex].value;

  if(strUser == 'high')
  {
  <?php
  $post->id="10";
  $mylink = $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_biddings WHERE job_id = %d ORDER BY client_bill DESC", $post->id), ARRAY_A);
  if($_GET['bid_id'])
  {
    foreach ( $mylink as $row ) 
    {   
    $id= $row['user_id'];
    $nam=$row["name"];
    $stat=$row['state'];
    $cnty=$row['country'];
    $desc=$row["description"];
    $bid=$row['id'];
    $dat=$row['submission_date'];
    echo '<a href="../../wp-content/themes/businessfinder/profile_register.php?id=$id&view" target="_blank">';
    echo "<div class='mr-btm' style='width:98%'>";
    echo "<h3 style='text-transform:uppercase; line-height:0'><b>$name</b></h3>";
    echo "<p style='color:#808080; text-transform:uppercase;'>$stat,$cnty</p>";
    echo "<p style='color:#808080;'>$desc</p>";
    echo "<date style='color:#35cbc9;'>categories : </date>";
    echo "<date style='color:#808080;'>";
    if($row["plumbing"] != '')
    echo $row["plumbing"]; 
    if($row["electrical"] != '') 
    echo $row["electrical"];
    if($row["heating"] != '')
    echo ",".$row["heating"]; 
    if($row["ventilation"] != '')
    echo ",".$row["ventilation"]; 
    if($row["flooring"] != '')
    echo ",".$row["flooring"]; 
    echo ".</date>";

    echo "<table class='btm-cm'><tr><td>";
    echo "<date style='color:#35cbc9;'> Id : </date><date style='color:#808080;'>$bid</date> </td> <td style='color:#35cbcp;'>  | </td><td>"; 
    echo "<date style='color:#35cbc9;'> submitted on:  </date><date style='color:#808080;'>$dat</date></td></tr></table></div></a>";
    }
  }
  else
  {
  echo "nothing found";
  }
}
?>
}
else if(strUser == 'low')
{
<?php
$post->id="10";
$mylink = $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_biddings WHERE job_id = %d ORDER BY client_bill ASC", $post->id), ARRAY_A);
  if($_GET['bid_id'])
  {
    foreach ( $mylink as $row ) 
    {   
    $id= $row['user_id'];
    $nam=$row["name"];
    $stat=$row['state'];
    $cnty=$row['country'];
    $desc=$row["description"];
    $bid=$row['id'];
    $dat=$row['submission_date'];
    echo '<a href="../../wp-content/themes/businessfinder/profile_register.php?id=$id&view" target="_blank">';
    echo "<div class='mr-btm' style='width:98%'>";
    echo "<h3 style='text-transform:uppercase; line-height:0'><b>$name</b></h3>";
    echo "<p style='color:#808080; text-transform:uppercase;'>$stat,$cnty</p>";
    echo "<p style='color:#808080;'>$desc</p>";
    echo "<date style='color:#35cbc9;'>categories : </date>";
    echo "<date style='color:#808080;'>";
    if($row["plumbing"] != '')
    echo $row["plumbing"]; 
    if($row["electrical"] != '') 
    echo $row["electrical"];
    if($row["heating"] != '')
    echo ",".$row["heating"]; 
    if($row["ventilation"] != '')
    echo ",".$row["ventilation"]; 
    if($row["flooring"] != '')
    echo ",".$row["flooring"]; 
    echo ".</date>";

    echo "<table class='btm-cm'><tr><td>";
    echo "<date style='color:#35cbc9;'> Id : </date><date style='color:#808080;'>$bid</date> </td> <td style='color:#35cbcp;'>  | </td><td>"; 
    echo "<date style='color:#35cbc9;'> submitted on:  </date><date style='color:#808080;'>$dat</date></td></tr></table></div></a>";
    }
  }
  else
  {
  echo "nothing found";
  }
}
?>
}
}
</script>

【问题讨论】:

  • 您显示的代码是 PHP 而 不是 JavaScript ...
  • 我们可以在javascript里面写php代码
  • 在什么环境下可以做到这一点?我们可以使用 PHP 生成 JS 代码,是的,但是如果不使用 AJAX 之类的东西,imo 无法在 JS 代码中执行 PHP 代码。即使这样,我们也只是触发了一些 PHP 代码,并没有真正包含它。

标签: javascript php wordpress


【解决方案1】:

将 php 视为一封信的作者,然后将其放入一个信封中并蜗牛邮寄到浏览器。浏览器打开它,读取它,然后运行指令。这封信的作者一旦发布就无法添加更多内容。

也就是说 PHP 在服务器端执行,javascript 在客户端执行

你会想要研究 ajax。

这里是 manual 帮助您入门

【讨论】:

  • 从技术上讲,他也可以有一个 JS 数组变量,在页面运行之前,他用 PHP 的数组值填充该变量,然后用 JS 输出 html。或者他可以在页面加载后从 HTML 中检索值并对新数组进行排序,然后在更改下拉列表时输出它
  • @Tyblitz 感谢您的建议。但我不明白你能说清楚还是举个例子。请
猜你喜欢
  • 2016-02-21
  • 2013-01-20
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
  • 2013-04-23
  • 2022-01-24
  • 1970-01-01
  • 2015-02-28
相关资源
最近更新 更多