16841


ニュースサイトを作っているのですが、クリックした記事に飛びたいので、idを持たせる必要があるのですが、どのように書けば良いのか分からずにいます。

[code]

    <?php
        $sql = "SELECT * FROM newsapp";
        $stmt = $pdo->prepare($sql);
        $stmt->execute();
        $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
    ?>
    
    <?php 
        foreach ($results as $row) {
            echo '<a href="apps.php?page=1?id=' . $row["id"] .'">'.'<input type="button" value="Apps">'.'</a>';
            break;
        } 
    ?>  
    
[/code]

apps.phpに遷移した時に各記事にidを持たせて遷移させたいです。

[code]

    <?php
        foreach ($results as $row) {
            echo'<dt class="news-date">'.$row["create_date"].'</dt>';
            echo '<dd class="news-description"><a href="content.php?id=' . $row["id"] . '">' .mb_substr($row["title"],0,10)."...". '</a>';
            echo "<hr>";
            break;
        }
        $pdo = null;
    ?>
    
[/code]

以下にapps.phpの記載

[code]

    //apps.php
    <?php 
                define('NEWS_LIST', 5);
                $news_start = (intval($_GET['page']) - 1) * NEWS_LIST;
                $pdo = new PDO("mysql:host=localhost;dbname=cs_academy;charset=utf8", "root", "");
                $sql = "SELECT * FROM newsapp WHERE category_id = 1 ORDER BY create_date DESC";
                $stmt = $pdo->prepare($sql);
                $stmt->execute();
                $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
                foreach($results as $row) {
                    $news_id = $row['id'];
                    echo '<dt>';
                    echo $row['create_date'];
                    echo '</dt>';
                    echo '<dd class="news-title">';
                    echo $row['title'];
                    echo '</dd>';
                    echo '<a href="content.php?id">';
                    echo '<dd class="news-description">';
                    echo mb_substr($row['content'], 0, 150);
                    if (mb_strlen($row['content']) > 150) {echo ' ...';}
                    echo '</dd>';
                    echo '</a>';
                    echo'<hr>';
                }
    
[/code]

以上のメソッドでは、しっかりidを持って、content.phpに遷移しているのですが、  
apps.phpに遷移する際にもidを持ってページ遷移させるためには、どのような記述が必要でしょうか？


CC BY-SA 3.0
2015-09-21T01:19:16.540
16810
2015-09-23T06:45:58.267
2015-09-23T06:45:58.267
8415
8415
question
php mysql
PHPでidを持たせてページ遷移したい


@naga3 氏のコメントにもあるとおり、http get
メソッドで複数のパラメータを渡すときは`&`で区切ります。たとえば以下のコードでいかがでしょうか。

なお `foreach` 最後に常時 `break` を置く目的がよくわかりませんが、そのままにしてあります。

[code]

    <?php 
        foreach ($results as $row) {
            echo '<a href="apps.php?page=1&id=' . $row["id"] .'">'.'<input type="button" value="Apps">'.'</a>';
            break;
        } 
    ?>
    
[/code]

### 参考

[クエリ文字列とは｜URLパラメータ｜リクエストパラメータ - 意味/解説/説明/定義 ：
IT用語辞典](http://e-words.jp/w/%E3%82%AF%E3%82%A8%E3%83%AA%E6%96%87%E5%AD%97%E5%88%97.html)


CC BY-SA 3.0
2015-09-22T06:36:30.660
16841
2015-09-22T06:36:30.660
10492
16810
answer