2012-02-10 2 views
1

이 양식을 끈적 거리게 만들려고 시도 중이지만 작동하지 않습니다. 내가하려는 것은 이전 양식에서 사용자가 일부 매개 변수를 입력하고 HTML 표가이 페이지에 생성되는 반면 위에 표시된 표의 데이터를 편집하기 위해 다른 양식이 표시된다는 것입니다. 그러나 값은 아래 양식으로 표시되지 않습니다. 은 PHP의 스틱 양식과 관련하여 문제가 발생합니다.

I 모바일에 입력 MY 포맷하기를 용서해주세요 도와주세요. 양해 해줘서 고마워.

<?php session_start(); ?> 
<?php require 'includes/dbconnect.php' ; ?> 
<?php require 'includes/header.inc.php'; ?> 

<?php  
$matric_no = mysql_real_escape_string($_POST['matric_no']); 

if ($_POST['matric_no'] == "") 
{ 
echo"<div id=\"contentRight\">"; 
echo"<idv id=\"msg\">" ; 

echo "You didn't enter a <span style=\"color:red\">Matric Number</span>"; 

echo"</div>"; 
echo"</div>"; 
exit(); 
} 

    $query = "SELECT matric_no 
        FROM students 
        WHERE matric_no = '$_POST[matric_no]'"; 


    $result = mysql_query($query); 

    $duplicates = mysql_num_rows($result); 

    if ($duplicates < 1) 
    { 

    echo"<div id=\"contentRight\">"; 

    echo"<idv id=\"msg\">" ; 

    echo "You dont have a record for <span style=\"color:red\">$matric_no</span>" ; 

    echo "</div>" ; 
    echo "</div>" ; 
    exit(); 
    } 


    $result = mysql_query("SELECT matric_no, first_name, last_name, other_name 
    FROM students 
      WHERE matric_no = '".mysql_real_escape_string($_POST['matric_no'])."'") or die(mysql_error()); 


    $number_cols = mysql_num_fields($result) ; 

    echo "<div id=\"contentRight\">" ; 

    echo "<span class=\"header\">"; 

    echo "<p><b>Matric Number: ".mysql_real_escape_string($_POST['matric_no'])  ."</b></p>"; 

    echo "<table border = 1 , cellspacing = 0  , cellpadding = 2 bgcolor=lemonchiffon >\n"; 

    echo "<tr align=center>\n"; 


    for ($i=0; $i<$number_cols; $i++)  
    { 

    echo "<th>" . mysql_field_name($result, $i). "</th>\n"; 

    } 

    echo "</tr>\n"; 

    while ($row = mysql_fetch_row($result)) 
    { 

    echo "<tr align=center>\n"; 

    for ($i=0; $i<$number_cols; $i++) 
    { 

     echo "<td>"; 

     if (!isset($row[$i])) 

     {echo "NULL";} 

     else 

     {echo $row[$i];} 

     echo "</td>\n"; 

     } 

     echo "</tr>\n"; 

     } 

     echo "</table>"; 
     echo"</span>" ; 

     echo"</div>"; 



     ?> 

     <br /> 
     <?php 
    while($row = mysql_fetch_array($result)){ 
    ?> 

    <div id="contentRight"> 

     <p> 

    Select the Score options you will like to update: 

    <form action="student_update2.php" method="post"> 

    <ul> 
     <li>Matric Number: &nbsp;<input    type="text" name="matric_no" value="<?php echo $row['matric_no'] ; ?>">   </li><br/><br/> 
    <li>First Name: <input type="text"    name="first_name" value="<?php    echo $row['firts_name'] ; ?>"> </li><br  /><br/> 
    <li>Last Name: <input type="text"    name="last_name" value="<?php    echo $row['last_name'] ; ?>"> </li><br  /><br /> 
    <li>Other Names: <input type="text"   name="other_name" value="<?php   echo $row['other_name'] ; ?>"</li> <br  /><br /> 


    <input type="submit" name="submit"   value="Update" /> 
    <input type="hidden" name       ="submitted" value="TRUE" /> 

<input name="Reset" type="reset"    value="Reset" /> 

    </ul> 
    </div> 

     </div> 
    </form> 

    <?php 
    }    
require 'includes/footer.php'; ?> 

formmatting cleaned a little

+1

모바일에 입력하는 데 어려움이 있었음에 틀림 없음 0_0 – CountMurphy

+1

도움이되지만 질문을 게시하십시오. * 열정 * (~ _ ~) –

답변

0

에 한번이 추가 :이 위

$result = mysql_query("SELECT matric_no, first_name, last_name, other_name 
        FROM students 
        WHERE matric_no = '".mysql_real_escape_string($_POST['matric_no'])."'") or die(mysql_error()); 

(약 라인 99) :

while ($row = mysql_fetch_array($result)){ 
?> 
<div id="contentRight"> 
<p>Select the Score options you will like to update:</p> 

난 당신이 '이미 한 번 선언하지만 이후 한 알 이미 while을 사용하여 이미 필요한 레코드 세트를 순환합니다. 재설정하십시오.

+0

while 문을 사용할 때마다 쿼리도 실행해야합니까? 나는 쿼리를 실행하고 비슷한 것을했을 경우 $ row = mysql_fetch_array ($ result); 및 $ row1 = mysql_affected_row ($ result); 쿼리를 실행 한 후 SELECT 문이 동일하므로.? –

+0

답변을 주셔서 감사합니다. 마술처럼 작동했습니다. –

+0

아무런 문제없이 도움이 될 수있어서 기쁩니다 :) mysql_fetch_array를 이미 한 번 실행 했으므로 중요하지 않습니다. 거기를 빠져 나간 후에 아무것도 남지 않았습니다. 쉬운 해결책은 내가 내 대답에 명시된 것처럼 쿼리를 다시 재사용하는 것이었지만 더 나은 솔루션은 for 루프로 나중에 반복 될 수있는 배열에 결과를로드하는 것입니다. – seanbreeden

관련 문제