dpjo15650 2019-01-20 07:26
浏览 100

我的代码只更新我的数据库的最后一行而不是第二行或我想要的那一行,只是最后一行

I have a project to render for Monday. Its purpose is simple, a form to add a user, delete and edit. My problem is on the update. I have for example three lines in my database, and I want to edit the second one, IMPOSSIBLE! my code will always update the last line of the database. If you want to test here is the site on which I test this. https://a-marie.000webhostapp.com/ I do not really know what else to do

<?php
include_once("inc/connexion.php");?>
<HTML><HEAD>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script type= text/javascript>
function confsuppr(id_personne, nom){
    if (confirm("Etes-vous surre de supprimer "+nom)){
        window.location.replace("https://a-marie.000webhostapp.com/?idsuppr="+id_personne)
        }
    }
</script>
<TITLE>personnes</TITLE></HEAD><BODY>";
<?php PRINT_R($_REQUEST);   ?><hr>
<form class="w3-container w3-light-grey"><FORM ACTION="" METHOD="POST"><legend>Ajout d'une personne :</legend>
<LABEL>Prenom : </LABEL><input class="w3-input w3-border w3-round" type="text" style="width:30%" name="prenom" required>
<LABEL>Nom : </LABEL><input class="w3-input w3-border w3-round" type="text" style="width:30%" name="nom" required>
<LABEL>E-Mail : </LABEL><input class="w3-input w3-border w3-round" type="text" style="width:30%" name="email">
<LABEL>Statut : </LABEL><input class="w3-input w3-border w3-round" type="text" style="width:30%" name="statut">
<LABEL>Date de naissance :<br/></LABEL> <input class='w3-input w3-border w3-round' type=date name="annee_naissance" required>
<INPUT TYPE=SUBMIT class='w3-button w3-block w3-teal w3-round' style='width:30%' NAME='valider' VALUE='Ajouter'>
</form>
<?php
if (isset($_REQUEST['valider'])=="Ajouter") {
    $prenom=mysqli_real_escape_string($cnx, $_REQUEST['prenom']);
    $nom=mysqli_real_escape_string($cnx, $_REQUEST['nom']);
    $annee_naissance=$_REQUEST['annee_naissance'];
    $email=mysqli_real_escape_string($cnx,$_REQUEST['email']);
    //$statut=$_REQUEST['statut'];
    $statut=mysqli_real_escape_string($cnx,$_REQUEST['statut']);
    $req="INSERT INTO personnes VALUES(NULL,'$nom','$annee_naissance','$prenom','$email','$statut');";
    $result=mysqli_query($cnx,$req); if(!$result) $msg="requete invalide : ".mysqli_error(); else $msg=$req;
}
if (isset($_REQUEST['idsuppr'])!="") {
    $supprid=$_REQUEST['idsuppr'];
    $req="DELETE FROM personnes WHERE id_personne='$supprid';";
    $result=mysqli_query($cnx,$req); if(!$result) $msg="requete invalide : ".mysqli_error(); else $msg=$req;
}
if (isset($_REQUEST['maj'])!="") {
    $id_personne=$_REQUEST['id_personne'];
    //$id_personne = $_GET['maj'];
    $prenom=ucfirst(mysqli_real_escape_string($cnx,$_REQUEST['prenom']));
    $nom=strtoupper(mysqli_real_escape_string($cnx,$_REQUEST['nom']));
    $annee_naissance=$_REQUEST['annee_naissance'];
    $email=mysqli_real_escape_string($cnx,$_REQUEST['email']);
    $statut=mysqli_real_escape_string($cnx,$_REQUEST['statut']);
    $req="UPDATE personnes SET nom='$nom',annee_naissance='$annee_naissance',prenom='$prenom',email='$email',statut='$statut' WHERE id_personne='$id_personne';";
    $result=mysqli_query($cnx,$req); if(!$result) $msg="requete invalide : ".mysqli_error(); else $msg=$req;
}
$str="<div class='w3-container'><table class=w3-table-all w3-hoverable><caption>Personnes</caption><thead><TR class='w3-light-grey'><TH>Id</TH><TH>Prenom</TH><TH>Nom</TH><TH>Naiss</TH><TH>EMAIL</TH><TH>Statut</TH><TH>Suppr</TH><TH>maj</TH></TR></thead>";
$req="SELECT * FROM personnes ORDER BY id_personne ASC;";
$result=mysqli_query($cnx,$req); if(!$result) $msg="requete invalide : ".mysqli_error();
//$result=mysqli_query($cnx,$req); $msg="requete invalide : ".mysqli_error(); $msg=$req;
else{
    foreach ($result as $ligne) {
    $str.="<TR><FORM METHOD='POST' ACTION=''>";
        $prenom=$ligne["prenom"];
        $nom=$ligne["nom"];
        $id_personne=$ligne["id_personne"];
        $ddn=$ligne["annee_naissance"];
        $email=$ligne["email"];
        $statut=$ligne["statut"];
        $str.="<TD><input type=hidden name=id_personne value='$id_personne'></TD>";
        $str.="<TR><TD>".$id_personne."</TD>";
        $str.="<TD><input class='w3-input' type=text name='prenom' value=$prenom></TD><TD><input class='w3-input' type=text name='nom' value=$nom></TD><TD><input class='w3-input' type=date name='annee_naissance' value=$ddn></TD><TD><input type=email name='email' value=$email></TD><TD><input type=text name='statut' value=$statut></TD>";
        $str.="<TD><input class='w3-input' type=button onclick=confsuppr($id_personne,\"$nom\"); value=Suppr></TD>";
        $str.="<TD><input class='w3-input' type=submit NAME=maj value=maj /><input type=hidden name=id_personne value=$ligne[id_personne] />  </TD></TR>";

    }
    }    
$str.="</TABLE></div>"; echo $str;?>
<div class="w3-row"><div class="w3-twothird w3-container">
<div class="w3-panel w3-amber"><p><?php if (isset($msg)) {    echo $msg;}else{echo $req;}   ?><p></div>
</div></div>
</BODY></HTML>
  • 写回答

2条回答 默认 最新

  • dri98076 2019-01-20 07:47
    关注

    close your form tag

      $str.="<TR><FORM METHOD='POST' ACTION=''>";
            $prenom=$ligne["prenom"];
            $nom=$ligne["nom"];
            $id_personne=$ligne["id_personne"];
            $ddn=$ligne["annee_naissance"];
            $email=$ligne["email"];
            $statut=$ligne["statut"];
            $str.="<TD><input type=hidden name=id_personne value='$id_personne'></TD>";
            $str.="<TR><TD>".$id_personne."</TD>";
            $str.="<TD><input class='w3-input' type=text name='prenom' value=$prenom></TD><TD><input class='w3-input' type=text name='nom' value=$nom></TD><TD><input class='w3-input' type=date name='annee_naissance' value=$ddn></TD><TD><input type=email name='email' value=$email></TD><TD><input type=text name='statut' value=$statut></TD>";
            $str.="<TD><input class='w3-input' type=button onclick=confsuppr($id_personne,\"$nom\"); value=Suppr></TD>";
            $str.="<TD><input class='w3-input' type=submit NAME=maj value=maj /><input type=hidden name=id_personne value=$ligne[id_personne] /> 
    //close your form  
     </TD></Form></TR>";
    
    评论

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类