Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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_Mysql_Database_Checkbox - Fatal编程技术网

Php 使用复选框显示数据库中的值

Php 使用复选框显示数据库中的值,php,mysql,database,checkbox,Php,Mysql,Database,Checkbox,关于使用复选框显示数据库中的数据,我有一个问题。我可以显示它们,但它们会多次显示。我只需要它们显示一次。如果相同的内容有更多的结果,那么我应该只显示其中一个。如果我选中多个复选框,我会得到如下结果 ISO 27005:2008 NIST SP 800 - 30 OCTAVE CobIT CRAMM FMEA FRAP EBIOS RuSecure ALE Cobra MEHARI ISO 27005:2008 NIST SP 800 - 30 OCTAVE CobIT CRAMM FMEA FR

关于使用复选框显示数据库中的数据,我有一个问题。我可以显示它们,但它们会多次显示。我只需要它们显示一次。如果相同的内容有更多的结果,那么我应该只显示其中一个。如果我选中多个复选框,我会得到如下结果

ISO 27005:2008
NIST SP 800 - 30
OCTAVE
CobIT
CRAMM
FMEA
FRAP
EBIOS
RuSecure
ALE
Cobra
MEHARI
ISO 27005:2008
NIST SP 800 - 30
OCTAVE
CobIT
CRAMM
FMEA
FRAP
EBIOS
RuSecure
ALE
Cobra
MEHARI
ISO 27005:2008
NIST SP 800 - 30
OCTAVE
CobIT
CRAMM
FMEA
FRAP
EBIOS
RuSecure
ALE
Cobra
MEHARI
我只需要一个结果,而不是相同的结果。我需要某种过滤器或其他东西来比较列出的所有内容并只选择一个实例。每个显示结果适用于选中的每个复选框。如果我选择了其中的两个,那么每个都会显示两个结果,我只希望每个结果都有一个组合结果,如下所示:

ISO 27005:2008
NIST SP 800 - 30
OCTAVE
CobIT
CRAMM
FMEA
FRAP
EBIOS
RuSecure
ALE
Cobra
MEHARI  
if (isset($_POST['gumbposlan'])) {

    $whereString = '';

    if (isset($_POST['chkbox'])){
        foreach ($_POST['chkbox'] as $value) {
            if (empty($whereString))
                $whereString .= "where `$value` = 1 ";
            else
                $whereString .= "and where `$value` = 1 ";
        }
    }

    $query = "SELECT DISTINCT `ime` FROM `kriteriji` $whereString";

    $upit = mysql_query($query);
    while ($red = mysql_fetch_array($upit)) {
       $cijena = $red['ime'];
       if ($cijena < 1)
         echo $cijena . "<br>";
    }
}
或满足表中条件的任何其他组合 有关于删除重复值的帮助或建议吗我是这方面的初学者,非常抱歉我的语言。Ty
这就是我得到的

lol.php This is where all the action is. I use if statements to check for checked checkboxes.

     <?php
    if (isset($_POST['submit'])) {
        if (isset($_POST['chkbox1']) || (isset($_POST['chkbox2'])) || (isset($_POST['chkbox3']))) {
            if ((isset($_POST['chkbox1']) && (isset($_POST['chkbox2'])))) {
                $upit = mysql_query("SELECT ime FROM kriteriji where identifikacija = 1 and analiza = 1");
                while ($red = mysql_fetch_array($upit)) {
                    $cijena = $red['ime'];
                    echo $cijena . "<br>";
                }
            }
            if ((isset($_POST['chkbox1'])) && (isset($_POST['chkbox3']))) {
                $upit = mysql_query("SELECT ime FROM kriteriji where identifikacija = 1 and evaluacija = 1");
                while ($red = mysql_fetch_array($upit)) {
                    $cijena = $red['ime'];
                    echo $cijena . "<br>";
                }
            }
            if ((isset($_POST['chkbox2'])) && (isset($_POST['chkbox3']))) {
                $upit = mysql_query("SELECT ime FROM kriteriji where analiza = 1 and evaluacija = 1");
                while ($red = mysql_fetch_array($upit)) {
                    $cijena = $red['ime'];
                    echo $cijena . "<br>";
                }
            }
            if (isset($_POST['chkbox1'])) {
                $upit = mysql_query("SELECT  ime FROM kriteriji where identifikacija = 1");
                while ($red = mysql_fetch_array($upit)) {
                    $cijena = $red['ime'];
                    echo $cijena . "<br>";
                }
            }

            if (isset($_POST['chkbox2'])) {
                $upit = mysql_query("SELECT ime FROM kriteriji where analiza = 1");
                while ($red = mysql_fetch_array($upit)) {
                    $cijena = $red['ime'];
                    echo $cijena . "<br>";
                }
            }
            if (isset($_POST['chkbox3'])) {
                $upit = mysql_query("SELECT ime FROM kriteriji where evaluacija = 1");
                while ($red = mysql_fetch_array($upit)) {
                    $cijena = $red['ime'];
                    echo $cijena . "<br>";
                }
            }
        } else {
            $upit = mysql_query("SELECT ime FROM kriteriji where identifikacija = 1 and analiza = 1 and evaluacija = 1");
            while ($red = mysql_fetch_array($upit)) {
                $cijena = $red['ime'];
                echo $cijena . "<br>";
            }
        }
    }
    ?>

html file

    <!doctype html>
<html>
    <head>
        <?php
//spajanje na server
        $spajanje = mysql_connect("localhost", "root", "") or die("Nije se mouće povezati na server :("); //spajanje na server
