2014-02-21 61 views
-1

我做了一個名爲顯示患者的頁面,該頁面有一個表格,當點擊view_all選項時,該表格將顯示數據庫中所有患者的信息。問題urlencoding編輯患者

我想製作一個額外的行,允許用戶點擊編輯,它將編輯該特定行的信息。

我目前還沒有想出如何使edit_patient.php接受所有的價值。

我嘗試使用

echo  "<td>". ?><a href="edit_patient.php?id=<?php echo 
urlencode($patients["id"]) .?>">Edit</a> "</td>" 

但它不工作並顯示error of unexpected ';'.

顯示病人

<?php require_once("includes/session.php"); ?> 
    <?php require_once("includes/db_connection.php"); ?> 
    <?php require_once("includes/functions.php"); ?> 
    <?php $layout_context = "admin"; ?> 

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Untitled Document</title> 

    <style> 
      table {border:3px solid black; border-collapse:collapse; margin: 0 auto;} 
      tr { background-color:white;} 
      th {font-size: 20px;} 
      td {font-size: 18px; margin-left: 10px; margin-right: 10px;} 
      input {border-radius: 4px; border-color: black; margin-top: 10px; margin-bottom:10px;} 
      h2 {margin-left:6%;} 

      </style> 

    </head> 


    <body> 

    <h2>View Patient Records</h2> 


    <body> 
    <form action="display_patient.php" method="post"> 
    <p>Select: 
    <select name="patient_var" > 
    <?php 
    $value = array(view_all, last_name, address); 
    foreach ($value as $option) 
    { 
     echo '<option value="'.$option.'"' . (isset($_POST['patient_var']) && $_POST['patient_var'] == $option ? ' selected' : '') . '>' . $option . '</option>'; 
    } 

    ?> 
    </select> 

    <input type="text" name="typed" value="" /> 

    <input type ="submit" value="submit" /> 
    </form> 
    </p> 

    <p> 

    <?php 
    if (isset($_POST['patient_var'])) { 

     $type = $_POST['typed']; 
     $select = $_POST['patient_var']; 
    if ($select == 'view_all') { 
     echo "<table border='1'>"; 
    echo "<tr>\n"; 
    echo "<th>ID</th>\n"; 
    echo "<th>First Name</th>\n"; 
    echo "<th>Last Name</th>\n"; 
    echo "<th>Age</th>\n"; 
    echo "<th>NRIC</th>\n"; 
    echo "<th>Birth Date</th>\n"; 
    echo "<th>Medical Allergies</th>\n"; 
    echo "<th>Medical History</th>\n"; 
    echo "<th>Phone</th>\n"; 
    echo "<th>Address</th>\n"; 
    echo "<th>Doctor Assigned</th>\n"; 
    echo "</tr>"; 

     $pat_set = default_patient(); 

     while ($mo = mysqli_fetch_array($pat_set)) { 
        echo "<tr>"; 
    echo "<td>" . $mo['id'] . "</td>"; 
    echo "<td>". $mo['first_name'] . "</td>"; 
    echo "<td>". $mo['last_name'] . "</td>"; 
     echo "<td>". $mo['age'] . "</td>"; 
     echo "<td>". $mo['nric'] . "</td>"; 
     echo "<td>". $mo['birthdate'] . "</td>"; 
     echo "<td>". $mo['medical_allergies'] . "</td>"; 
      echo "<td>". $mo['medical_history'] . "</td>"; 
      echo "<td>". $mo['phone'] . "</td>";  
    echo "<td>". $mo['address'] ."</td>"; 
      echo "<td>". $mo['doctor_assigned'] . "</td>"; 
echo '<td><a href="edit_patient.php?id='.urlencode($mo["id"]).'">Edit</a></td>'; 
    echo "</tr>"; 
       } 
    } 




    else { 
     echo "<table border='1'>\n"; 
    echo "<tr>\n"; 
    echo "<th>ID</th>\n"; 
    echo "<th>First Name</th>\n"; 
    echo "<th>Last Name</th>\n"; 
    echo "<th>Age</th>\n"; 
    echo "<th>NRIC</th>\n"; 
    echo "<th>Birth Date</th>\n"; 
    echo "<th>Medical Allergies</th>\n"; 
    echo "<th>Medical History</th>\n"; 
    echo "<th>Phone</th>\n"; 
    echo "<th>Address</th>\n"; 
    echo "<th>Doctor Assigned</th>\n"; 
    echo "</tr>"; 

     $patients_set = 
    find_patients($select, $type); 

    while ($row = mysqli_fetch_array($patients_set)) 
    { echo "<tr>"; 
    echo "<td>" . $row['id'] . "</td>"; 
    echo "<td>". $row['first_name'] . "</td>"; 
    echo "<td>". $row['last_name'] . "</td>"; 
     echo "<td>". $row['age'] . "</td>"; 
     echo "<td>". $row['nric'] . "</td>"; 
     echo "<td>". $row['birthdate'] . "</td>"; 
     echo "<td>". $row['medical_allergies'] . "</td>"; 
      echo "<td>". $row['medical_history'] . "</td>"; 
      echo "<td>". $row['phone'] . "</td>";  
    echo "<td>". $row['address'] ."</td>"; 
      echo "<td>". $row['doctor_assigned'] . "</td>"; 
    echo "</tr>"; } 

    } 

    }//end of if post submit 

    ?> 
    </p> 

    </div> 


    </body> 
    </html> 

