简体   繁体   English

在数据库MYSQL中插入数据,数据混合

[英]Inserting data in database MYSQL , data getting mixed

I have some troubles to insert data in the database , values get mixed between two rows. 我在数据库中插入数据有些麻烦,值在两行之间混合。 I did try to do an only while loop but even that doesn't work so im gonna put my code as it was at the start . 我确实尝试只做一个循环,但即使这样也行不通,所以我要把我的代码放在开头。 Any advices or solution are welcome , it will be great. 欢迎任何建议或解决方案,这将是伟大的。 Here is the echo that i get on the two insert query after puting test in textareas for commentaries boxes: 这是我在textareas中为评论框进行测试后得到的两个插入查询的回声:

Choix refer to radio button values and Commentara to values of commentaries boxes (textarea). Choix引用单选按钮值和Commentara到注释框的值(textarea)。

INSERT INTO questionnaire(Choix,Commentara) VALUES('test1','test1') 
INSERT INTO questionnaire(Choix,Commentara) VALUES('test2','test2') 
INSERT INTO questionnaire(Choix,Commentara) VALUES('test3','test3') 
INSERT INTO questionnaire(Choix,Commentara) VALUES('test4','test4')

PS: I'm using Navicat for MYSQL and I'm still new on PHP so please take your time to explain. PS:我正在使用Navicat进行MYSQL,而且我还是PHP的新手,所以请花点时间来解释一下。

Best Regards AV 最好的问候AV

   <?php
$link=Mysqli_connect($host,$login,$pass,$dbname);
$un = 0;
$kv = 0 ;
$msgerror = "Veuillez remplir tous les champs ";    

if(isset($_POST["bouton10"])){



    $id = !empty($_REQUEST["Picolo4"]) ? $_REQUEST["Picolo4"] : "";
    $Nom = !empty($_REQUEST["Picolo1"]) ? $_REQUEST["Picolo1"] : "";
    $Prenom = !empty($_REQUEST["Picolo2"]) ? $_REQUEST["Picolo2"] : "";
    $Email = !empty($_REQUEST["Picolo3"]) ? $_REQUEST["Picolo3"] : "";
    $RefClient = !empty($_REQUEST["Picolo5"]) ? $_REQUEST["Picolo5"] : "";
    if ($id !="" && $Nom !="" && $Prenom !="" && $Email !="" && $RefClient !=""){

        $recherche= "SELECT Ref,Question,Choix,Commentara FROM questionnaire WHERE Qref ='$id'";


        mysqli_query($link,$recherche);





        $result= mysqli_query($link,$recherche);
        $num_results = $result->num_rows;
        while ($row = mysqli_fetch_assoc($result)) {

            $Ref =$row["Ref"];
            $Question       =$row["Question"];

            $un++;
            $kv++;

            echo" <tr bgcolor=\"white\">

            <td>$Question  </td>
            <td>
                3<input type=\"radio\" name =\"$un\" id =\"un\" value = \"3\">
                2<input type=\"radio\" name =\"$un\" id =\"un\" value = \"2\">
                1<input type=\"radio\" name =\"$un\" id =\"un\" value = \"1\">
                0<input type=\"radio\" name =\"$un\" id =\"un\"  value = \"0\">
                PA<input type=\"radio\" name =\"$un\" id =\"un\" value = \"PA\">
            </td>
            <td width = \"60\"> <textarea name =\"$kv\" id =\"kv\" rows=\"5\" placeholder=\"Votre commentaire\"></textarea> </td> 
        </tr>


    </div>
</div>
"; 

}
}
else {

    echo "<script type='text/javascript'>alert('$msgerror')</script>";

}
}

$kv = 1;
$un = 1;
$i= 1 ;