//spajanje na bazu
        $baza = mysql_select_db("magistarski") or die("Nije se moguće povezati na bazu podataka :(");
        ?>
        <meta charset="utf-8">
        <title>Magistarski</title>
    </head>

    <body>


        <form action="lol.php" method="post">
            <p>
            <table width="766" height="418" border="0">
                <caption>
                    <h1>Choose...</h1>
                </caption>
                <tr>
                    <td width="203" height="203"><h3 align="left"><em>Risk Assessment</em></h3>
                        <div align="justify"><em>
                                <input type="checkbox" name="chkbox1" value="risk_id" />
                                Risk Identification<br>
                                <input type="checkbox" name="chkbox2" value="risk_an" />Risk Analysis<br>
                                <input type="checkbox" name="chkbox3" value="risk_eval" />Risk Evaluation<br>
                            </em></div></td>
                    <td width="194"><h3 align="left"><em>Risk management</em></h3>
                        <div align="justify"><em>
                                <input type="checkbox" name="chkbox4" value="risk_ass" />
                                Risk Assessment<br>
                                <input type="checkbox" name="chkbox5" value="risk_acc" />Risk Acceptance<br>
                                <input type="checkbox" name="chkbox6" value="risk_com" />Risk Communication<br>
                            </em></div></td>
                    <td width="212"><h3 align="justify"><em>Price</em></h3>
                        <div align="justify"><em>
                                <input type="checkbox" name="chkbox7" value="free" />
                                Free<br>
                                <input type="checkbox" name="chkbox8" value="notfree" />Not Free<br>
                            </em></div></td>
                </tr>
                <tr>
                    <td height="181"><h3 align="justify"><em>Organization</em></h3>
                        <div align="justify"><em>
                                <input type="checkbox" name="chkbox9" value="sme" />SME<br>
                                <input type="checkbox" name="chkbox10" value="large" />Large<br>
                                <input type="checkbox" name="chkbox11" value="goverment" />Goverment<br>
                                <input type="checkbox" name="chkbox12" value="profit" />Profit<br>
                                <input type="checkbox" name="chkbox13" value="nonprofit" />Non - profit<br>
                            </em></div></td>
                    <td><h3 align="justify"><em>Skills</em></h3>
                        <div align="justify"><em>
                                <input type="checkbox" name="chkbox14" value="basic" />Basic<br>
                                <input type="checkbox" name="chkbox15" value="standard" />Standard<br>
                                <input type="checkbox" name="chkbox16" value="specialist" />Specialist<br>
                            </em></div></td>
                    <td><h3 align="justify"><em>Documented</em></h3>
                        <div align="justify"><em>
                                <input type="checkbox" name="chkbox17" value="low" />
                                Low<br>
                                <input type="checkbox" name="chkbox18" value="good" />Good<br>
                                <input type="checkbox" name="chkbox19" value="high" />High<br>
                            </em></div></td>
                </tr>
            </table>

        </p>
        <div>
            <input type="submit" name="submit" value="Show" />
        </div>
    </form>
      </body>
       </html>
lol.php这就是所有操作的所在。我使用if语句检查复选框。
html文件
马吉斯塔斯基

选择。。。
风险评估
风险识别
风险分析
风险评估
风险管理 风险评估
风险接受
风险沟通
价格 免费
不是免费的
组织机构 中小企业
大的
政府
利润
非盈利
技能 基本的
标准
专家
记录 低
好的


如果我没说错,那么用“if”表达式检查发送的数据就错了。 我认为您应该首先获取所有必需的字段,然后组合查询。试着这样做:

ISO 27005:2008
NIST SP 800 - 30
OCTAVE
CobIT
CRAMM
FMEA
FRAP
EBIOS
RuSecure
ALE
Cobra
MEHARI  
if (isset($_POST['gumbposlan'])) {

    $whereString = '';

    if (isset($_POST['chkbox'])){
        foreach ($_POST['chkbox'] as $value) {
            if (empty($whereString))
                $whereString .= "where `$value` = 1 ";
            else
                $whereString .= "and where `$value` = 1 ";
        }
    }

    $query = "SELECT DISTINCT `ime` FROM `kriteriji` $whereString";

    $upit = mysql_query($query);
    while ($red = mysql_fetch_array($upit)) {
       $cijena = $red['ime'];
       if ($cijena < 1)
         echo $cijena . "<br>";
    }
}
if(isset($\u POST['gumbposlan'])){
$whereString='';
如果(isset($_POST['chkbox'])){
foreach($_POST['chkbox']作为$value){
if(空($whereString))
$whereString.=“其中`$value`=1”;
其他的
$whereString.=”和其中的“$value`=1”;
}
}
$query=“从`kriteriji`$whereString`中选择不同的`ime`”;
$upit=mysql\u query($query);
而($red=mysql\u fetch\u数组($upit)){
$cijena=$red['ime'];
如果($cijena<1)
echo$cijena.“
”; } }
尝试对复选框进行分组,并实现您想要的结果,如name=“chkbox[set1][]”value=“value10”,name=“chkbox[set1][]”value=“value11”,name=“chkbox[set1][”value=“value12”,name=“chkbox[set2][”value=“value13”,name=“chkbox[set2][”value=“value15”。。。等甚至可以是chkbox[set1][subset1][。。。而且。。。人们无法理解你的确切需求。。。编辑您的问题以使其易懂。您可以使用复选框值查看单击了哪个复选框,或者将您的复选框修改为关联数组,您可以将其用作phpThank you Sergey中的键值对,您的帖子帮了我很多忙,效果非常好!!!非常感谢。