功能

function default_patient(){ 
    global $connection; 

    $query = "SELECT * "; 
    $query .= "From patients "; 
    $query .= "ORDER BY id ASC"; 
    $pat_set = mysqli_query($connection, $query); 

    confirm_query($pat_set); 
    return $pat_set; 


    } 


function find_patients($select, $type) { 
    global $connection; 

    $safe_type = mysqli_real_escape_string($connection, $type); 
    $safe_select = mysqli_real_escape_string($connection, $select); 

    $query = "SELECT * "; 
    $query .= "FROM patients "; 
    $query .= "WHERE {$safe_select} LIKE '%".$safe_type."%' "; 
    $query .= "ORDER BY id ASC"; 
    $patients_set = mysqli_query($connection, $query); 

    confirm_query($patients_set); 
    return $patients_set; 
    } 

edit_pat ient

<?php require_once("includes/session.php"); ?> 
<?php require_once("includes/db_connection.php"); ?> 
<?php require_once("includes/functions.php"); ?> 
<?php require_once("includes/validation_function.php"); ?> 
<?php find_selected_page(); ?> 
<?php 
if (isset($_POST['submit'])) { 
// Process the form 

//validations 
$required_fields = array("first_name", "last_name", "postalcode", "nric", "address", "phone", "doctor"); 
validate_presences($required_fields); 

$fields_with_max_lengths = array("phone" => 8); 
validate_max_lengths($fields_with_max_lengths); 


if(verify_nric($_POST['nric'])) { 
$errors[] = 'This NRIC exists already.';  
} 


if(!isValid('phone', $_POST['phone'])) { 
$errors[] = 'Please enter a valid phone number';  
} 


if(!isValid('nric', $_POST['nric'])) { 
$errors[] = 'Please enter a valid nric number';  
} 

if (empty($errors)) { 
// perform Create 
$d=$_POST['day']; 
$m=$_POST['month']; 
$y=$_POST['year']; 

//converting Inputed DOB in "dd-mm-yyyy" format 
$dob=$d.'-'.$m.'-'.$y; 

//Create a new date object with current system date 
$bday=new DateTime($dob); 

//Differentiating both dates 
$age=$bday->date_diff(new DateTime); 

$today=date('d-m-Y'); 


$birthdate = mysql_prep($dob); 
$c_age = $age->y; 


$name = mysql_prep($_POST["name"]); 
$nric = mysql_prep($_POST["nric"]); 
$allergy = mysql_prep($_POST["medical_allergy"]); 
$history = mysql_prep($_POST["medical_history"]); 
$phone = (int)$_POST["phone"]; 
$address = mysql_prep($_POST["address"]); 
$doctor = mysql_prep($_POST["doctor"]); 

//escape content 


// 2. Perform database query 

$query = "INSERT INTO patients ("; 
$query .= " name, age, nric, birthdate, medical_allergies, medical_history, 
phone, address, doctor_assigned"; 
$query .= ") VALUES ("; 
$query .= " '{$name}', {$c_age}, '{$nric}', '{$birthdate}', 
'{$allergy}', '{$history}', {$phone}, '{$address}', '{$doctor}'"; 
$query .= ")"; 

$result = mysqli_query($connection, $query); 

if ($result) { 
// Success 
$_SESSION["message"] = "Record Updated."; 


}else { 
// Failure 
$_SESSION["message"] = "Record creation failed."; 
} 
} 
} else { 
// This is probably a GET request 

} // End: If(isset($_POST['submit'])) 

