2017-01-23 6 views
1

URLにID番号を表示するだけでなく、属性(たとえばユーザー名、ファーストネーム、姓:ID番号をURLに表示し、ID番号からデータベース結果をテキストフィールドに取り込みます

例:localhost/search/index3.php?u = 3と入力すると、ページ上のデータベース値がテキストフィールドに表示されます。

ここに私の.htaccess codefor

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^(.*)$ http://localhost/search/index3.php?u=$1 [NC] 

だここで私はここで誰もが私はそれを設定役立つことを願って私のコード

<?php 
 

 
$host = "localhost"; 
 
$user = "root"; 
 
$password =""; 
 
$database = "ntmadb"; 
 

 
$id = ""; 
 
$firstname = ""; 
 
$lastname = ""; 
 
$username = ""; 
 

 
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 
 

 
// connect to mysql database 
 
try{ 
 
    $connect = mysqli_connect($host, $user, $password, $database); 
 
} catch (mysqli_sql_exception $ex) { 
 
    echo 'Error'; 
 
} 
 

 
// get values from the form 
 
function getPosts() 
 
{ 
 
    $posts = array(); 
 
    $posts[0] = $_POST['id']; 
 
    $posts[1] = $_POST['firstname']; 
 
    $posts[2] = $_POST['lastname']; 
 
    $posts[3] = $_POST['username']; 
 
    return $posts; 
 
} 
 

 
// Search 
 

 
if(isset($_POST['search'])) 
 
{ 
 
    $data = getPosts(); 
 
    
 
    $search_Query = "SELECT * FROM members WHERE id = $data[0]"; 
 
    
 
    $search_Result = mysqli_query($connect, $search_Query); 
 
    
 
    if($search_Result) 
 
    { 
 
     if(mysqli_num_rows($search_Result)) 
 
     { 
 
      while($row = mysqli_fetch_array($search_Result)) 
 
      { 
 
       $id = $row['id']; 
 
       $firstname = $row['firstname']; 
 
       $lastname = $row['lastname']; 
 
       $username = $row['username']; 
 
      } 
 
     }else{ 
 
      echo 'No Data For This Id'; 
 
     } 
 
    }else{ 
 
     echo 'Result Error'; 
 
    } 
 
} 
 

 

 
// Insert 
 
if(isset($_POST['insert'])) 
 
{ 
 
    $data = getPosts(); 
 
    $insert_Query = "INSERT INTO `members`(`firstname`, `lastname`, `username`) VALUES ('$data[1]','$data[2]','$data[3]')"; 
 
    try{ 
 
     $insert_Result = mysqli_query($connect, $insert_Query); 
 
     
 
     if($insert_Result) 
 
     { 
 
      if(mysqli_affected_rows($connect) > 0) 
 
      { 
 
       echo 'Data Inserted'; 
 
      }else{ 
 
       echo 'Data Not Inserted'; 
 
      } 
 
     } 
 
    } catch (Exception $ex) { 
 
     echo 'Error Insert '.$ex->getMessage(); 
 
    } 
 
} 
 

 
// Delete 
 
if(isset($_POST['delete'])) 
 
{ 
 
    $data = getPosts(); 
 
    $delete_Query = "DELETE FROM `members` WHERE `id` = $data[0]"; 
 
    try{ 
 
     $delete_Result = mysqli_query($connect, $delete_Query); 
 
     
 
     if($delete_Result) 
 
     { 
 
      if(mysqli_affected_rows($connect) > 0) 
 
      { 
 
       echo 'Data Deleted'; 
 
      }else{ 
 
       echo 'Data Not Deleted'; 
 
      } 
 
     } 
 
    } catch (Exception $ex) { 
 
     echo 'Error Delete '.$ex->getMessage(); 
 
    } 
 
} 
 

 
// Edit 
 
if(isset($_POST['update'])) 
 
{ 
 
    $data = getPosts(); 
 
    $update_Query = "UPDATE `members` SET `firstname`='$data[1]',`lastname`='$data[2]',`username`='$data[3]' WHERE `id` = $data[0]"; 
 
    try{ 
 
     $update_Result = mysqli_query($connect, $update_Query); 
 
     
 
     if($update_Result) 
 
     { 
 
      if(mysqli_affected_rows($connect) > 0) 
 
      { 
 
       echo 'Data Updated'; 
 
      }else{ 
 
       echo 'Data Not Updated'; 
 
      } 
 
     } 
 
    } catch (Exception $ex) { 
 
     echo 'Error Update '.$ex->getMessage(); 
 
    } 
 
} 
 

 

 

 
?> 
 

 

 
<!DOCTYPE Html> 
 
<html> 
 
    <head> 
 
     <title>PHP INSERT UPDATE DELETE SEARCH</title> 
 
    </head> 
 
    <body> 
 
     <form action="indexx.php?id=" method="post"> 
 
      <input type="number" name="id" placeholder="Id" value="<?php echo $id;?>"><br><br> 
 
      <input type="text" name="firstname" placeholder="First Name" value="<?php echo $firstname;?>"><br><br> 
 
      <input type="text" name="lastname" placeholder="Last Name" value="<?php echo $lastname;?>"><br><br> 
 
      <input type="text" name="username" placeholder="username" value="<?php echo $username;?>"><br><br> 
 
      <div> 
 
       <!-- Input For Add Values To Database--> 
 
       <input type="submit" name="insert" value="Add"> 
 
       
 
       <!-- Input For Edit Values --> 
 
       <input type="submit" name="update" value="Update"> 
 
       
 
       <!-- Input For Clear Values --> 
 
       <input type="submit" name="delete" value="Delete"> 
 
       
 
       <!-- Input For Find Values With The given ID --> 
 
       <input type="submit" name="search" value="Find"> 
 
      </div> 
 
     </form> 
 
    </body> 
 
</html>

の残りの部分です。前もって感謝します!

答えて

0

あなたは(通常のフォームから) "投稿" のパラメータを取得するためである

if(isset($_POST['search'])) 

を参照しています。

あなたはidが渡された取得する$_GET['u']を見てする必要が手動で

関連ページ:$_POST$_GET


編集:ちょうどコードを読んで、いくつかあります他のビットは、ユーザーがフォームを投稿した例からのものです。 (すなわち、getPost()ビット)。渡されたIDに基づいてデータベースから詳細を取得しようとしている場合は、その必要はありません。


if (isset($_GET['u'])) { 
    if ($stmt = $mysqli->prepare("SELECT * FROM members WHERE id = ?")) { 

     /* bind parameters for markers */ 
     $stmt->bind_param("i", $_GET['u']); 

     /* execute query */ 
     $stmt->execute(); 

     if ($stmt->affected_rows) { 
      // Deleted 
     } else { 
      // Not found/deleted 
     } 
    } 
} 
+0

ありがとうございます!私はそれを調べます。 :) –

+0

私は 'if(isset($ _ POST ['search']))' to '$ _GET ['u']'を削除する必要がありますか? –

+0

コードの例を追加しました(バグを編集する必要があるかもしれません)。また、賢明なクエリを使用していますが、基本的には "URLにパラメータ" u "がある場合は、クエリを作成し、パラメータを追加して実行してください。 – Robbie

関連する問題