无法从数据库中获取数据

时间:2014-04-30 06:06:12

标签: php database html5 mysqli content-management-system

我正在尝试建立一个系统,在这个系统中我有一个用户在表单中生成的网页内容,保存在数据库中,列出数据库中存在的所有页面,并通过单击该列表编辑所需的页。

唯一不起作用的是编辑部分。似乎我无法从数据库中获取数据,因为当我点击页面进行编辑时,"模板"表格中没有任何内容。

以下是代码:

包含数据库中现有页面列表的页面:

<?php
    require_once "../scripts/conector.php";

    if (!$_GET['pid']) {
    $pageid = '1';
    } else {
        $pageid = preg_replace('/[^0-9]/', "", $_GET['pid']); 
    }

    $sqlCommand = "SELECT id, producent FROM pages WHERE showing='1' ORDER BY id ASC"; 
    $query = mysqli_query($myConnection, $sqlCommand) or die('Error: ' . mysqli_error($myConnection)); 

    $producentnamn = '';
    while ($row = mysqli_fetch_array($query)) { 
        $pid = $row["id"];
        $producent = $row["producent"];
        $producentnamn .= '<a href="edit_page.php?pid=' . $pid . '">' . $producent . '</a>';
    } 
    mysqli_free_result($query);
?>

<form id="form1" name="form1" method="post" action="edit_page.php">
    <input type="submit" name="button2" id="button2" class="botao" value="Redigera" />
    <input name="pid" type="text" id="pid" value="<?php echo $producentnamn; ?>"/>
</form>

edit_page.php

<?php
    $pid = ereg_replace("[^0-9]", "", $_POST['pid']);  

    include_once "../scripts/conector.php";
    $sqlCommand = "SELECT pagetitle, linklabel, evenemang, presentation, producent, pagebody, mapa FROM pages WHERE id='$pid' LIMIT 1";  
    $query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 
    while ($row = mysqli_fetch_array($query)) { 
        $pagetitle = $row["pagetitle"];
        $linklabel = $row["linklabel"];
        $evenemang = $row["evenemang"];
        $presentation = $row["presentation"];
        $producent = $row["producent"];
        $pagebody = $row["pagebody"];
        $mapa = $row["mapa"];
    } 
    mysqli_free_result($query);
?>

<label>Map</label>
<textarea name="mapa" id="mapa"><?php echo $mapa; ?></textarea>

那么,我在这里做错了什么?非常感谢提前!

1 个答案:

答案 0 :(得分:1)

尝试更改此行

<input name="pid" type="text" id="pid" value="<?php echo $producentnamn; ?>"/>

<input name="pid" type="text" id="pid" value="<?php echo $pid; ?>"/>

因为您将<a href="edit_page.php?pid=' . $pid . '">传递给表单。我认为在db中不存在。您必须将页面的值/ ID传递给表单。