【问题标题】:How can I publish news using mysql queries如何使用 mysql 查询发布新闻
【发布时间】:2019-03-21 12:31:56
【问题描述】:

目前我正在尝试创建一个新闻系统,在该系统中我使用 ckeditor 编写文章,并在发布后,该字段将输入保存在 mysql 表中,在索引页面上显示已发布的新闻。我能够获取数据,以便它可以显示在索引页面上并且它可以工作。我就是这样做的:

<div class="panel-body">
        <?php
            $db = getDB();
            $stmt = $db->prepare("SELECT * FROM news ORDER BY created_at DESC;");
            $stmt->execute();

            while($data = $stmt->fetch(PDO::FETCH_ASSOC)) {

                $title = $data['title'];
                $content = $data['content'];
                $date = $data['created_at'];
                $admin = (int)$data['admin'];
                $id = (int)$data['id'];

                $admin_data = new User($admin);
                $admin_name = $admin_data->getUsername();


                print("<div class='timeline-panel'>");

                    print("<div class='timeline-heading'>");
                        print ("<h4 class='timeline-title'><b>$title</b></h4>");
                        print ("<p><small class='text-muted'><i class='fa fa-clock-o'></i> $date $admin_name</small></p>");
                    print("</div>");

                    print("<div class='timeline-body'>");
                        print("<p>$content</p>");
                    print("</div>");

                print("</div>");
                print("</li>");
                print("<hr style='height:1px;border-top:2px solid #aa0000'>");
            }
        ?>
</div>

现在为了能够发布新闻,我尝试使用 ckeditor 并起草了这个,但它根本不保存字段中的值。;

<script src="/ugrp/ckeditor/ckeditor.js"></script>
    <div id="wrapper">
    <div id="page-wrapper">
        <div class="row">
            <div class="col-lg-12">
            </div>
            <!-- /.col-lg-12 -->
        </div>

    <div class="col-md-12" style="padding: 20px 15px;">


            <?php

                if(isset($_POST['submit'])) {
                $db = getDB();
                $stmt = $db->prepare("INSERT INTO `news`(`id`, `admin`, `content`, `title`, `created_at`) VALUES (:title, :content, :created_at, :admin, :id)");

                $stmt->bindParam('title', $title, PDO::PARAM_STR);
                $stmt->bindParam('content', $content, PDO::PARAM_INT);
                $stmt->bindParam('created_at', $created_at, PDO::PARAM_INT);
                $stmt->bindParam('admin', $admin, PDO::PARAM_INT);
                $stmt->bindParam('id', $id, PDO::PARAM_INT);
                $stmt->execute();

                }

                ?>


    <form>

           <div class="form-group">
             <input name="title" type="text" id="title" class="form-control" placeholder="Title of the News"><br>
            </div>
                            <div class="form-group">
                            </div>
        <textarea name="content" id="content">

        </textarea>
        <script>
            CKEDITOR.replace( 'content' );
        </script>
        <center><button type="submit" name="submit" class="btn bg-red btn-block"><i class="fa fa-pencil"></i> Submit</button></center>
    </form>



                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

我想要的只是能够发布将保存在代码中的上述表格中的新闻。

我确信我在发布代码中犯了很多错误,因此我们将不胜感激。

这是它在索引页面上显示新闻时的样子。 注意:图片中的值是手动添加到表格中的。

【问题讨论】:

标签: php html mysql laravel


【解决方案1】:

在您的新闻表中将 id 字段更改为主键和自动增量。

试试这个:

<?php
    if(isset($_POST['submit'])) {
        $db = getDB();
        $title = (!isset($_POST["title"])) ? 'Empty' : $_POST["title"];
        $content = (!isset($_POST["content"])) ? 'Empty' : $_POST["content"];
        $created_at = date("Y-m-d H:i:s");
        $admin = 1;//Value of user id --- $admin_data = new User($admin); $admin = $admin_data->getUserID();
        $stmt = $db->prepare("INSERT INTO `news`(`admin`, `content`, `title`, `created_at`) VALUES (:admin,:content,:title,:created_at)");

        $stmt->bindParam(':title', $title, PDO::PARAM_STR);
        $stmt->bindParam(':content', $content, PDO::PARAM_INT);
        $stmt->bindParam(':created_at', $created_at, PDO::PARAM_INT);
        $stmt->bindParam(':admin', $admin, PDO::PARAM_INT);
        $stmt->execute();
    }
?>
<form method="POST">
       <div class="form-group">
         <input name="title" type="text" id="title" class="form-control" placeholder="Title of the News"><br>
        </div>          
        <textarea name="content" id="content">
    </textarea>
    <script>
        CKEDITOR.replace( 'content' );
    </script>
    <center><button type="submit" name="submit" class="btn bg-red btn-block"><i class="fa fa-pencil"></i> Submit</button></center>
</form>

【讨论】:

  • @amin-masterking 非常感谢你,它就像一个魅力!
猜你喜欢
  • 2017-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 2016-04-01
  • 2020-02-02
相关资源
最近更新 更多