【问题标题】:How to prevent form from resetting after returning no results?没有返回结果后如何防止表单重置?
【发布时间】:2014-01-03 03:39:17
【问题描述】:

我一直在模拟一个 mysql & php 搜索页面,它按预期运行。但是,当表单发布并且没有返回结果时,<option> 标签被重置,我想知道我是否可以防止这种情况发生?

META:我知道 mysql_* 的弃用和 mySQL 注入的可能性,这只是一个快速的模型。

<?php 
mysql_connect("localhost","root","") or die('Could not connect');
mysql_select_db("webhost") or die ('Could not find DB');
$output = '';

// Queries 
if (isset($_POST['submit'])) {

    $dsquery = $_POST['Diskspace'];
    $prquery = $_POST['Price'];

    $query =  mysql_query("
    SELECT * FROM data WHERE Diskspace BETWEEN $dsquery
    AND Price BETWEEN $prquery 
    ") ;
    $count = mysql_num_rows($query);

    if ($count == 0){
        $output = "No such results, sorry.";
    }else{
        while($row = mysql_fetch_array($query)){
            $diskspace = $row['Diskspace'];
            $price = $row['Price'];
            $host = $row['Provider'];
            $output .= '<div>'.$host.'  '.$diskspace.'  '.$price.'</div>'; 
        }
    }
    print ("$output");
} 

 ?>

【问题讨论】:

  • 也许你可以使用ajax提交表单
  • 表单和上面的php代码在同一页吗?
  • 没有足够的代码知道问题
  • @MichaelGarrison,没错,迈克尔,它在同一页上。

标签: php html mysql select html-select


【解决方案1】:

您可以使用 AJAJ/AJAX。这是保留表单数据的一种方式。

有很多 jQuery 特性,比如 .post 和 .ajax 可以做到这一点。

您还可以创建一个对象并存储帖子数据。

您也可以使用会话。

【讨论】:

  • 我将如何实现这个?
  • 谷歌:jQuery 表单数据 php
  • 使用 jquery $.ajax() 或 $.post() 函数
  • 我想到了会话,但是,会话会如何影响 URL?
  • 我能问你为什么不推荐它吗?更新:我将关注此视频以获取 AJAX 数据表单 - youtube.com/watch?v=Yb3c-HljFro
猜你喜欢
  • 2011-04-28
  • 1970-01-01
  • 2011-12-06
  • 2015-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-21
  • 1970-01-01
相关资源
最近更新 更多