我已经根据已经获得的帮助对其进行了编辑。 我似乎对如何从数据库调用信息有疑问。 可以这么说,我不断收到找不到结果的错误。 我认为我有一个很好的主意,可能是什么原因造成的,但我不确定要纠正这一点。

最初,此搜索功能设置不同。 我有一个带有下拉列表的html页面,每个选项都分配了一个值,这是文本,即

<option Value="North East">North East</option>

但是,因为我在数据库中有单独的表来控制下拉列表的填充,所以该值不再是文本,而是一个数字。

关于如何解决这个问题的任何想法?

这是目前我从头到脚的所有工作。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <title>Results</title>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  <script type="text/javascript">
  $(document).ready(function()
  {
      $(".country").change(function()
      {
          var id=$(this).val();
          var dataString = 'id='+ id;

          $.ajax
          ({
              type: "POST",
              url: "ajax_city.php",
              data: dataString,
              cache: false,
              success: function(html)
              {
                  $(".city").html(html);
              } 
          });

      });
  });
  </script>
  <style>
  body {
      color: #FFFFFF;
  }
  #theclub{
      border:1px solid white;
      padding: 10px;
  }
  label
  {
      font-weight:bold;
      padding:10px;
  }
  </style>
  <link rel="stylesheet" type="text/css" href="Style.css">
  <script type='text/javascript' src='style2.js'></script>
 </head>
 <body>
  <form method="POST" enctype="multipart/form-data">
   <label>Country :</label> <select name="country" class="country">
   <option selected="selected">--Select Country--</option>
   <?php
   include('db.php');
   $sql=mysql_query("select id,data from data where weight='1'");
   while($row=mysql_fetch_array($sql))
   {
       $id=$row['id'];
       $data=$row['data'];
       echo '<option value="'.$id.'">'.$data.'</option>';
   } ?>
  </select>
  <label>City :</label> <select name="city" class="city">
   <option selected="selected">--Select City--</option>
  </select>
  <input type="submit" value="Search" name="submit">
 </form>
 <?php
 if(isset($_POST['submit']) && $_POST['submit'] != ""){ } //--here is the condition that is true if search button is pressed
 $selectedOption = $_POST["city"];

 $result = mysqli_query($con,
 sprintf("SELECT * FROM `SouthYorkshire` WHERE  `EstProv` = '%s'",
 preg_replace("/[^A-Za-z ]/", '', $selectedOption))); 

 echo "<div id=\"Results\">";

 while($row = mysqli_fetch_array($result))
 {
     echo "<div id=\"theclub\">";
     echo "<div class=\"ClubName\">";
     echo $row['EstName'];
     echo "</div><br>";
     echo "<div class=\"Location\">";
     echo $row['EstAddress2'];
     echo "</div>";
     echo "<br>";
     echo "<div id=\"website\"><a href=\"#\"><img src=\"photos/more-info.png\" width=\"75\" height=\"25\"/></a> <a href=\"" . $row['EstWebsite'] ."\" target=\"_blank\"><img src=\"photos/visit-website-button.png\" width=\"75\" height=\"25\" /></div></a></div>";
     echo "<br>";
 }
 echo "</div>";

 mysqli_close($con);
 ?>
 <br>
</body>

===============>>#1 票数:0

您的第二个代码应包含在if条件中,以便在第一个代码被淘汰后运行,如下所示:

但是首先,您必须在第一个代码中将名称属性添加到搜索按钮中-

<input type="submit" value="Search" name="submit">

现在您的第二个代码应该是

if($_POST['submit']) //--here is the condition that is true if search button is pressed
{
  $selectedOption = $_POST["city"];

$result = mysqli_query($con,
sprintf("SELECT * FROM `SouthYorkshire` WHERE  `EstProv` = '%s'",
    preg_replace("/[^A-Za-z ]/", '', $selectedOption))); 

echo "<div id=\"Results\">";

while($row = mysqli_fetch_array($result))
{
echo "<div id=\"theclub\">";
echo "<div class=\"ClubName\">";
echo $row['EstName'];
echo "</div><br>";
echo "<div class=\"Location\">";
echo $row['EstAddress2'];
echo "</div>";
echo "<br>";
echo "<div id=\"website\"><a href=\"#\"><img src=\"photos/more-info.png\" width=\"75\" height=\"25\"/></a> <a href=\"" . $row['EstWebsite'] ."\" target=\"_blank\"><img src=\"photos/visit-website-button.png\" width=\"75\" height=\"25\" /></div></a></div>";
echo "<br>";
}
echo "</div>";
mysqli_close($con);
?>
}

