2016-11-14 74 views
0

我有一个数据库,里面有一张CV表,其中客户写下他的所有信息,如姓名,职业经历等等,以及HTML网页我有3个div。如何从一个div显示一整行到另一个

第1事业部将显示整个简历的形式我打算使用echo $row=name使用各线以下<br>分离并显示它作为一个真正的CV或者一个职位申请表分开。

第2事业部将只包含注册CV's 的名称的列表,因为我不太了解的jQuery或JS我使用的按钮波纹管各的名字,这样可以在点击时,它的$userform变量比较该行在表格中具有相同的名称,并在第1个div上显示整行,将每行分隔<br><p>

首先,它会刷新2号DIV名单:

<div class="content2"> 
    <h3>LISTA DE CANDIDATOS:</h3> 
    <form class="btn" method="post"> 
    <input type="submit" name="btn_search" value="Actualizar"> 
    </form> 
    <br> 
<?php if (isset($_POST["btn_search"])) { 
    $con = mysqli_connect("localhost","root","","chevron"); 
    $q = "SELECT * FROM candidatos ORDER BY id DESC"; 
    $result = mysqli_query($con,$q); 
    while ($row = mysqli_fetch_assoc($result)){ 
     $userform = $row["nome"] ; 
     $_SESSION["userform"] = $userform; 
     echo " ".$row['sobrenome'].", ".$_SESSION['userform']." <br><br>"; ?> 
     <form class="btn" action="" method="post"> 
      <input type="submit" name="post_form" value="Vizualizar CV"> 
     </form> 
     <br> 
<?php } 
} 
?> 
</div> 

mysqli_fetch_assoc后,我声明一个变量$userform等于行名称(这在我的语言指的名字)和全局变量$_SESSION['userform']是等于那个包含行名的变量$userform

现在,第一格:

<div class="content"> 
    <br> 

    <div class="form_cand"> 
    <br> 
    <?php if (isset($_POST["post_form"])) { 


     $con = mysqli_connect("localhost","root","","chevron"); 
     $q = "SELECT * FROM candidatos WHERE nome = ".$_SESSION["userform"]." "; 

     $result = mysqli_query($con, $q); 
     if (!$result) { 
     echo "ERROR"; 
     } 
     $row = mysqli_fetch_array($result); 
     echo "NOME: ".$row["nome"]."<br>"; 
     echo "SOBRENOME: ".$row["sobrenome"]."<br>"; 
     echo "MORADA: ".$row["morada"]."<br>"; 
     echo "BI: ".$row["bi"]."<br>"; 
     echo "EMAIL: ".$row["email"]."<br>"; 
     echo "COMPETENCIAS: ".$row["competencias"]."<br>"; 
     echo "IDIOMAS: ".$row["idiomas"]."<br>"; 
     echo "OBJECTIVO: ".$row["objectivo"]."<br>"; 
    } 
    ?> 
    </div> 
</div> 

基础上$userform变量,它是在会话变量应该找到这等于一个会话变量的名称,并显示全排,但我不知道它为什么不显示?

任何帮助表示赞赏!

UPDATE:

我得到了第1部分的工作,谢谢你的帮助!现在我已经添加了2个按钮和一个复选框,以便当数据发布时按钮和复选框出现,其中一个按钮是DENY和另一个ACCEPT。

当我点击拒绝我希望它从该表中删除当前发布的信息,并将其发送到另一个表,例如。可以是“DeniedCV”和接受按钮,实际上做同样的事情,但发送到“ACCEPTEDCV”表。

但是,当点击ACCEPT按钮并勾选复选框时,我希望它是相同的东西,但这次将数据发送到另外两个表。

这里是从来就迄今所做的:

 <div class="content"> 


