2014-12-09 2 views
0

То, что я пытаюсь создать, - это страница администратора для редактирования таблицы в базе данных. Эта страница администратора позволяет мне редактировать элементы на отдельной веб-странице с именем index.php. Я настроил структуру для страницы администрирования, но я потерял информацию о том, где начать с внедрения обновления в таблицу. Мне действительно нужно какое-то направление, как это сделать. Страница администрирования, а также index.php в настоящее время работают правильно, пока отображаются данные из tblContent. В таблице содержится только одна строка. Имя таблицы - tblContent, а база данных - data1. Я очень новичок в этом, поэтому я извиняюсь за свое ужасное кодирование. Спасибо!Создание страницы администратора, которая обновляет поля таблицы

admin.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<link rel="stylesheet" href="style.css" type="text/css" media="screen" /> 

</head> 

<body> 

<div id="container"> <!-- Open container --> 
    <div id="header"> 
     <h1><a href="index.html"><?php 
            require_once 'classes.php'; 
            $rh = $database->getPageHeading(); 
            print($rh); 
            ?></a></h1> 
     <h2>      <?php 
            require_once 'classes.php'; 
            $rs = $database->getSubHeading(); 
            print($rs); 
            ?></h2> 
    </div> 

    <div id="content"> 

<form method="post" action="" onSubmit="return verifyPageHeading()"> 

<table width="300" cellpadding="2" cellspacing="2"> 

    <tr> 
     <td>Page Heading:</td> 
     <td><input type="text" id="txtPageHeading" name="txtPageHeading" value="<?php 
                  require_once 'classes.php'; 
                  $rh = $database->getPageHeading(); 
                  print($rh); 
                  ?>" class="inputClass"></td> 
    </tr> 

    <tr> 
     <td>Sub Heading:</td> 
     <td><input type="text" id="txtSubHeading" name="txtSubHeading" value="<?php 
                   require_once 'classes.php'; 
                   $rs = $database->getSubHeading(); 
                   print($rs); 
                   ?>" class="inputClass"></td> 
    </tr> 

    <tr> 
     <td>Page Title:</td> 
     <td><input type="text" id="txtPageTitle" name="txtPageTitle" value="<?php 
                   require_once 'classes.php'; 
                   $rt = $database->getPageTitle(); 
                   print($rt); 
                   ?>" class="inputClass"></td> 
    </tr> 

    <tr> 
     <td>MetaDescription:</td> 
     <td><textarea style="width:300px;"cols="55" rows="5" name="txtMetaDescription"><?php 
                         require_once 'classes.php'; 
                 $rd = $database->getMetaDescription(); 
                 print($rd); 
                 ?></textarea></td> 
    </tr> 

    <tr> 
     <td>MetaKeywords:</td> 
     <td><input type="text" name="txtMetaKeywords" value="<?php 
               require_once 'classes.php'; 
               $rk = $database->getMetaKeywords(); 
               print($rk); 
               ?>" class="inputClass"></td> 
    </tr> 

    <tr> 
     <td>Content:</td> 
     <td><textarea id="textarea1" name="txtContent" style="height: 170px; width: 300px;" rows="15" cols="10"> <?php         
                   require_once 'classes.php'; 
                   $rc = $database->getContent(); 
                   print($rc); 
                   ?></textarea> 
     <input type="submit" value="Save" style="background-color:;border:1px solid ;color:;width:200px;"></td> 
    </tr> 


     </table> 
      </form> 

</div> 

<div id="footer"> 

</div> 

</div> <!-- Close id="container" --> 
</body> 

</html> 

classes.php

<?php 

//Enter your database connection details here. 
$host = 'localhost'; //HOST NAME. 
$db_name = 'XXXXdata1'; //Database Name 
$db_username = 'XXXXuser1'; //Database Username 
$db_password = 'XXXXpass'; //Database Password 

class database { 
function __construct($pdo) { 
    $this->pdo = $pdo; 
} 

function getPageHeading() { 
    $query = $this->pdo->prepare('SELECT * FROM tblContent'); 
    $query->execute(); 
    return $query->fetchColumn(1); 
} 
function getSubHeading() { 
    $query = $this->pdo->prepare('SELECT * FROM tblContent'); 
    $query->execute(); 
    return $query->fetchColumn(2); 
} 
function getContent() { 
    $query = $this->pdo->prepare('SELECT * FROM tblContent'); 
    $query->execute(); 
    return $query->fetchColumn(3); 
} 
function getPageTitle() { 
    $query = $this->pdo->prepare('SELECT * FROM tblContent'); 
    $query->execute(); 
    return $query->fetchColumn(4); 
} 
function getMetaDescription() { 
    $query = $this->pdo->prepare('SELECT * FROM tblContent'); 
    $query->execute(); 
    return $query->fetchColumn(5); 
} 
function getMetaKeywords() { 
    $query = $this->pdo->prepare('SELECT * FROM tblContent'); 
    $query->execute(); 
    return $query->fetchColumn(6); 
} 



} 

try { 
$pdo = new PDO('mysql:host='. $host .';dbname='.$db_name, $db_username, $db_password); 
} catch (PDOException $e) { 
exit('Error Connecting To DataBase'); 
} 

$database = new Database($pdo); 

?> 
+0

Вы хотите изменить свои значения таблиц из Интернета, это ваше требование? –

+0

Да. Я хочу использовать страницу admin.php для редактирования значений таблиц. – user2813676

+0

Вы можете поделиться этой структурой таблицы? –

ответ

0

Я понял это, смотрите ниже. Я использовал $ _POST для получения текущих значений с страницы admin.php и UPDATE, чтобы заменить существующую информацию таблицы новой информацией, введенной на странице admin.php. Это обновит информацию, которая затем будет отражена на моей странице index.php. Я тестировал его, и он работает правильно, но я открыт, если есть лучший способ сделать это.

<?php 

//Enter your database connection details here. 
$host = 'localhost'; //HOST NAME. 
$db_name = 'XXXXdb_name'; //Database Name 
$db_username = 'XXXXuser'; //Database Username 
$db_password = 'XXXXpass'; //Database Password 


$PageHeading = $_POST['txtPageHeading']; 
$SubHeading = $_POST['txtSubHeading']; 
$PageTitle = $_POST['txtPageTitle']; 
$MetaDescription = $_POST['txtMetaDescription']; 
$MetaKeywords = $_POST['txtMetaKeywords']; 
$Content = $_POST['txtContent']; 

try { 
$conn = new PDO('mysql:host='. $host .';dbname='.$db_name, $db_username, $db_password); 
// set the PDO error mode to exception 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

$sql = "UPDATE tblContent SET PageHeading='$PageHeading', SubHeading='$SubHeading', 
PageTitle='$PageTitle', MetaDescription='$MetaDescription', MetaKeywords='$MetaKeywords', 
Content='$Content' WHERE PageID=1"; 

// Prepare statement 
$stmt = $conn->prepare($sql); 

// execute the query 
$stmt->execute(); 

// echo a message to say the UPDATE succeeded 
echo $stmt->rowCount() . " records UPDATED successfully"; 
} 
catch(PDOException $e) 
{ 
echo $sql . "<br>" . $e->getMessage(); 
} 

$conn = null; 

?> 
Смежные вопросы