私はGet &ポストに変更を加えましたが、何も分かりません。これは難しいフォームなのですが、このセクションのすぐ下のフォームは間違っていますか?私は言うことはできませんが、私は '名前'を使用して '送信'ではないことを確かに1つのことを知ることができません& GETの& POSTは私が定義されていないインデックスを言うエラーを取得します。あなたが言ったが何もしなかった!どうすれば他のページにデータを表示できますか?
/////////////フォーム/////////////////////
<form method="post" action="search_govern.php?go" id="searchform">
<input type="text" name="name">
<input type="submit" name="submit" value="Yell">
</form>
/私が思うに、問題はここにあるフォーム/////////////////////
<?php
//if(isset($_POST['submit'])){
//if(isset($_GET['go'])){
//if(preg_match("/[A-Z | a-z]+/", $_POST['name'])){
//$name=$_POST['name'];
////////////////////////////////////////
の//////////終わり、しかし私は何が間違っているのかわからない私のエラーを指摘したり、私にこの例を見せてください! ?
if(isset($_POST['submit'])){
if(isset($_GET['go'])){
$raw_name = $_GET['name'] ;
if(preg_match("/[A-Z | a-z]+/", $raw_name)){
$name=$raw_name;
////////////////////////////////////////
include "connect/connect.php";
//-query the database table
$sql="SELECT userId, Attribute, Name FROM government WHERE Name LIKE '%$name%' OR Attribute LIKE '%$name%' ORDER BY userid ASC";
///////////////////////// PAGINATION CLASS////////////////////////////////////
class Pagination {
public $current_page;
public $per_page;
public $total_count;
public function __construct($page=1, $per_page=20, $total_count=0){
$this->current_page = (int)$page;
$this->per_page = (int)$per_page;
$this->total_count = (int)$total_count;
}
public function offset() {
return ($this->current_page - 1) * $this->per_page;
}
public function total_pages() {
return ceil($this->total_count/$this->per_page);
}
public function previous_page() {
return $this->current_page - 1;
}
public function next_page() {
return $this->current_page + 1;
}
public function has_previous_page() {
return $this->previous_page() >= 1 ? true : false;
}
public function has_next_page() {
return $this->next_page() <= $this->total_pages() ? true : false;
}
}
///////////////////////////END OF PAGINATION CLASS///////////////////////////////
$curent_page = isset($_GET['page'])&&(int)$_GET['page'] !=0 ? (int)$_GET['page'] : 1 ;
$per_page = 7 ;
$sql = "SELECT COUNT(*) FROM government ";
$result = mysql_query($sql);
$total = mysql_result($result , 0);
$pagination = new Pagination($curent_page , $per_page , $total);
///////////////////////////////////////////////////////////////////////
//echo 'perpage : '.$pagination->per_page.'<br />';
//echo 'offset : '.$pagination->offset().'<br />';
///////////////////////////////////////////////////////////////////////
$rows_to_show = "SELECT userId, Attribute, Name FROM government WHERE Name LIKE '%$name%' OR Attribute LIKE '%$name%' LIMIT {$pagination->per_page} OFFSET {$pagination->offset()}";
if($pagination->total_pages() > 1){
echo '<div id="pagination_div">';
if($pagination->has_next_page()){
echo '<span><a href="search_govern.php?page='.$pagination->next_page();
echo '&name='.$name;
echo'" >> </a></span>' ;
}
for($i=1 ; $i <= $pagination->total_pages() ; $i++){
if($i == $pagination->current_page){
echo ' <strong>'.$i.' </strong>';
}
else {
echo '<span><a href="search_govern.php?page='.$i;
echo '&name='.$name;
echo'"> '.$i.' </a></span>';
}
}
if($pagination->has_previous_page()){
echo'<span><a href="search_govern.php?page='.$pagination->previous_page();
echo '&name='.$name;
echo'" > < </a></span>';
}
echo ' </div> ';
}
$dtotal = mysql_query($rows_to_show);
echo "$dtotal";
if ($dtotal === FALSE){ //////////// check to see if the query fails
die(mysql_error());
}
else{
//-create while loop and loop through result set
while($row=mysql_fetch_array($dtotal)){
$userId=$row['userId'];
$Attribute=$row['Attribute'];
$Name=$row['Name'];
//-display the result of the array
echo "<p style=\"margin:2px 0px 5px 0px;\" >";
echo "<p>" ."<a href=\"search_govern.php?id=$userId\"> " . $Name . "</a></p>";
echo "</p>";
}
}
}
else{
echo "<p> Please enter a search query</p>";
}
}
}
>
$ pn = 2に$ limitをエコーするとどうなりますか? –
どういう意味ですか? – JACrypto
$ limit varを宣言した後に "echo $ limit"ステートメントを実行します。あなたが2番目のページ($ pn = 2)に行くと、そのエコーが何であるかを確認してください。 –