php
  • mysql
  • html
  • echo
  • 2012-04-02 72 views 2 likes 
    2

    對不起,新手的問題我知道,但是我目前得到通過PHP等使用echo命令當MySQL結果只顯示..打印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結果... e.g。一個遵循以下約定: -

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

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

    Regards,

    Tom。

    事情是這樣的工作: -

          <?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 ' 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 />"; 
    

    回答

    5
    <input value="<?php echo $row["firstname"]; ?>"> 
    
    1
    <input type="text" name="firstname" value="<?php print($row['surname']); ?>"/> 
    

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

    使用什麼顯示的信息是良好的,直到你是不是讓用戶能夠改變這些值。您還可以使用表格/ 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 />" 
    } 
    
    +0

    我已經在上面更新代碼,我不知道怎麼樣在我使用的這個版本的網站上(通過電話)使用迷你降價格式。更新的代碼會工作嗎? – 2012-04-02 12:23:51

    +0

    @TomGillespie編輯帖子。 :) – hjpotter92 2012-04-02 12:24:51

    0
    $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>'; 
         } 
    

    試試這個

    +0

    工作完全謝謝你,我怎麼能添加一個新的行,如果我喜歡上面的代碼更新... :) – 2012-04-02 14:09:09

    +0

    你想添加什麼? – sujal 2012-04-02 17:38:41

    +0

    檢查我添加了一些文字 – sujal 2012-04-02 17:42:01

    1

    如果你只是需要在一個只讀的方式來顯示數據,你不'真的不想'顯示查詢',你想以可讀的方式打印查詢結果。我敢肯定,在某些情況下,您需要向用戶打印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 />'; 
    
    相關問題