• 締切済み

現在見ているページの部分を削除していい部分

def pagelistedV2(self,tolink,page,start,reccount,linecount,sjid,pn,CD,SD,msid): pagestrings = u'<div style="text-align:center;margin-top:5px">' back = start - pn if back < 0: back = 0; if start != 0: pagestrings += u'<a href="%s?page=%s,%s,%s&sj=%s&ms=%s&CD=%s&SD=%s">&lt;&lt;前の物件一覧ページへ</a>&nbsp;&nbsp;' % (tolink,back,page[1],page[2],sjid,msid,CD,SD) p1 = int(start / pn) p2 = int(reccount / pn) p3 = reccount - (p2*pn) if p3 > 0: p2 += 1 p4 = p1 + 10 if p4 > p2: p4 = p2 for x in range(p1,p4): c = x + 1 st = x * 10 pagestrings += u'<a href="%s?page=%s,%s,%s&sj=%s&ms=%s&CD=%s&SD=%s">%s</a>&nbsp;' % (tolink,st,page[1],page[2],sjid,msid,CD,SD,str(c)) next = start + linecount if reccount > next: pagestrings += u'&nbsp;&nbsp;<a href="%s?page=%s,%s,%s&sj=%s&ms=%s&CD=%s&SD=%s">次の物件一覧ページへ&gt;&gt;</a>' % (tolink,next,page[1],page[2],sjid,msid,CD,SD) pagestrings += '</div>' return pagestrings をpythonで組んでいます。このプログラムでどこをどういう風に加えたら現在見ているページだけを太字にできるのでしょうか? 

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

ここでは、スペースやタブを入力してもまとめられてしまいます。 空白がプログラム構造に関係するPythonにとっては致命的です。どこからどこまでがループなのか、if/elseの範囲がどこまでなのか、というのが全然わかりません。 先頭のスペースやタブを別な文字(全角スペースとか)におきかえるとかしましょう。 で。 「現在見ているページだけを太字」の意味がわかりません。 「現在見ているページ」ってだけ言われると、表示されている全部が「現在見ているページ」なので、全部太字にするのでしょうか? プログラム斜め読みすると、ページ番号の一覧を出力しているようですが、その数字のうち、現在のページの番号だけ太字にしたい、ということかなぁ、と思いますが。 そうだとして、あなたができないのは 「太字にする」ことですか? → HTMLとCSSの勉強をしましょう。 現在の状態でHTMLを出力させて、それを該当箇所を太字にするにはどんなタグやCSSをどこで使えばいいか考えましょう。 あとは、その通りの出力になるようにプログラムを直すだけです。 「太字にする箇所を判定する」ことですか? →どっかに、数字を出しているところがあります。その数値と現在のページ番号とを比較して、ifで場合分けすればいいでしょう。