if (isset($_POST["bouton11"]))   {





    while(isset($_POST[$un])||(isset($_POST[$kv]))){
        $choix = $_POST["$un"];
        $comment = $_POST["$kv"];


        $enregistrer = "INSERT INTO questionnaire(Choix,Commentara)  VALUES('$choix','$comment') ";

        $un++;
        $kv++;
        $i++;
        echo"$enregistrer";
        mysqli_query($link, $enregistrer); 

    }
//Besoin d'un correctif

    //while(isset($_POST[$kv])) {
    //  $comment = $_POST["$kv"];


    //  $enregistrer2 = "INSERT INTO questionnaire(Commentara) VALUES('$comment')";
       // $kv++;

     // echo"$enregistrer2";

    //  mysqli_query($link, $enregistrer2);
    //}

}



?>

Here is the form: 这是表格:

<DOCTYPE HTML>
   <HTML>
      <HEAD>
         <TITLE>Foredeck_Testeur</TITLE>
         <meta name="viewport" content="width=device-width, initial-scale=1" charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
         <link href="css/bootstrap.min.css" type="text/css" rel="stylesheet">

         <link rel="stylesheet" href="css/footer-distributed-with-address-and-phones.css">
         <link rel="stylesheet" href="css/tab.css">
         <link href="http://fonts.googleapis.com/css?family=Cookie" rel="stylesheet" type="text/css">
         <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.css">

         <script type="text/javascript" src="jquery/jquery-1.11.3.min.js"></script>
         <script type="text/javascript" src="js/tab.js"></script>


         <style type="text/css">
           .footer {
              min-width: 100%;
              height: auto;
              text-align: center;
              background: rgb(0, 0, 0);
              position: fixed;
              bottom: 0%;
              margin-top: 50%;
           }

           .wrapper {
              min-height: 100%;
              height: auto !important;
              height: 100%;
              margin: 0 auto -142px; /* the bottom margin is the negative value of the footer's height */
           }




        </STYLE>


     </HEAD>


     <BODY bgcolor="#6495ED">
      <form method ="post" id="">

         <table class="center-table" border ="1" align="center" >

            <tr bgcolor="#b0bffc">   
               <td>Nom:</TD><TD><input type="text" class="form-control" name ="Picolo1" id="Picolo1" > </textarea></td><td><P>(Obligatoire*)</P></td>  




            </tr>
            <tr bgcolor="#b0bffc">
               <td>Prénom:</TD><TD><input type="text" class="form-control" name ="Picolo2" id="Picolo2"> </textarea></td><td><P>(Obligatoire*)</P></td>
            </tr>
            <tr bgcolor="#b0bffc">
               <td>Email:</TD><TD><input type="mail" class="form-control" name ="Picolo3" id="Picolo3"> </textarea></td><td><P>(Obligatoire*)</P></td>
            </tr>

            <tr bgcolor="#b0bffc">
               <td>Référence Questionnaire:</td>
               <td><input type="text" class="form-control" name ="Picolo4" id="Picolo4" > </textarea></td> <td> (Obligatoire*)</td>
            </tr>
            <tr bgcolor="#b0bffc">
               <td>Référence Client:</td>
               <td><input type="text" class="form-control" name ="Picolo5" id="Picolo5" > </textarea></td> <td> (Obligatoire*)</td>
            </tr>
            <Tr>
               <TD bgcolor="#b0bffc">
                  <Center><button type="submit" name="bouton10" id="bouton10" class="btn btn-default" >Confirmer</button></Center>
               </TD>
            </TR>
         </table>
         <BR>

            <table class="center-table" border ="1" align="center"  >

               <tr bgcolor="#b0bffc">   <td> Question</td> <td>Choix</td> <td>Commentaires</td>   </tr>

               <?php
               include("bdconnect_Foredeck.php");
               include("foredeckaffiche_client.php");
               include("foredeck_insert_client.php");

               ?>

            </Table>
            <BR>


               <Center><button type="submit" name="bouton11" id="bouton11" class="btn btn-default" >Enregistrer</button></Center>
               <BR>
                <BR>
                 <Center>
                  <a href ="Foredeckmain.php" >Retour</button> </a> 


               </Center>
            </form>
         </div>
         <div class="footer">
           <p>
              <font color="white"> Foredeck Consulting Ltd &copy;  2017 </font>
           </p>
        </div>
     </BODY>
  </HTML>

