2016-07-12 12 views
0

私の足はまだPHPとmysqliで濡れていますが、これほど多くのことを学ぶ必要がありますが、この時点でこの質問は私の最も重要な優先事項の1つです。は自動的にphpとmysqliで新しいページを作成します

私はこの問題についていくつかの調査をしましたが、私のレベルでは正直言ってかなり洗練されたものに圧倒されています。私は "自動的に"さまざまなデータを持つページの膨大な数を生成する最も簡単な最も効率的な方法を見つけるしたいと思います。

以下のページ1のコードの例では、私は私のポイントを作るために、願って、実際のページが実際に多くのものを持っていますが、簡略化した例がありますので、簡略化され極めてです。私のテーブルで

<?php 

$servername = "servername"; 
$username = "username"; 
$password = "password"; 
$db= "db"; 

$conn = mysqli_connect("servername","username","password","db"); 


$query = "SELECT word FROM demo WHERE group=1"; 
$result = $conn->query($query); 
$row = mysqli_fetch_assoc($result); 
$word = $row['word']; 

echo $word; 

?> 

私は/が「グループ」の欄に500個のエントリ(記録?)のようなものを持っているでしょう持って、私は、私の特定の目的のために500 に1、2、3などのすべての方法を、番号グループと同じ数のオンラインページを作成する必要があります。この例では、500ページです。

ページ2のエコーはグループ2を参照する必要があり、ページ3のエコーはグループ3を参照するなどのようになります。

明らかに、コードを500回コピーして貼り付けたり、手動でグループを変更することなくこれを行う方法があります。ハハ。最も簡単な方法は何ですか?

ご理解とご協力をよろしくお願い致します。どうぞよろしくお願いいたします。

+0

'$ _GET'パラメータについて学んでください。 –

+1

'group'は実際のカラム名(http://dev.mysql.com/doc/refman/5.7/en/keywords.html)ですか? 500ページは必要ありません。コンテンツが動的に構築された1ページ。ユーザーがどのページにいるかを知るには、 'GET'パラメータを使用します。パラメータ化されたクエリを使用します。 – chris85

+0

ありがとうございます。 $ _GETパラメータとパラメータ化されたクエリを調べます。いいえ、 "group"は実際のフィールド名ではありません。もしそれが問題だったら? –

答えて

0

正しく理解していれば、データベースからページを動的に作成するのを待っていると思います。あなたのコードの更新に続いて要求http://yoursite.com/page.php?group=1. に行うためのクエリを取得する変数を使用することができます。

$query = "SELECT word FROM demo WHERE group=".$_GET['group']; 

すべてのユーザーは$ _GET [「グループ」]変数に生のmysqlを注入できたように、そのクエリは、安全ではありません。

これはずっと安全です。

+0

Redacted。パラメータ化されたクエリとは、新しいユーザが使用するようにアドバイスされるべきものです。 – chris85

+1

このクエリには構文エラーがあります。cuz 'group'は予約済みのmysqlワードです。 –

+0

パラメータバインドの警察がここに来る前に、はるかに安全な部分を削除する必要があります。 – nerdlyist

0

PHPは、デフォルトでアクセスする任意のディレクトリでindex.phpというファイルを探します。そのようなファイルは、public_htmlまたはwwwのルート、またはサイトがアクセスする場所に置くことができます。あなたは「localhostの/ index.phpを」のような何かを得ると、ここで何も表示されませんあなたのサイトに行くが、あなたがlocalhost/index.php?group='55'を入力する場合は、にアクセスする必要がありますとき、今

<?php 
    if($_GET['group']){ //Make sure you have the var 
     $query = "SELECT word FROM demo WHERE `group`=?"; //The query with param 
     if ($stmt = mysqli_prepare($conn, query){ // try it out 
      mysqli_stmt_bind_param($stmt, "i", $_GET['group']); // bind the data 
      $stmt->execute(); //run it 
      $result = $stmt->get_result(); // get results 

      //use result to echo and stuff 
     } 
    } else { 
     //Do something incase there is not a group specified. 
     echo "Nothing here"; 
    } 
?> 

:今、このファイルに次のような何かを行うことができます結果のページ55のデータ。

+0

詳細な例については非常に不名誉に感謝します。すべての正直なところで、私はまだそれがすぐに働くことができると思うためにいくつかの基本についてはまだ混乱しています。私は私が本当に理解していないあなたのすべてのコードで使用しているもののいくつかの理解を持つことができますので、私はもっと勉強/練習する必要があると思うが、私は本当に本当に入力とサンプルを感謝します。最終的に私はそれを適切に使い、コードのすべてが何であるかを把握する準備ができています。もう一度お返事ありがとう –

関連する問題