2016-06-19 2 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 또는 준비된 문장을 배우고 조언 당신이 실수로 만든 연결 개체 :

$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_query에서 첫 번째 인수를

<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 기능과주의 : (예 : <?php echo $preco;?>) : 나는 당신이 당신은 적절한 PHP 태그를 사용하지 않는 mysqli

+0

나는 이미 해냈다. 문제가 아니다. 이 부분을 참조하십시오 https://s31.postimg.org/m96zazuyj/Sem_t_tulo.jpg – OurozZ

관련 문제