<br> 
<?php if (isset($_POST["post_form"])) { 
    $selectedUser = intval($_POST['users']); //pra selecionar o nome clicado na option list 

    if($selectedUser > 0){ 
     $con = mysqli_connect("localhost","root","","chevron"); 
     $q = "SELECT * FROM candidatos WHERE id = ".$selectedUser." "; 
      $result = mysqli_query($con, $q); 
        if (!$result) { 
        echo "ERROR"; 
         } 

       $row = mysqli_fetch_array($result); 

        if(is_array($row) && count($row) > 0){ 
        echo "<center><strong>CANDIDATO Nº.:</strong>".$row["id"]." <br><br><br></center>"; 
         echo "<strong>NOME:</strong><br>".$row["nome"]."<br><br><br>"; 
        echo "<strong>SOBRENOME:</strong><br> ".$row["sobrenome"]."<br><br><br>"; 
             echo "<strong>MORADA:</strong><br> ".$row["morada"]."<br><br><br>"; 
             echo "<strong>BI:</strong><br> ".$row["bi"]."<br><br><br>"; 
             echo "<strong>EMAIL:</strong><br> ".$row["email"]."<br><br><br>"; 
             echo "<strong>COMPETENCIAS:</strong><br> ".$row["competencias"]."<br><br><br>"; 
             echo "<strong>IDIOMAS: </strong><br>".$row["idiomas"]."<br><br><br>"; 
             echo "<strong>OBJECTIVO:</strong><br> ".$row["objectivo"]."<br>"; ?> 

             <center> 
             <form class="decisions" action="" method="post"> 

             <p> 
             Se achar esta candidatura excepcional e quiser mostra-la ao ADMINISTRADOR marque a caixinha pequena que esta apos o botão qualificado! 
             </p> 
             <input type="submit" name="btn_deny" value="NÃO QUALIFICADO"> 

             <!-- botao negar --> 
             <?php if (isset($_POST['btn_negar'])) { 

               $selectedUser = intval($_POST['users']); 

               if($selectedUser > 0){ 
                $con = mysqli_connect("localhost","root","","chevron"); 
                $q = "SELECT * FROM candidatos WHERE id = ".$selectedUser." "; 

                $result = mysqli_query($con, $q); 

                if (!$result) { 
                 echo "ERROR"; 
                } 

                $row = mysqli_fetch_array($result); 

                if(is_array($row) && count($row) > 0){ 
                 //I WANTED TO PUT ANOTHER $q = wich inserts Into another table 
                 //and then add another $q = wich deletes it from the current table 




             } ?> 
             <!-- botao negar --> 
             <input type="submit" name="btn_aceitar" value="QUALIFICADO"> 
             <!-- botao aceitar --> 
             <?php if (isset($_POST['btn_accept'])) { 

             } ?> 
             <!-- botao aceitar --> 
             <input type="checkbox" name="checkbox_recomend" value="Recomendar ao Administrador"> 
             </form> 
             </center> 
             <?php } 
              } 

             } 
             ?> 

回答

0

在你的while循环,你是c-使用相同的按钮名称重复多个表单,并且不输入任何内容,只是打印出信息。

做正确的方法是使用某种类型的列表(例如选择下拉菜单),并根据所选择的用户,显示正确的信息: 产生的HTML代码如下所示:

<form class="btn" action="" method="post"> 
    <select name="users"> 
     <?php while ($row = mysqli_fetch_assoc($result)){ ?> 

      <option value="<?php echo $row['id'] ?>"> 
       <?php echo ' '.htmlspecialchars($row['sobrenome']).', '.htmlspecialchars($row['nome']) ?> 
      </option> 

     <?php } ?> 
    </select>  

    <input type="submit" name="post_form" value="Vizualizar CV" /> 

然后提交后:

<?php 

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

    $selectedUser = intval($_POST['users']); // This is how we extract the chosen item from the drop-down 


    if($selectedUser > 0){ 
     $con = mysqli_connect("localhost","root","","chevron"); 
     $q = "SELECT * FROM candidatos WHERE id = ".$selectedUser." "; 

     $result = mysqli_query($con, $q); 

     if (!$result) { 
      echo "ERROR"; 
     } 

     $row = mysqli_fetch_array($result); 

     if(is_array($row) && count($row) > 0){ 
      echo "NOME: ".$row["nome"]."<br>"; 
      echo "SOBRENOME: ".$row["sobrenome"]."<br>"; 
      echo "MORADA: ".$row["morada"]."<br>"; 
      echo "BI: ".$row["bi"]."<br>"; 
      echo "EMAIL: ".$row["email"]."<br>"; 
      echo "COMPETENCIAS: ".$row["competencias"]."<br>"; 
      echo "IDIOMAS: ".$row["idiomas"]."<br>"; 
      echo "OBJECTIVO: ".$row["objectivo"]."<br>"; 
     } 
    } 
} 

?> 

你并不需要保存在$ _SESSION超全局的信息。通过表单传输数据时,最好的做法是使用ID而不是字符串。我们使用了id而不是在选项值中使用名称。

如果你想达到现场同样的事情,没有刷新,那么你应该使用AJAX

编辑:由于您请求的样本AJAX代码,请先看看这个answer

你将不得不根据你的需要做一些改变。首先添加下面的JavaScript代码:

<script> 
     $('input[name="post_form"]').on('click',function(){ 
      var chosenID = $('select[name="users"]').val(); 

      if(chosenID > 0){ 
       $.ajax({ 
        url: 'yourfile.php?ID = ' + chosenID, 
        type: 'GET', 
        dataType: 'html', 
        success: function (data) { 
         $('#userData').html(data); 
        } 
       }); 
      } 
     }); 
    </script> 

您还应该添加的div元素:

<div id="userData"></div> 

所有你现在要做的是让在yourfile.php文件中的ID,这是$下_GET超全球化,重复之前发布的PHP代码。

+0

非常感谢你的工作!但是当使用AJAX进行实时时,它会变得复杂吗?我的意思是代码? becuz我快速学习你可以告诉我基本知识,并且弄清楚它是如何完成的,plz向我展示了我的步骤 –

+0

我编辑了答案并添加了一个AJAX示例。 –

+0

谢谢,但我不明白yourfile.php部分,我应该添加什么PHP文件,它是什么? –

相关问题