簡體   English   中英

在表單中打印mySQL查詢

[英]Print a mySQL query in a form

對不起,新手問題我知道,但是我目前只有在通過PHP等使用echo命令時才顯示mySQL結果。

現在,我能夠很好地獲取信息,但是我希望查詢的結果以例如形式出現

而不是 :-

    $loggedinuser = $session->username;

    //$query = "SELECT surname, firstname FROM PASSENGER WHERE username = '$jared'";
    $query2 = "SELECT p.surname, f.destination FROM PASSENGER p, FLIGHT_INFO f WHERE p.username = '$loggedinuser' AND p.flightNo = f.flightNo";
    $result = mysql_query($query2);  
    while($row = mysql_fetch_array($result))
{
echo $row['surname'] ." ". $row['destination'];
}

    echo mysql_error();

我想在HTML表單中打印SQL結果...例如遵循以下慣例:

    Surname: <input type="text" name="firstname" value="echo $row['surname']/>

如果你看到我來自哪里。 使用表單顯示mySQL結果這是非常糟糕的做法,還是可以完成? 如果不是真的,您會以什么方式推薦我打印數據? 在某種表中,但我怎么能使用字段?

問候,

湯姆。

像這樣的工作: -

                            <?php

                    $loggedinuser = $session->username;

            //$query = "SELECT surname, firstname FROM PASSENGER WHERE username = '$jared'";
            $query2 = "SELECT p.surname, f.destination FROM PASSENGER p, FLIGHT_INFO f WHERE p.username = '$loggedinuser' AND p.flightNo = f.flightNo";
        $result = mysql_query($query2);  
    while($row = mysql_fetch_array($result))
    {

  "<form>"
  <input type="text" name="firstname" value="<?php echo {$row['surname']} ?>" disabled       />
     "</form>"
           }
               echo mysql_error();
       ?>

如何在以下代碼中的echo之間添加新行?

                echo ' Surname: <input type="text" name="surname" value="'.$row['surname'].  "\" disabled /> ";
        echo 'Forename: <input type="text" name="surname" value="'.$row['forename']. "\" disabled />";
        echo 'Email Address: <input type="text" name="surname" value="'.$row['emailAddress']. "\" disabled />"; 
        echo 'Preference ID: <input type="text" name="surname" value="'.$row['dob']. "\" disabled />"; 
        echo 'Seat Number: <input type="text" name="surname" value="'.$row['seatNo']. "\" disabled />"; 
        echo 'Group ID: <input type="text" name="surname" value="'.$row['groupID']. "\" disabled />"; 
<input value="<?php echo $row["firstname"]; ?>">
<input type="text" name="firstname" value="<?php print($row['surname']); ?>"/>

要么

<input type="text" name="firstname" value="<?=$row['surname']?>"/>

使用任何東西來顯示信息是好的,直到您不允許用戶能夠更改這些值。 您還可以使用表格/ div或您能想到的任何其他內容進行顯示。 表格也是一種非常好的方法(imo)。 此外,您可以使用disabled屬性,以免任何人更改您在表單輸入框中放置的值。

<input type="text" name="firstname" value="<?php echo {$row['surname']} ?>" disabled />

編輯在這里放置while循環:

while($row = mysql_fetch_array($result)) {
  echo "Surname: <input type=\"text\" name=\"firstname\" value=\"" . {$row['surname']} . "\" disabled />"
}

如果您只需要以只讀方式顯示數據,則實際上並不想“顯示查詢”,您希望以可讀的方式打印所述查詢的結果。 我確信在某些情況下您需要向用戶打印SQL,但這些情況可能相當渺茫。 正如其他人所說,允許用戶提交任何類型的SQL並使用它也是極其糟糕的做法 - 口頭禪是任何用戶輸入都應該被視為惡意用戶輸入 - 你必須在發送之前驗證並清理所有內容到你的數據庫。

這就是說,看起來您只想顯示一個包含查詢結果的表單,您非常接近。 您可能遇到的唯一問題是,如果您的查詢返回2行或更多行,為了讓PHP自動將提交的值綁定到數組,您必須按順序命名它們,以便它們顯示為: firstname[0]firstname[1]等等。 只需啟動一個可以每次遞增的int:

 $loggedinuser = $session->username;

 $query2 = "SELECT p.surname, f.destination FROM PASSENGER p, FLIGHT_INFO f WHERE p.username = '$loggedinuser' AND p.flightNo = f.flightNo";
 $result = mysql_query($query2);  
 $i = 0;

 while($row = mysql_fetch_array($result)) {
    $surname = $row['surname'];
    $destination = $row['destination'];
    echo '<input type="text" name="firstname[$i]" value="$surname" />';
    echo '<input type="text" name="destination[$i]" value="$destination" />';
    $i++;
 }

假設您的查詢中顯示了兩行,這是結果(添加了格式):

<input type="text" name="firstname[0]" value="Bill" />
<input type="text" name="destination[0]" value="Rococo" />

<input type="text" name="firstname[1]" value="Mandy" />
<input type="text" name="destination[1]" value="Philadelphia" />

編輯:要為輸出的HTML添加換行符,只需為每個換行添加一個<br />標記:

    echo '<input type="text" name="firstname[$i]" value="$surname" /><br />';
    $query2 = "SELECT p.surname, f.destination FROM PASSENGER p, FLIGHT_INFO f WHERE p.username = '$loggedinuser' AND p.flightNo = f.flightNo";
    $result = mysql_query($query2);  
    while($row = mysql_fetch_array($result))
       {
           echo '<form>';
           echo ' Surname: <input type="text" name="surname" value="'.$row['surname'].'/><br/>';
           echo ' Below is my Destination<br/>';
           echo ' Destination: <input type="text" name="surname" value="'.$row['destination '].'/>';
           echo '</form>';
       }

嘗試這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM