我在数据库中插入数据时遇到了一些麻烦,两行之间的值混合在一起。我确实尝试只做一个while循环,但即使这样也行不通,所以我会把我的代码放在开头。欢迎任何建议或解决方案,这将是伟大的。以下是我在textareas中为评论框进行测试后得到的两个插入查询的回声:
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:我正在使用Navicat进行MYSQL,而且我还是PHP的新手,所以请花时间解释一下。
最诚挚的问候A.V.
<?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);
//}
}
?>
以下是表格:
<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 © 2017 </font>
</p>
</div>
</BODY>
</HTML>
答案 0 :(得分:1)
没关系,我明白了!
<?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);
//}
}
?>
答案 1 :(得分:-1)
如果要将radiobutton
和textarea
同时插入同一行,则应该如何操作。这两个字段都应该从单个插入查询中插入
if (isset($_POST["bouton11"]))
{
$choix = $_POST["$un"];
$comment = $_POST["$kv"];
$enregistrer = INSERT INTO questionnaire(Choix,Commentara) VALUES($choix,$comment);
mysqli_query($link, $enregistrer);
}