2016-11-14 81 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文件,它是什麼? –

相關問題