日本PHPユーザ会 掲示板

日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。

日本PHPユーザ会 掲示板 » PHP事はじめ » ランダム表示させたデータを次のページで表示させたい

ランダム表示させたデータを次のページで表示させたい

ページ: 1

投稿者 投稿
会員
登録者: 10 2010
返信数: 3
はじめまして、文章を読んで難易度を登録するサイトを作成しております。
ランダムでデータを表示させるとこまではできたのですが、IDとTITLEを次のページに表示させ、確認画面のようなものを作成したく、require_once 'reading.php';print "textid";print "title";
でやってみたのですがうまくいきませんでした。

 $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
mysql_query("set names ujis");
$selectdb = mysql_select_db($DBNAME);
$sql = "SELECT * from text order by Rand() limit 1";
$rst = mysql_query($sql);
$body .= "<TABLE border='1'>
<TR>
<TH>ID</TH>
<TH>title</TH>
<TH>text</TH>
</TR>";
while ($col = mysql_fetch_array($rst)) {
$body .= "<TR>" .
"<TD>$col[textid]</TD>" .
"<TD>$col[title]</TD>" .
"<TD>$col[text]</TD>" .
"</TR>";
}
$body .= "</TABLE>";
mysql_free_result($rst);
$con = mysql_close($con);


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="jp" lang="jp">
<head>
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>test</title>
<link rel="stylesheet" href="style.css" />
</head>
<BODY>
<?=$body?>
<form action="grade2.php" method="post" >
<td>
<table border="0" cellpadding="2" cellspacing="3" class="tablehead">
<tr>
<td class="tdtitle">
Rating<a href="#" onMouseOver="showmeaning(3)">[?]</a>
</td>
</tr>
<tr>
<td class="tdtext">

<select name="rating">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<input type="submit" value="解答する" />
</td>
</tr>
</table>

</td>
</tr>
</table>
</form>
</BODY>
</html>


表示をさせたいページ
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE>RATING</TITLE>
</HEAD>
<BODY>
<?php
require_once 'reading.php';
print "textid";
print "title";
?>
<TABLE border="1">
<TBODY>
<TR>
<TD>ID</TD>
<TD><?=$_POST[textid]?></TD>
</TR>
<TR>
<TD>TITLE</TD>
<TD><?=$_POST[title]?></TD>
</TR>
<TR>
<TD>RATING</TD>
<TD><?=$_POST[rating]?></TD>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>


独学で始め、サンプルなどを利用しながらやっておりますが、周りに相談できる人もおらず、ぜひともアドバイスをいただきたいと思い書かせていただきました。これを使えば表示できる、というようなものがありましたらよろしくお願いします。
会員
登録者: 8 2009
返信数: 103
こんにちは。

> でやってみたのですがうまくいきませんでした。
どううまくいかないのか明記してください。

3つソース提示されてますがそれぞれのファイル名がわかりません。

javascriptのshowmeaning(3)の動作がわかりません。
(おそらく意味をオーバレイかなにかで表示するのでしょうけれど)

現象を再現できるように提示してくれないと検証のしようがなく回答もできませんよ。
会員
登録者: 10 2010
返信数: 3
ご指摘ありがとうございます。
1つめと2つめのコードは1つのファイル(reading.php)で、phpとhtmlの部分を分けてあります。3つ目のソース(grade2.php)はreading.phpで選択した数字を表示させるためのものです。

http://joho.cher-ish.net/test/reading.php

require_once 'reading.php';print "textid";print "title";でうまくいかなかったのは、3つ目のソースの9~13行目に入れてみて、本来は表の中に前のページで表示されたtextidとtitleをそれぞれ入れたいのですが、新たにランダムでデータが表示されてしまいます。

showmeaning(3)はもともとあったテンプレートのものが残っていて今回のページでは必要ないのかもしれません。
説明不足で申し訳ありませんでした。
« 最終編集者 jak 日時 2010 年 10 月 21 日(木) 22:52. »
会員
登録者: 8 2009
返信数: 103
こんにちは。
> require_once 'reading.php';print "textid";print "title";でうまくいかなかったのは、
> 3つ目のソースの9~13行目に入れてみて、本来は表の中に前のページで
> 表示されたtextidとtitleをそれぞれ入れたいのですが、
> 新たにランダムでデータが表示されてしまいます。

reading.phpはランダムにデータを取り出して表示するので、それを取り込んだら
またランダムに表示されるのはあたりまえです。

reading.phpで取得した値(textid, title, rating)をpostでgrade2.phpに送信し表示させてください。

# grade2.phpに$_POST[textid]とありますがpost送信する方法がわからないのでしょうか?


# grade2.phpからrequire_once 'reading.php';するのはおかしいと気づきましょう。
# DOCTYPEなど入れ子になってますよ。
# それと文字コードを統一しましょう。(utf-8からeuc-jpになってる理由がわからない)
会員
登録者: 10 2010
返信数: 3
こんばんは。
(textid, title, rating)をpostで送信
<form action="grade2.php" method="post" >
grade2.phpで表示させることができました。
気づかなかったところもわかることができ、これからもっと勉強していこうと思います。
ありがとうございました、またよろしくおねがいします。

ページ: 1

日本PHPユーザ会 掲示板 » PHP事はじめ » ランダム表示させたデータを次のページで表示させたい

日本PHPユーザ会 掲示板 は UseBB 1 フォーラムソフトウェア を使用しています