2017-01-15 3 views
0

Я пытаюсь отобразить новую таблицу на основе возвращаемого запроса SQL. Это исходный код таблицы, который отображается, когда пользователь загружает страницу.Отображение итоговой таблицы SQL

ТАБЛИЦА:

<form action="walkthroughs.php" method="POST"> 
     Platform: <input type="text" name="platform"/><br/> 
     <input type="submit" value="Search"/> 
</form> 
<body> 
    <section class="container"> 
     <div class="row"> 
      <table id="table1" class="table table-bordered"> 
       <thead> 
        <th>ID</th> 
        <th width="25%">FAQ Title</th> 
        <th width="25%">Game</th> 
        <th width="*">Platform</th> 
        <th width="15%">Date Created</th> 
        <th width="15%">Date Modified</th> 
       </thead> 
       <tbody> 
        <?php 
         mysql_connect("localhost", "root", "password") or die(mysql_error()); //Connect to server 
         mysql_select_db("walkthroughs") or die("Cannot connect to database"); //connect to database 
         $query = mysql_query("Select * from faqlist"); // SQL Query 
         while($row = mysql_fetch_array($query)) 
         { 
          Print "<tr>"; 
           Print '<td align="center">'. $row['FAQ_ID'] . "</td>"; 
           Print '<td align="center">'. $row['FAQ_Title'] . "</td>"; 
           Print '<td align="center">'. $row['Game'] . "</td>"; 
           Print '<td align="center">'. $row['Platforms'] . "</td>"; 
           Print '<td align="center">'. $row['Date_Created'] . "</td>"; 
           Print '<td align="center">'. $row['Date_Modified'] . "</td>"; 
          Print "</tr>"; 
         } 
        ?> 
       </tbody> 
      </table> 
     </div> 
    </section> 
</body> 

Это PHP код, который я пытаюсь выполнить. (Я поместил это на день моего </html> тега.)

PHP:

<?php 
    if($_SERVER["REQUEST_METHOD"] == "POST") // Added an if to keep the page secured 
    { 
     $platform = mysql_real_escape_string($_POST['platform']); 

     mysql_connect("localhost", "root", "password") or die(mysql_error()); // Connect to server 
     mysql_select_db("walkthroughs") or die("Cannot connect to database"); // Connect to database 
     $query = mysql_query("SELECT FAQ_ID, FAQ_Title, Game, Platforms FROM faqlist WHERE 
Platforms LIKE '$platform' OR Platforms LIKE '%$platform' OR Platforms LIKE '$platform%' OR Platforms LIKE '%$platform%'"); // SQL Query 
     while($row = mysql_fetch_array($query)) 
     { 
      Print "<tr>"; 
       Print '<td align="center">'. $row['FAQ_ID'] . "</td>"; 
       Print '<td align="center">'. $row['FAQ_Title'] . "</td>"; 
       Print '<td align="center">'. $row['Game'] . "</td>"; 
       Print '<td align="center">'. $row['Platforms'] . "</td>"; 
      Print "</tr>"; 
     } 
    } 
    else 
    { 
     header("location: walkthroughs.php"); 
    } 
?> 

Как обновить таблицу HTML с идентификатором "table1" без добавления другой таблицы и скрытия " таблица1 " таблица? В настоящее время я начинаю работать с PHP.

+3

Каждый раз, когда вы используете [ 'mysql_'] (http://stackoverflow.com/questions/12859942/why-shouldnt- i-use-mysql-functions-in-php) расширение базы данных в новом коде ** [котенок задушен где-то в мире] (http://2.bp.blogspot.com/-zCT6jizimfI/UjJ5UTb_BeI/AAAAAAAACgg /AS6XCd6aNdg/s1600/luna_getting_strangled.jpg)**, он устарел и был в течение многих лет и ушел навсегда в PHP7. Если вы просто изучаете PHP, потратьте свои силы на изучение расширений базы данных «PDO» или «mysqli» и подготовленных операторов. [Начать здесь] (http://php.net/manual/en/book.pdo.php) – RiggsFolly

+3

Ваш скрипт находится под угрозой [SQL Injection Attack] (http://stackoverflow.com/questions/60174/how -can-i-prevent-sql-injection-in-php) Посмотрите, что случилось с [Little Bobby Tables] (http://bobby-tables.com/) Даже [если вы избегаете ввода, его небезопасно!] (http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) Используйте [подготовленные параметризованные утверждения] (http://php.net /manual/en/mysqli.quickstart.prepared-statements.php) – RiggsFolly

+0

Переместите код после обработки первого запроса и перед '' – RiggsFolly

ответ

0

Это расширение было устарело в PHP 5.5.0, и оно было удалено в PHP 7.0.0. Вместо этого следует использовать расширение MySQLi или PDO_MySQL.

У меня есть другой пример в той же логике.

<?php 
$con=mysqli_connect("localhost","my_user","my_password","my_db"); 
// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname"; 
$result=mysqli_query($con,$sql); 

// Numeric array 
$row=mysqli_fetch_array($result,MYSQLI_NUM); 
printf ("%s (%s)\n",$row[0],$row[1]); 

// Associative array 
$row=mysqli_fetch_array($result,MYSQLI_ASSOC); 
printf ("%s (%s)\n",$row["Lastname"],$row["Age"]); 

// Free result set 
mysqli_free_result($result); 

mysqli_close($con); 
?> 

РЕЗУЛЬТАТ

Обязательный. Задает идентификатор результирующего набора, возвращаемого mysqli_query(), mysqli_store_result() или (mysqli_use_result)

ResultType

Необязательный. Определяет тип массива, который должен быть создан. Может быть одним из следующих значений:

MYSQLI_ASSOC, MYSQLI_NUM, MYSQLI_BOTH,

+0

Он печатает таблицы? –

+0

Вы можете печатать с очень простой операцией –