関連するQ&A

  • PHPでのページ表示について

    はじめまして。大変困ってます・・ PHP初心者なのですが、どなたか教えていただけないでしょうか・・ よくホームページで見かける 1|2|3 ↑このようなページ表示の数字の部分を画像にしたいのですが、どうしたらよいのでしょうか? CGI'Sというサイトから、フリーのショッピングカートをダウンロードして作っているのですが、全くの初心者のため、どうしたらいいのか全く分かりません・・ 多分ここをいじればいいのかな?と思うのですが・・ if($para) { $para = preg_replace('/&amp;p=[0-9]*?/','',$para); $para = preg_replace('/&p=[0-9]*?/','',$para); } $prefix = '?'; if(strpos($_this,'?')) { $prefix = '&amp;'; } $p_html = ''; $all_p = ceil($data_c / $max_row); if($all_p < $max_page){ $p_start = 0; $p_end = $all_p - 1; } else{ if(($p + 1) <= ceil($max_page / 2)){ $p_start = 0; $p_end = $max_page - 1; } else{ $p_start = ($p + 1) - ceil($max_page / 2); $p_end = $p_start + $max_page - 1; if($p_end >= $all_p - 1){ $p_end = $all_p - 1; $p_start = ($all_p - $max_page) ; } } if($p_end < ($all_p - 1)){ $tail = '...'; } } 本当に初心者で申し訳ないです。よろしくお願いします。

    • ベストアンサー
    • PHP
  • ページングのページ情報が更新されない

    PHPとMySQLを用いてページング処理をさせたいと思いましたが、うまくいきませんでした。 1ページあたり10件表示させるというプログラムです。 具体的に問題点を挙げると、ページ情報が更新されません。 はじめにページ情報の有無を判定して、ない場合、初期値として1を入れてその後の処理につなげると思うのですが、「次へ」をクリックしても同じページになります。 ためしに、初期値を2にしてみると、2ページ目が表示されるので、表示の部分は間違っていないと思うのですが・・・ うまくページ情報が受け渡されていないのが原因だと思うのですが・・・ プログラムの一部です。 データベースからデータ件数を出し、ページの初期値を設定 $pagesize = 10; if(!isset($page)){ $sql = <<<EOS (省略) EOS; $result = $conn->query($sql); if (DB::isError($result)) { die ($result->getMessage()); } $count = $result->numRows(); $page = 1; } 次に、リンク部分です。 if($totalpage > 1 and $page < $totalpage){ ?> <?php print "<a href = '$PHP_SELF?page=" .($page+1). "&count=$count'>"."次の$pagesize 件&gt;</a>&nbsp;&nbsp;&nbsp;";?> <?php print "<a href = '$PHP_SELF?page=$totalpage&count=$count'>最後へ&gt;&gt;</a>";?> 原因が分かる方がいらっしゃいましたらよろしくお願いします。

    • ベストアンサー
    • PHP
  • ワードプレス固定ページのページングについて

    初めまして。WordPress・PHPの初心者で大変恐縮ではございますが、 ご質問させていただきます。 この度、固定ページに検索結果を表示し、その検索結果を件数指定し、 ページングを行いたいと考えています。 既にWordPress外では、実装でき正常動作を確認しているのですが、 WordPressの固定ページに組み込むと、2ページ目のリンク設定が 上手く行えておらず、誤動作してしまう状態です。 コードは同一ファイルに 【PHP】 if ($_POST["page"] !== "all") {    //取り出す最大レコード数    $lim = $_POST["page"];    //最初と最後のページ番号を定義    $first = 1;    $last = ceil ($num / $lim);        //表示するページ位置を取得    $p = intval ($temp_p);    if ($p < $first) {      $p = $first;    } elseif ($p > $last) {      $p = $last;    }    //表示するレコード位置を取得    $st = ($p - 1) * $lim;    //前後のページ移動数と表示数    //$page = 10 現在のページの前後10ページへのリンク番号を表示    //$page = 10 現在のページの前後10ページ目に移動    $page = 3;    //前後$pageページ移動した際のページ番号を取得    $prev = $p - $page;    $next = $p + $page;    //前後1ページ移動した際のページ番号を取得    $prev01 = $p - 1;    $next01 = $p + 1;    //$stから$lim件のデータを取得し、並べ替える    $sql .= " ORDER BY hoge LIMIT " . $st . "," . $lim . ";";    //ページ移動リンクの組み立て    //1ページ前のページ    if ($p > 1) {     $pagePrev = "<a href=\"$_SERVER[PHP_SELF]?p=$prev01\"><</a> ";    }    //各ページ番号への移動リンクを表示    for ($cnt = $p - $page; $cnt <= $last; $cnt++) {     if ($cnt < 1) {       $cnt = 1;     }     $pageNo = "<a href=\"$_SERVER[PHP_SELF]?p=$cnt\">$cnt</a> ";     //表示番号を指定数に区切る     //ページ番号と現在のページが同一の場合は     //リンク無しにする     if ($cnt <= $p + $page) {       if ($cnt == $p) {          $pageNo = $p;       }      }    }    //1ページ後のページ    if (($next01 - 1) * $lim < $reccnt) {       $pageNext = "<a href=\"$_SERVER[PHP_SELF]?p=$next01\">></a> ";    }    //最初のページへ移動    if ($p > 1) {       $pageFirst = "<a href=\"$_SERVER[PHP_SELF]?p=$first\">最初</a> ";    }    //前の$pageページへ移動    if ($p > $page) {       echo "<a href=\"$_SERVER[PHP_SELF]?p=$prev\"><<</a> ";    }    //次の$pageページへ移動    if (($next - 1) * $lim < $reccnt) {       echo "<a href=\"$_SERVER[PHP_SELF]?p=$next\">>></a> ";    }    //最後のページへ移動    if ($p < $last) {       $pageLast = "<a href=\"$_SERVER[PHP_SELF]?p=$last\">最後</a> ";    } } 【html】 <?php echo $pageFirst; echo $pagePrev; echo $pageNo; echo $pageNext; echo $pageLast; ?> としており、a href=\"$_SERVER[PHP_SELF]?p=$hoge が上手く行えて いないからだと自分では考えているので、hrefにこのファイルの指定や 私が思い当たる方法では試してみたのですが、やはり解決することはできませんでした。 説明が不十分で大変失礼かと思いますが、どういった原因が考えられるでしょうか? リンク以外の観点からも、アドバイスをいただければと考えております。 お力を貸していただければ大変嬉しく思います。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 検索結果($_POST)が2ページ目以降は消える

    PHP+MySQLで分割ページを作っています。 検索結果のページを分割しているのですが、2ページ目以降に検索されたレコードが表示されません。 1).2ページ目以降に続きのレコード(下記では21件目以降)を表示させるには、どうすれば良いのでしょうか。 2).上記には関係ないのですが、「<?= $msg ?>」で検索結果の総数を表示したいのですが、「1」としか表示されません…ついでで良いので、ご指摘いただけたらと思います。 <?php $keyword = $_POST['keyword']//検索ワードになります、下記の例では使用していません ?> <?php //データベース接続 $page = $_REQUEST['page']; if ($page == '') { $page = 1; } $page = max($page, 1); // 最終ページを取得する $sql = 'SELECT COUNT(*) AS cnt FROM table1'; $result = mysql_query($sql); $rows = mysql_fetch_assoc($result); $maxPage = ceil($rows['cnt'] / 20); $page = min($page, $maxPage); $start = ($page - 1) * 20; $result = mysql_query('SELECT * FROM table1 LIMIT ' . $start . ',20'); $rowss = mysql_num_rows($sql); //表示するデータを作成 if($rows){ while($row = mysql_fetch_array($result)) { $tempHtml .= "<tr>"; $tempHtml .= "<td>".$row["id"]."</td><td>".$row["name"]."</td><td>".$row["mail"]."</td>"; $tempHtml .= "</tr>\n"; } $msg = "".count($rowss).""; }else{ $msg = "sorry"; } //結果保持用メモリを開放する mysql_free_result($result); ?> //下記から、HTML部に表示しています <?php $start_a = ($start + 1); print "".$start_a."件~"; $start_b = ($start + 20); print "".$start_b."件を表示しています(".$page."ページ目/全".$maxPage."ページ)<br>"; if ($page > 1) { print "<a href=\"page.php?page=".($page - 1)."\">前のページへ</a>  "; } else { print "前のページへ"; } if ($page < $maxPage) { print "<a href=\"page.php?page=".($page + 1)."\">次のページへ</a>  "; } else { print "次のページへ"; } ?> <?= $msg ?> 何卒、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • CGIでのページ指定~その(2)

    以前教えていただいた下記の記述なのですが 新規のCGIで実行するとうまく表示されません; $inの関連記述をしていないからでしょうか? まったくの新規のCGIで実行できる記述方法を 教えてください よろしくお願いします m(_ _)m **************************** if($in{'p'} eq '1'){&page1;} sub page1{ print"1ページ目"; print"<a href=./aaa.cgi?p=2>2ページ目</a>"; } ****************************

    • ベストアンサー
    • CGI
  • ページ内リンクに他のページからリンクする方法

    ページ内リンクに他のページからリンクする方法ってありますか? 初歩的な質問ですいません。 タイトルでは分かり辛いので、例を書きます。 ページ1にA・B・C・D・Eと見出しの付いた文章があります。左側に対応したリストを作って、ページ内でリンクを貼っています。 ページ2に、ページ1で作った見出しCに関連する記述があり、そこにリンクを作成して、ページ1の見出しCを表示したいのです。 ページ2から、ページ1の中にあるページ内リンクを指定する事は出来ますでしょうか? ※見出しCだけ抽出されると言う意味では無く、ページ1で見出しCのリンクを押した時と、同じ表示でかまいません。 ページ1の左側リスト <tr> <td><A Href="#page_linkA">りんご</A></td> <td><A Href="#page_linkB">みかん</A></td> <td><A Href="#page_linkC">スイカ</A></td> <td><A Href="#page_linkD">柿</A></td> <td><A Href="#page_linkE">メロン</A></td> </tr> ページ1の本文 <A Name="page_linkA"><p>りんごは大好きです</p> <A Name="page_linkB"><p>みかんはあまり好きではありません</p> <A Name="page_linkC"><p>スイカは塩を振ってたべます</p> <A Name="page_linkD"><p>柿より牡蠣が食べたい</p> <A Name="page_linkE"><p>メロン…高くて食べれません</p> ページ2から<A Name="page_linkC"><p>スイカは塩を振ってたべます</p>を表示するリンクを貼りたいのです。 この説明で解ってもらえますでしょうか?宜しくお願いします。

  • phpでページング処理の書き方

    環境:php+mysql サイト内検索をphpで書いてます。 ■やりたいこと 検索結果が10件として1ページの検索結果数を3件とした場合 ページングは4ページまでとして、最終ページの4ページ目で 「次へ」のボタンを非表示にしたいです。 ■現状 検索結果は表示されますが、検索結果ページで 「次へ」 や 「戻る」 ボタンをつけて動作する際、いつまでの「次へ」やボタンが表示されページングできてしまいます。。 実際に書いている処理 <?php if ($num > 3){//検索結果が3件以上でページングが表示される if($page>0){ echo "<a href='./re.php?key={$a}&pages=".($page-1)."'>前の3件</a>"; } echo "&nbsp;&nbsp;|&nbsp;&nbsp;<a href='./re.php?key={$a}&pages=".($page+1)."'>次の3件</a>"; } ?> if ($num > 3)で何か処理を書かなければならないと思いますが、、 アドバイスいただければ幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • このページ切り替えであっていますか?

    サンプルスクリプトの部分を使ってページナビをつけたのですが、 正常に動作しません。"1"としか表示されません。 // オフセットに値がなければ0をセット if(!$input_offset) { $input_offset = 0; } <省略> $query = "SELECT * FROM hoge LIMIT 10 OFFSET {$input_offset}"; <省略> // ナビゲーター $query = "SELECT count(*) FROM hoge"; $result = @mysql_query($query, $db); $data_size = @mysql_result($result, 0, 0); if($data_size > 0) { $last_page = ceil($data_size / LB_DATA_LIMIT); print <<<_EOT_ <table border="0" cellspacing="0" cellpadding="5" width="500"> <tr> <td>\n page&nbsp; _EOT_; for ($i = 1; $i <= $last_page; $i++) { $offset = ($i - 1) * 5; printf('<a href="index.php?mode=395&offset=%d">%d</a>', $offset, $i); //←ここでページ数、ナビつける print "&nbsp;&nbsp;"; } } 上記コードでちゃんと「1.2.3.4.・・・」というナビはつくでしょうか? どこか間違いがあれば教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • php掲示板でページング機能を装備したいのですが

    下記のプログラムのみでは投稿が0にもかかわらず12345...10次へ » となってしまいます。理想は13件投稿の場合10件表示で、一ページ目は 13件中10件表示 1|2次へ>> としたいです。 PHP初心者です。どこに記述するかなど、できるだけ分かりやすくお願いいたします><申し訳ございません。 <?php function paging($limit, $page, $disp=5){ //$dispはページ番号の表示数 $next = $page+1; $prev = $page-1; $start = ($page-floor($disp/2)> 0) ? ($page-floor($disp/2)) : 1;//始点 $end = ($start> 1) ? ($page+floor($disp/2)) : $disp;//終点 $start = ($limit <$end)? $start-($end-$limit):$start;//始点再計算 if($page != 1 ) { print '<a href="?page='.$prev.'">&laquo; 前へ</a>'; } //最初のページへのリンク if($start>= floor($disp/2)){ print '<a href="?page=1">1</a>'; if($start> floor($disp/2)) print "..."; //ドットの表示 } for($i=$start; $i <= $end ; $i++){//ページリンク表示ループ $class = ($page == $i) ? ' class="current"':"";//現在地を表すCSSクラス if($i <= $limit && $i> 0 )//1以上最大ページ数以下の場合 print '<a href="?page='.$i.'"'.$class.'>'.$i.'</a>';//ページ番号リンク表示 } //最後のページへのリンク if($limit> $end){ if($limit-1> $end ) print "..."; //ドットの表示 print '<a href="?page='.$limit.'">'.$limit.'</a>'; } if($page <$limit){ print '<a href="?page='.$next.'">次へ &raquo;</a>'; } /*確認用 print "<p>current:".$page."<br>"; print "next:".$next."<br>"; print "prev:".$prev."<br>"; print "limit:".$limit."<br>"; print "start:".$start."<br>"; print "end:".$end."</p>";*/ } $limit = 10;//最大ページ数 $page = empty($_GET["page"])? 1:$_GET["page"];//ページ番号 paging($limit, $page); ?> またlogファイルなどの関連ファイル名はどこに記述されているかわからないので、このファイルをindex.phpにしたとして、ほかに必要なファイルがあれば教えていただきたいです。宜しくお願いいたします。 参考URL http://tenderfeel.xsrv.jp/php/639/

    • 締切済み
    • PHP
  • phpphp,mysqlページングについて

    1つのphpファイルで作成を考えています。検索後(if($subsub){}を消せば)でなければページング機能は、可能です。1ページ目は、正常に表示しますが、2ページ目以降表示できません。データ保持ができません。同じ類の質問は、たくさん出てると思いますが・・・初心者ということもあり、ロジックがまだわかっていないのでできれば記述で教えていただければ幸いです。よろしくお願いします。 検索項目は、1項目で省略していますが、本来4~5項目で考えています。 <?php // データベースに接続する 省略 $test = $_POST[test]; echo' <form method="POST" action="".$_SERVER["PHP_SELF"].""> <tr> <input type="text" name="test"> <td><input type="submit" value="検索" name="subsub"></td> </form> '; //検索ボタンを押したら表示 if((isset($_POST['subsub']))or(isset($_GET['p'] ))){ //ページング処理 //総レコード数を取得する //条件がある場合は、where 条件式を書く $sql = "SELECT COUNT(*) AS reccnt FROM faq;"; $res = mysql_query($sql, $conn) or die ("データ抽出エラー"); $row = mysql_fetch_array($res, MYSQL_ASSOC); $reccnt = $row["reccnt"]; //取り出す最大レコード数 $lim = 3; //最初と最後のページ番号を定義 $first = 1; $last = ceil($reccnt / $lim); //表示するページ位置を取得 $p = intval($_GET['p']); if ($p < $first) { $p = $first; } elseif ($p > $last) { $p = $last; } //表示するレコード位置を取得 $st = ($p - 1) * $lim; //前後のページ移動数と表示数 $page = 3; //前後$pageページ移動した際のページ番号を取得 $prev = $p - $page; $next = $p + $page; //前後1ページ移動した際のページ番号を取得 $prev1 = $p - 1; $next1 = $p + 1; //SELECTコマンドを実行して、$stレコード目から$lim件の各データを取得し、大きい順に並べる $sql = "SELECT test FROM testtest WHERE test like '$test' ORDER BY id DESC LIMIT $st, $lim;"; $res = mysql_query($sql, $conn) or die ("データ抽出エラー"); echo' <table border="1"> <tr> <td>ID</td> <td>テスト</td> </tr> '; //取得したデータを一件ずつ表示 while($row = mysql_fetch_array($res, MYSQL_ASSOC)) { echo' <tr> <td>'.$row["id"].'</td> <td>'.$row["test"].'</td> </tr> '; } echo '</table>'; //ページ移動リンクの組み立て //1ページ前のページ if ($p > 1) { echo "<font size=\"1\"><a href=\"$_SERVER[PHP_SELF]?p=$prev1\"><</a></font>&nbsp"; } //各ページ番号への移動リンクを表示 for ($cnt = $p - $page; $cnt <= $last; $cnt++) { if ($cnt < 1) { $cnt = 1; } $pageno = "<font size=\"1\"><a href=\"$_SERVER[PHP_SELF]?p=$cnt\">$cnt</a></font>&nbsp"; //表示番号を指定数に区切る //ページ番号と現在のページが同一の場合は //リンク無しにする if ($cnt <= $p + $page) { if ($cnt == $p) { $pageno = "<font size=\"1\">$p</font>&nbsp"; } echo $pageno; } } //1ページ後のページ if (($next1 - 1) * $lim < $reccnt) { echo "<font size=\"1\"><a href=\"$_SERVER[PHP_SELF]?p=$next1\">></a></font>&nbsp"; } echo "<br>\n"; //最初のページへ移動 if ($p > 1) { echo "<font size=\"1\"><a href=\"$_SERVER[PHP_SELF]?p=$first\">最初</a></font>&nbsp"; } //前の$pageページへ移動 if ($p > $page) { // << を $page"."ページ戻る にする事もできる echo "<font size=\"1\"><a href=\"$_SERVER[PHP_SELF]?p=$prev\"><<</a></font>&nbsp"; } //次の$pageページへ移動 if (($next - 1) * $lim < $reccnt) { // >> を $page"."ページ進む にする事もできる echo "<font size=\"1\"><a href=\"$_SERVER[PHP_SELF]?p=$next\">>></a></font>&nbsp"; } //最後のページへ移動 if ($p < $last) { echo "<font size=\"1\"><a href=\"$_SERVER[PHP_SELF]?p=$last\">最後</a></font>&nbsp"; } } ?>

    • ベストアンサー
    • PHP

専門家に質問してみよう