It's ok i got it ! 没关系,我明白了!

<?php
$link=Mysqli_connect($host,$login,$pass,$dbname);
$un = 0;
$kv = 0 ;
$msgerror = "Veuillez remplir tous les champs ";    

if(isset($_POST["bouton10"])){



    $id = !empty($_REQUEST["Picolo4"]) ? $_REQUEST["Picolo4"] : "";
    $Nom = !empty($_REQUEST["Picolo1"]) ? $_REQUEST["Picolo1"] : "";
    $Prenom = !empty($_REQUEST["Picolo2"]) ? $_REQUEST["Picolo2"] : "";
    $Email = !empty($_REQUEST["Picolo3"]) ? $_REQUEST["Picolo3"] : "";
    $RefClient = !empty($_REQUEST["Picolo5"]) ? $_REQUEST["Picolo5"] : "";
    if ($id !="" && $Nom !="" && $Prenom !="" && $Email !="" && $RefClient !=""){

        $recherche= "SELECT Ref,Question,Choix,Commentara FROM questionnaire WHERE Qref ='$id'";


        mysqli_query($link,$recherche);





        $result= mysqli_query($link,$recherche);
        $num_results = $result->num_rows;
        while ($row = mysqli_fetch_assoc($result)) {

            $Ref =$row["Ref"];
            $Question       =$row["Question"];

            $un++;
            $kv++;

            echo" <tr bgcolor=\"white\">

            <td>$Question  </td>
            <td>
                3<input type=\"radio\" name =\"$un\" id =\"un1\" value = \"3\">
                2<input type=\"radio\" name =\"$un\" id =\"un2\" value = \"2\">
                1<input type=\"radio\" name =\"$un\" id =\"un3\" value = \"1\">
                0<input type=\"radio\" name =\"$un\" id =\"un4\"  value = \"0\">
                PA<input type=\"radio\" name =\"$un\" id =\"un5\" value = \"PA\">
            </td>
            <td width = \"60\"> <textarea name =\"text_$kv\" id =\"kv\" rows=\"5\" placeholder=\"Votre commentaire\"></textarea> </td> 
        </tr>


    </div>
</div>
"; 

}
}
else {

    echo "<script type='text/javascript'>alert('$msgerror')</script>";

}
}

$kv = 1;
$un = 1;
$i= 1 ;

if (isset($_POST["bouton11"]))   {






while((isset($_POST[$kv]))||(isset($_POST[$un]))){ 
$comment = $_POST["text_$kv"]; 
$choix=$_POST["$un"]; 

$enregistrer = "INSERT INTO questionnaire(Choix,Commentara) VALUES('$choix','$comment') "; 
$kv++; 
$un++; 
echo "$comment"; 
$i++; 
echo"$choix"; 
echo"$enregistrer"; 
mysqli_query($link, $enregistrer); 

}
//Besoin d'un correctif

    //while(isset($_POST[$kv])) {
    //  $comment = $_POST["$kv"];


    //  $enregistrer2 = "INSERT INTO questionnaire(Commentara) VALUES('$comment')";
       // $kv++;

     // echo"$enregistrer2";

    //  mysqli_query($link, $enregistrer2);
    //}

}



?>

If you want to insert both radiobutton and textarea to the same row,this is how you should do. 如果要将radiobuttontextarea插入同一行,这就是你应该做的。 Both the fields should be inserted from a single insert query 应从单个插入查询中插入这两个字段

 if (isset($_POST["bouton11"]))
{

 $choix = $_POST["$un"];
$comment = $_POST["$kv"];
$enregistrer = INSERT INTO questionnaire(Choix,Commentara) VALUES($choix,$comment);
mysqli_query($link, $enregistrer); 

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM