Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果数据来自数据库,如何防止重复数据?_Php_Jquery_Duplicates - Fatal编程技术网

Php 如果数据来自数据库,如何防止重复数据?

Php 如果数据来自数据库,如何防止重复数据?,php,jquery,duplicates,Php,Jquery,Duplicates,我有一个由两个文本字段和一个组合框组成的表单。 我想防止重复输入数据从客户端。 我从DB中获取组合框数据,如: <select id="line" name="faline" > <?php $sql="SELECT `Line_Name` FROM `prod_sch` WHERE `Line_Name` LIKE 'FA %' GROUP BY `Line_Name` ORDER BY `Line_Name`"; if ($sql) {

我有一个由两个文本字段和一个组合框组成的表单。 我想防止重复输入数据从客户端。 我从DB中获取组合框数据,如:

<select id="line" name="faline" >
<?php
   $sql="SELECT `Line_Name` FROM `prod_sch` WHERE `Line_Name` LIKE 'FA %' GROUP BY `Line_Name` ORDER BY `Line_Name`";
   if ($sql) {
               $res=mysql_query($sql) or _doError(_ERROR30 . ' (<small>' . htmlspecialchars($sql) . '</small>): ' . mysql_error() );
              }
   while ($dat = mysql_fetch_array($res, MYSQL_NUM)) {
           echo "\t\t\t\t\t\t\t\t<option value='".$dat[0]."'>".$dat[0]."</option>\n";
         }
?>
</select>


首先,使用
Line\u Name
s构建一个数组:

<select id="line" name="faline" >
<?php
   $sql="SELECT `Line_Name` FROM `prod_sch` WHERE `Line_Name` LIKE 'FA %' GROUP BY `Line_Name` ORDER BY `Line_Name`";
   if ($sql) {
               $res=mysql_query($sql) or _doError(_ERROR30 . ' (<small>' . htmlspecialchars($sql) . '</small>): ' . mysql_error() );
              }

   $lineNames = array();
   while ($dat = mysql_fetch_array($res, MYSQL_NUM)) {
           $lineNames[] = $dat[0];
         }
最后再次迭代:

   foreach ($lineNames as $lineName) {
           echo "\t\t\t\t\t\t\t\t<option value='".$lineName."'>".$lineName."</option>\n";
           }
?>
</select>
foreach($lineName作为$lineName){
echo“\t\t\t\t\t\t\t\t”。$lineName.\n”;
}
?>

首先,用
行名称构建一个数组
s:

<select id="line" name="faline" >
<?php
   $sql="SELECT `Line_Name` FROM `prod_sch` WHERE `Line_Name` LIKE 'FA %' GROUP BY `Line_Name` ORDER BY `Line_Name`";
   if ($sql) {
               $res=mysql_query($sql) or _doError(_ERROR30 . ' (<small>' . htmlspecialchars($sql) . '</small>): ' . mysql_error() );
              }

   $lineNames = array();
   while ($dat = mysql_fetch_array($res, MYSQL_NUM)) {
           $lineNames[] = $dat[0];
         }
最后再次迭代:

   foreach ($lineNames as $lineName) {
           echo "\t\t\t\t\t\t\t\t<option value='".$lineName."'>".$lineName."</option>\n";
           }
?>
</select>
foreach($lineName作为$lineName){
echo“\t\t\t\t\t\t\t\t”。$lineName.\n”;
}
?>

我相信使用会达到目的。

我相信使用会达到目的。

你不能用SQL来为你做到这一点吗?i、 e.使用distinct关键字

$sql="SELECT distinct `Line_Name` FROM `prod_sch` WHERE `Line_Name` LIKE 'FA %' GROUP BY `Line_Name` ORDER BY `Line_Name`";

很抱歉,在我说“独特”之前,我在这里使用了“独特”。

您不能使用SQL来完成这项工作吗?i、 e.使用distinct关键字

$sql="SELECT distinct `Line_Name` FROM `prod_sch` WHERE `Line_Name` LIKE 'FA %' GROUP BY `Line_Name` ORDER BY `Line_Name`";

对不起,在我说“独特”之前,这里有“独特”。

您在哪里采用了这种缩进方式?我以前没见过,看起来有点。。。凌乱。你在哪里采用这种缩进方式的?我以前没见过,看起来有点。。。凌乱。我相信我的答案更有效,更不用说代码更少:)这对我来说像是一个PHP问题,而不是SQL问题。@all:请再次检查我的问题..我已经更改了它。我相信我的答案更有效,更不用说代码更少:)这对我来说像是一个PHP问题,不是SQL的。@all:请再次检查我的问题。.我已经更改了它。我认为UNIQUE是一个索引约束。它真的可以这样使用吗?我已经改变了我的问题。对于获取组合框数据没有问题。我认为UNIQUE是一个索引约束。它真的可以这样使用吗?我已经改变了我的问题..获取组合框数据没有问题。