-1

これらのコード フラグメントをチュートリアルで開始し、インターネットで見つけた他のチュートリアルと混ぜ合わせましたが、「編集」オプションと「削除」オプションを作成する際に問題が発生しました。誰でも私を助けることができますか?これが私のコードフラグメントです。


  1. admin(フォルダ: add.php、index.php、logout.php)
  2. アセット(フォルダ:style.css)
  3. includes(フォルダ: article.php, connection.php)
  4. 記事.php
  5. index.php

index.php


<?php
include_once('includes/connection.php');
include_once('includes/article.php');

$article = new Article;
$articles = $article->fetch_all();



?>
<html>
  <head>
  <title>CMS</title>
<link href='assets/style.css' rel='stylesheet' type='text/css'> 
  </head>
  <body>





        <div class="container">
            <a href="index.php" id="logo">CMS</a>
            <ol>
                <?php foreach ($articles as $article) { ?>
                    <li>


                    <a href="article.php?id=<?php echo $article['article_id']; ?>">
                         <img src="news_images/<?php echo $article['article_photo']; ?>.jpg" width="300" height="150" alt="Ver mas" class="article_photo" />
                        </a>

                        <br />




                        <a href="article.php?id=<?php echo $article['article_id']; ?>">
                        <h2><?php echo $article['article_title'];?>
                        </a>
                        -<small><small>
                            posted <?php echo date('l jS', $article['article_timestamp']); ?>
                        </small></small>
                         </h2> 

                         <?php //echo $article['article_content'];?>






                        <a href="article.php?id=<?php echo $article['article_id']; ?>">
                        <b>Read More</b> 
                        </a>
                        <hr>


                    </li>
                <?php }?>
            </ol>
            <br />
            <small><a href="admin" >admin</a></small>

        </div>
  </body>
</html>

記事.php

<?php
include_once('includes/connection.php');
include_once('includes/article.php');

$article = new Article;
if (isset($_GET['id'])) {
    $id = $_GET['id'];
    $data = $article->fetch_data($id);

    ?>



    <html>
      <head>
      <title>CMS</title>
    <link href='assets/style.css' rel='stylesheet' type='text/css'> 
      </head>
      <body>


<!-- FB like button  -->
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<!-- FB fINISH -->    




            <div class="container">
                <a href="index.php" id="logo">CMS</a>


                <img src="news_images/<?php echo $data['article_photo']; ?>.jpg" width="600" height="300" alt="Ver mas" class="article_photo" />

                <h2>
                    <?php echo $data['article_title']; ?>
                    <small><small><small> - posted <?php echo date('l jS', $data['article_timestamp']); ?></small></small></small>
                </h2>   
                    <div class="fb-like" data-href="http://www.wr-audio.com/article.php?id=<?php echo $data['article_id']; ?>" data-send="true" data-width="450" data-show-faces="false" data-font="arial"></div>



                    <p>
                    <?php echo $data['article_content']; ?>
                    </p>

                    <div class="fb-comments" data-href="http://www.wr-audio.com/article.php?id=<?php echo $data['article_id']; ?>" data-width="470" data-num-posts="10"></div>
                    <br />

                    <a href="index.php">&larr; Back</a>
            </div>
      </body>
    </html>



    <?php   
} else {
    header('Location: index.php');
    exit();
}

?>

include/connection.php


<?php

try {
    $pdo = new PDO('mysql:host=example.com;dbname=myDatabase', 'username', 'password');
} catch (PDOException $e) {
    exit('Database error.');
}


?>

include/article.php


<?php

class Article {
    public function fetch_all() {
    global $pdo;

    $query = $pdo->prepare("SELECT * FROM articles ORDER BY article_timestamp DESC");
    $query->execute();

    return $query->fetchAll();
    }

    public function fetch_data($article_id) {
        global $pdo;

        $query = $pdo->prepare("SELECT * FROM articles WHERE article_id = ?");
        $query->bindValue(1, $article_id);
        $query->execute();

        return $query->fetch();
    }
}

?>
4

1 に答える 1

1

正直に言うと、あなたが何を求めているのか理解するのは非常に難しいです. 私が質問を読んだ方法は、クリックするとデータベースを更新するスクリプトを呼び出すボタンを作成editしたいということですか?delete

2 つのオプションがあります。

  1. jQuery / PHPを使用したAJAX
  2. 非 AJAX PHP スクリプト

#2 がどのように機能するかの例を示します。以下のコードに基づいて #1 をググることができます。

ボタンをフォームに配置します (実行しましょうdelete):

HTML:

<form method="POST" action="">
<input type="hidden" name="article_id" value="<?php echo $article['article_id']; ?>" />
<input type="submit" value="Delete article" name="delete_article" />
</form>

PHP: - 準備済みステートメントを使用して表示

    if(isset($_POST['delete_article'])){
    if(isset($_POST['article_id'])){
    $sql = "DELETE FROM table_name 
    WHERE article_id=?";

    if($stmt = $mysqli->prepare($sql)){
    $stmt->bind_param("i", $_POST['article_id']);
    $stmt->execute();
    $stmt->close();
    }


}
}
于 2013-03-26T15:21:09.260 に答える