===============>>#2 票数:0 已采纳

我有点在黑暗中射击,因为我不确定您所说的第一和第二代码是什么意思...

如果只想运行一部分代码,则需要某种条件来检查是否要运行它

如果您不希望代码的第二部分立即运行,则要检查post变量city是否已设置且不为空,并且仅在值不为空的情况下才运行代码:

if(isset($_POST['city']) && $_POST['city'] != ""){
  // your code here
}

  ask by user3487006 translate from so

未解决问题?本站智能推荐:

1回复

将表单请求数据转换为cakephp中的xml

我正在尝试将cakephp请求对象中的所有表单数据转换为xml,然后将其转换为字符串,以便可以将其放置在mysql表的(blob)列中。 我正在尝试使用CakePHP 2.xx中的buildin xml构建器来进行此操作,如下所示,但出现错误。 表格如下所示 我收到的错误似
1回复

使用symfony表单组件重构纯请求数据解析

所以我在这里有一个具有此操作方法的控制器: 我的同事希望我将其重构为使用表格。 要注意的是-TournamentInstance字段如下: POST数据不是从树枝形式发送的,而是从JS中的AJAX请求发送的,其中从代码中的多个位置收集数据。 我该如何做到这一点,甚至值得吗
1回复

Symfony2将Ajax请求数据传递到表单呈现控制器

我有一个Symfony表单有问题,我想根据事先查看的记录来预填该表单。 目的是创建一种用于更改记录数据的方法。 我通过javascript导航到表单页面,并将ajax请求发送到呈现表单的同一控制器。 这是用于查看记录的页面的一部分: 我像这样通过javascript / jQu
3回复

PHP发布文本字段并请求数据-(我相信这也可能很简单)

我不知道从哪里开始。我有2页。 第一页是具有4个文本字段的表单,该文本字段传递到第二页,并用逗号分隔每个文本字段(仅当它们在字段中填充内容时-因此,如果仅在其中填充一个字段,它将没有任何逗号),并以结尾有一段时间。 如何在PHP中做到这一点?
1回复

减少表单Symfony2中的请求数

我有一个表单类型,另一个表单类型包括他的一个字段中的第一个。 第二种表单类型用于显示实体列表 第一种表单类型: 第二个实体: 以及在控制器中创建表单: 我对124个字段有196个请求,因为国家/地区列表在每一行上都进行了重新查询,是否有解决方案来防止它? 我
4回复

创建php表单,根据用户选择显示消息

我想创建一个带有复选框的php表单,如下所示: 当用户选中复选框时,我要根据用户选择打印消息。 不是他做出的选择,而是一条信息取决于他的选择。
4回复

无法将HTML请求数据发布到控制器

我遇到一个问题,即在网站上我正在处理的表单在按下按钮时将无法运行代码,这在某种程度上可以正常工作,而且我不知道是什么更改使它中断了。 路线 我正在尝试运行的代码,dd用于测试,甚至从未到达那里 我刚刚用对代码所做的更改更新了此帖子
1回复

使用特殊值在codeigniter上发送发布请求数据

我正在编写一个codeigniter应用程序,并试图实现自己的注释系统 系统 我想在我的API页面上发出一个POST请求,其中包含注释正文,创建者的用户名和注释位置(请参见下文) 发送数据 使用codeigniter发送数据非常容易。 REST服务器库将处理POST请求
4回复

PHP表单电子邮件请求未通过表单数据

我一直在研究php脚本和html表单(均在单独的文件中),这些表单从表单中获取数据并将其通过电子邮件发送给我。 我很难获得用户填写的表格数据通过电子邮件发送。 我希望电子邮件将用户的电子邮件包含为电子邮件中的“发件人”。 谁能帮我弄清楚文件出了什么问题? HTML表单:
2回复

根据表单选择生成多个“请求”-PHP-CakePHP

我有一个CakePHP表单,可以让用户选择各种参数。 我要做的是让他们在几个不同的参数上选择多个选项,然后将它们转换为多个提交。 我的CakePHP模型称为“请求”,因此理想情况下,我要执行的工作是使用户能够通过一种表单提交来创建多个请求-本质上是他们选择的选项的“跨产品”。 我不想/