2016-06-19 11 views
1

私はまだ学んでいます、誰も助けてくれますか、私のコードで何が間違っていますか? ロードボタンをクリックするとロードする必要があるプログラムは、ドロップダウンで選択したデータベースIDを検索し、名前などを持ちテキストボックスに表示します。 申し訳ありませんが、私の英語です。MySQLデータベースからHTMLテキストボックスにデータをロード

<?php 

     $servername = "localhost"; 
     $username = "estgv15592"; 
     $password = "estgv155922016"; 
     $dbname = "estgv15592"; 
     $conn = new mysqli($servername, $username, $password, $dbname); 

     if ($conn->connect_error) { 
      die("Connection failed: " . $conn->connect_error); 
     } 


      if(isset($_POST["loadbtn"])) 
     { 

      $id = (integer) $_POST["id"]; 

      $query = "SELECT NOME, MORADA, PRECO FROM FICHA_DE_OBRA WHERE ID_FICHAOBRA = '$id' "; 
      $result = mysqli_query($conn, $query); 
      $details = mysql_fetch_array($result); 

      $nome = $details["NOME"]; 
      $morada = $details["MORADA"]; 
      $preco = $details["PRECO"]; 
     } 

     $sql = "SELECT * FROM FICHA_DE_OBRA"; 

     $result = mysqli_query($conn, $sql); 

     echo '<form id="form" method="post">'; 
      echo "<select name ='id'>"; 
      echo "<option value=''>Selecione Número ficha Obra</option>"; 

      while($row = mysqli_fetch_array($result)) 

       { 
       echo "<option value='" . $row['ID_FICHAOBRA'] . "'>" . $row['ID_FICHAOBRA'] . "</option>"; 
       } 
       echo "</select>"; 

      $conn->close(); 
      ?> 


      <input type="submit" value="Load" name="loadbtn"> 
      <table width="300" border="0"> 
      <tr> 
      <td>Name</td> 
      <td><input type="text" name="upName" style="text-align:right" value="<?php echo $nome;?>"/></td> 
     </tr> 
     <tr> 
      <td>Cost</td> 
      <td><input type="text" name="upCost" style="text-align:right" value="<?php echo $morada;?>" /></td> 
     </tr> 
     <tr> 
      <td>Active</td> 
      <td><input type="text" name="upActive" style="text-align:right" value="<?php echo $preco;?>" /></td> 
     </tr> 
    </table> 
</div> 
<br/> 

</form> 
+2

ようこそStackOverflow。あなたの質問を明確にしてください:最後のフレーズは非常に長く、理解するのが難しいです。 – YakovL

+0

問題の内容がわかりません。 –

答えて

0

とPDOまたはプリペアドステートメントを学ぶことをアドバイスあなたは適切なPHPタグを使用していない(例えば<?php echo $preco;?>):

<tr> 
    <td>Name</td> 
    <td><input type="text" name="upName" style="text-align:right" value="<?php echo $nome; ?>"/></td> 
</tr> 
<tr> 
    <td>Cost</td> 
    <td><input type="text" name="upCost" style="text-align:right" value="<?php echo $morada; ?>" /></td> 
</tr> 
<tr> 
    <td>Active</td> 
    <td><input type="text" name="upActive" style="text-align:right" value="<?php echo $preco; ?>" /></td> 
</tr> 

使用mysqli_querymysqli_fetch_array機能とmysqli_queryの最初の引数がなければならないことに注意してください

$result = mysqli_query($conn, $query); // first PHP block 
$result = mysqli_query($conn, $sql);  // second PHP block 

$details = mysqli_fetch_array($result); // first PHP block 
$row = mysqli_fetch_array($result)  // second PHP block 

そして、あなたの最初のPHPブロックの先頭に行の下に移動し、または$connがあなたの最初のPHPで未定義されます:あなたはミスを犯した接続オブジェクトブロック:

$servername = "localhost"; 
$username = "estgv15592"; 
$password = "your_password"; 
$dbname = "estgv15592"; 
$conn = new mysqli($servername, $username, $password, $dbname); 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
+0

ありがとうございますが、私は変更を加えて動作しません。 – OurozZ

+0

今、それは動作します、ありがとう=) – OurozZ

0

問題が関連してmysqliのを使用していますが、コールクエリを使用すると、mysqlのを使用する際に、データベースへの接続から来ています。

これは、コード

<?php 
    $servername = "localhost"; 
    $username = "estgv15592"; 
    $password = "********"; 
    $dbname = "estgv15592"; 
    $conn = mysql_connect($servername, $username, $password, $dbname); 
    if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
    } 

    if(isset($_POST["loadbtn"])) 
    { 
     $id = intval($_POST["id"]); 

     $query = "SELECT NOME, MORADA, PRECO FROM FICHA_DE_OBRA WHERE ID_FICHAOBRA = '$id' "; 
     $result = mysql_query($query, $conn); 
     $details = mysql_fetch_array($result); 

     $nome = $details["NOME"]; 
     $morada = $details["MORADA"]; 
     $preco = $details["PRECO"]; 
    } 
?> 


<?php 
    $sql = "SELECT * FROM FICHA_DE_OBRA"; 
    $result = $conn->query($sql); 


    echo '<form id="form" method="post">'; 
    echo "<select name ='id'>"; 
    echo "<option value=''>Selecione Número ficha Obra</option>"; 

    while($row = mysqli_fetch_array($result)) 
    { 
     echo "<option value='" . $row['ID_FICHAOBRA'] . "'>" . $row['ID_FICHAOBRA'] . "</option>"; 
    } 
    echo "</select>"; 


    $conn->close(); 
?> 

<input type="submit" value="Load" name="loadbtn"> 
    <table width="300" border="0"> 
     <tr> 
     <td>Name</td> 
     <td><input type="text" name="upName" style="text-align:right" value="<? echo $nome; ?>" /></td> 
     </tr> 
     <tr> 
     <td>Cost</td> 
     <td><input type="text" name="upCost" style="text-align:right" value="<? echo $morada; ?>" /></td> 
     </tr> 
     <tr> 
     <td>Active</td> 
     <td><input type="text" name="upActive" style="text-align:right" value="<? echo $preco; ?>" /></td> 
     </tr> 
    </table> 
    </div> 
    <br/> 
    </form> 

    </body> 
    </html> 

</div> 

あなたはデータが安全でない取得するために使用この方法です。私はmysqliの

+0

私はすでにそれをしていましたが、それは問題ではありません。これを見てくださいhttps://s31.postimg.org/m96zazuyj/Sem_t_tulo.jpg – OurozZ

関連する問題