如何显示从一个div到另一个div的完整行

时间:2016-11-14 11:14:43

标签: javascript php jquery html

我有一个包含CV表的数据库,其中客户端写下他的所有信息(如姓名,姓名,专业经验等等),在html页面上我有3个div。

第1分区将显示整个简历表单我计划使用每行下方$row=name分隔的echo <br>将其分开并将其显示为真实简历或可能是工作申请表。

第二个分区只会包含已注册个人简历的名单 因为我对jQuery或js知之甚少,所以我在每个名称后面都使用了按钮,所以点击它时会将$userform变量与表格中具有相同名称的行进行比较,并在第1个div上显示整行按<br><p>排。

首先它将刷新第二个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包含行名的变量。

现在是第1个div:

<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变量,它应该找到与会话变量中的名称相等的名称并显示整行,但我不知道为什么它没有显示?

感谢任何帮助!

更新:

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

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

但是当点击ACCEPT按钮并选中复选框时,我想要它同样的东西,但这次将数据发送到其他2个表就好了。

这是我到目前为止所做的:

      <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  }
                                           }

                                         }
                                         ?>

1 个答案:

答案 0 :(得分:0)

在你的while循环中,你创建了多个具有相同按钮名称的表单,没有任何输入,只需打印出信息。

正确的方法是使用某种列表(例如选择下拉列表),并根据所选用户显示正确的信息: 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代码。