2012-02-10 10 views
1

このフォームをスティッキーにしようとしていますが、それはしていません。私がしようとしているのは、以前のフォームから、ユーザーがいくつかのパラメータを入力し、HTMLテーブルがこのページに生成され、別のフォームがその上に表示されたテーブルのデータを編集するために表示されるということです。しかし値は以下の形では表示されません。はPHPのスティックフォームで問題が発生する

私はモバイルで入力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

質問が投稿できます。 * passion * (〜_〜) –

答えて

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ステートメントを使うたびに、そのクエリを実行する必要がありますか?私はクエリを実行し、私は何かのような何かをしたと思っていた $行= mysql_fetch_array($結果); AND $ row1 = mysql_affected_row($ result); クエリを実行した後、私はSELECTステートメントが同じです。 –

+0

私は答えてくれてありがとうございました。それは魔法のように機能しました。 –

+0

問題はありません。喜んで助けてもらえました:) mysql_fetch_arrayを一度実行してしまったので問題はありません。そこを通過した後に何も残っていない。簡単な修正は、私は私の答えで述べたようにクエリを再利用することでしたが、より良い解決策は、後でforループを使って反復できる配列に結果をロードすることでした。 – seanbreeden