?> 
<head> 
    <title>Dashboard - H H Lee & Associates Dental Surgery</title> 
    <style> 
     table {border:3px solid black; border-collapse:collapse; margin: 0 auto;} 
     tr { background-color:white; } 
     td { padding-left: 10px; } 
     textarea{border-radius: 4px; border: 2px solid black; resize:none; margin-top: 10px; margin-bottom:10px;} 
     input {border-radius: 4px; border: 2px solid black; margin-top: 10px; margin-bottom:10px;} 
     h2 {margin-left:6%;} 
     input[type=text] 
     { 
      padding: 5px 10px; 
     } 
     input[type=submit] 
     { 
      padding: 5px 20px; 
      border-radius: 10px; 
      background-color: #fff; 
      color: #008080; 
      font-weight: bold; 
     } 
     input[type=submit]:hover 
     { 
      padding: 5px 20px; 
      border-radius: 10px; 
      background-color: #008080; 
      color: #fff; 
      font-weight: bold; 
     } 
     #admin_back 
     { 
      margin-top: -15px; 
      margin-bottom: 15px; 
     } 
    </style> 

</head> 
<?php $layout_context = "admin"; ?> 



         <?php echo message(); ?> 
         <?php echo form_errors($errors); ?> 

         <h2>EDIT A PATIENT RECORD</h2> 

         <form action="create_patient.php" style="text-align: left; 
           margin-left:6%;"method="post"> 

          <table border='1' width='70%'> 
          <tr> 
           <td>ID of patient</td> 
           <td><input type="text" name="patient_id" value="" /></td> 
          </tr> 
           <tr> 
            <td>First Name:</td> 
            <td><input type="text" name="first_name" value="" /></td> 
           </tr> 

           <tr> 
            <td>Last Name:</td> 
            <td><input type="text" name="last_name" value="" /></td> 
           </tr> 

           <tr> 
            <td> NRIC/ Foreign ID/ Passport:</td> 
            <td><input type="text" name="nric" value="" /></td> 
           </tr> 

           <tr> 
            <td>Date Of Birth:<br /></td> 
            <td>Day<br/> 
             <select name="day"> <!-- To Select Day --> 
              <option value="01" selected="selected">01</option> 
              <option value="02">02</option> 
              <option value="03">03</option> 
              <option value="04">04</option> 
              <option value="05">05</option> 
              <option value="06">06</option> 
              <option value="07">07</option> 
              <option value="08">08</option> 
              <option value="09">09</option> 
              <option value="10">10</option> 
              <option value="11">11</option> 
              <option value="12">12</option> 
              <option value="13">13</option> 
              <option value="14">14</option> 
              <option value="15">15</option> 
              <option value="16">16</option> 
              <option value="17">17</option> 
              <option value="18">18</option> 
              <option value="19">19</option> 
              <option value="20">20</option> 
              <option value="21">21</option> 
              <option value="22">22</option> 
              <option value="23">23</option> 
              <option value="24">24</option> 
              <option value="25">25</option> 
              <option value="26">26</option> 
              <option value="27">27</option> 
              <option value="28">28</option> 
              <option value="29">29</option> 
              <option value="30">30</option> 
              <option value="31">31</option> 
              <option value="32">32</option> 
             </select> 

             Month 
             <select name="month"><!--TO Select Month--> 
              <option value="01" selected="selected">Jan</option> 
              <option value="02">Feb</option> 
              <option value="03">Mar</option> 
              <option value="04">Apr</option> 
              <option value="05">May</option> 
              <option value="06">Jun</option> 
              <option value="07">Jul</option> 
              <option value="08">Aug</option> 
              <option value="09">Sep</option> 
              <option value="10">Oct</option> 
              <option value="11">Nov</option> 
              <option value="12">Dec</option> 
             </select> 

             Year 
             <select name="year"><!--To Select Year--> 
              <option value="2013" selected="selected">2013</option> 
              <option value="2012">2012</option> 
              <option value="2011">2011</option> 
              <option value="2010">2010</option> 
              <option value="2009">2009</option> 
              <option value="2008">2008</option> 
              <option value="2007">2007</option> 
              <option value="2006">2006</option> 
              <option value="2005">2005</option> 
              <option value="2004">2004</option> 
              <option value="2003">2003</option> 
              <option value="2002">2002</option> 
              <option value="2001">2001</option> 
              <option value="2000">2000</option> 
              <option value="1999">1999</option> 
              <option value="1998">1998</option> 
              <option value="1997">1997</option> 
              <option value="1996">1996</option> 
              <option value="1995">1995</option> 
              <option value="1994">1994</option> 
              <option value="1993">1993</option> 
              <option value="1992">1992</option> 
              <option value="1991">1991</option> 
              <option value="1990">1990</option> 
              <option value="1989">1989</option> 
              <option value="1988">1988</option> 
              <option value="1987">1987</option> 
              <option value="1986">1986</option> 
              <option value="1985">1985</option> 
              <option value="1984">1984</option> 
              <option value="1983">1983</option> 
              <option value="1982">1982</option> 
              <option value="1981">1981</option> 
              <option value="1980">1980</option> 
              <option value="1979">1979</option> 
              <option value="1978">1978</option> 
              <option value="1977">1977</option> 
              <option value="1976">1976</option> 
              <option value="1975">1975</option> 
              <option value="1974">1974</option> 
              <option value="1973">1973</option> 
              <option value="1972">1972</option> 
              <option value="1971">1971</option> 
              <option value="1970">1970</option> 
              <option value="1969">1969</option> 
              <option value="1968">1968</option> 
              <option value="1967">1967</option> 
              <option value="1966">1966</option> 
              <option value="1965">1965</option> 
              <option value="1964">1964</option> 
              <option value="1963">1963</option> 
              <option value="1962">1962</option> 
              <option value="1961">1961</option> 
              <option value="1960">1960</option> 
              <option value="1959">1959</option> 
              <option value="1958">1958</option> 
              <option value="1957">1957</option> 
              <option value="1956">1956</option> 
              <option value="1955">1955</option> 
              <option value="1954">1954</option> 
              <option value="1953">1953</option> 
              <option value="1952">1952</option> 
              <option value="1951">1951</option> 
              <option value="1950">1950</option> 
              <option value="1949">1949</option> 
              <option value="1948">1948</option> 
              <option value="1947">1947</option> 
              <option value="1946">1946</option> 
              <option value="1945">1945</option> 
              <option value="1944">1944</option> 
              <option value="1943">1943</option> 
              <option value="1942">1942</option> 
              <option value="1941">1941</option> 
              <option value="1940">1940</option> 
              <option value="1939">1939</option> 
              <option value="1938">1938</option> 
              <option value="1937">1937</option> 
             </select> 
            </td></tr> 

           <tr> 
            <td>Contact Number:</td> 
            <td><input type="text" name="phone" value="" /></td> 
           </tr> 

           <tr> 
            <td>Address:</td> 
            <td><textarea name="address" rows="3" cols="60" align="right"></textarea></td> 
           </tr> 

           <tr> 
            <td>Postal Code:</td> 
            <td><input type="text" name="postalcode" value="" /></td> 
           </tr> 

           <tr> 
            <td>Dentist Assigned:</td> 
            <td><input type="text" name="doctor" value="" /></td> 
           </tr> 

           <tr><td>Medical Allergies:</td> 
            <td><textarea name="medical_allergy" rows="10" cols="60"></textarea></p></td> 
           </tr> 

           <tr> 
            <td>Medical History:</td> 
            <td><textarea name="medical_history" rows="10" cols="60"></textarea></td> 
           </tr> 

           <tr> 
            <td colspan="2" style="text-align: center;"> 
             <input type="submit" name="submit" value="Submit"/> 
             <a href="manage_content.php">Cancel</a> 
            </td> 
           </tr> 
          </table> 
         </form> 
        </div> 

回答

0

我覺得你的回聲線有點破,而且沒有;。試試這個。

<?php 
echo '<td><a href="edit_patient.php?id='.urlencode($patients["id"]).'">Edit</a></td>'; 
?> 
+0

謝謝,我修好了。你知道我可以如何解析選定行的變量到該編輯鏈接的下一頁嗎? – user3333324

+0

我設法解析變量到下一頁。感謝您的幫助=) – user3333324

+0

這應該工作:),這只是一個單引號沒有被轉義的問題。 <?php echo'​​Edit'; ?> – weiver