2011年頃PHPで書いたプログラムをZendFrameworkでリファクタリングしています。
その途中なのですが、日記をAjaxで読み込むところがうまくいきません。
コードは次です。
index.phtml
<script type="text/javascript"> $(document).ready(function() { $(".over").bottom({proximity: 0.05}); $(".over").bind("bottom", function() { var ID = $(".more").attr("id"); if(ID) { $("#more"+ID).html(''); $.ajax({ type: "POST", url: "ajax_more_index.php", data: {lastmsg : ID, category :'<?php echo $category ?>'}, cache: false, success: function(html){ $(".over").append(html); $(".more"+ID).remove(); } }); } else { $(".morebox").html(''); } return false; }); }); </script>ajax_more_index.php
<?php require_once("mysql2.php"); ?> <?php if( 1==1 ) : ?> <?php $category = $_POST['category']; $lastmsg = $_POST['lastmsg']; $mysql = new MySQL; $mysql->query("SELECT *,DATE_FORMAT(calendar,'%y/%c/%e'),DATE_FORMAT(calendar,'%Y'),DATE_FORMAT(calendar,'%m'),DATE_FORMAT(calendar,'%d') FROM kawanikki where no < $lastmsg ORDER BY no DESC LIMIT 5"); while($row = $mysql->fetch()){ $gazo = ""; $no = $row["no"]; $calendar = $row["DATE_FORMAT(calendar,'%y/%c/%e')"]; $nen = $row["DATE_FORMAT(calendar,'%Y')"]; $tuki1 = $row["DATE_FORMAT(calendar,'%m')"]; $hi1 = $row["DATE_FORMAT(calendar,'%d')"]; $naiyo = $row["naiyo"]; $youbi = date("w", mktime(0, 0, 0, $tuki1, $hi1, $nen)); $pic_tmp[0]= $row["pic_tmp0"]; $pic_tmp[1]= $row["pic_tmp1"]; $pic_tmp[2]= $row["pic_tmp2"]; $msg_id = $row["no"]; include("includes/switch.php"); $i=0; while($i<=2){ if(strlen($pic_tmp[$i])>0){ $gazo.="<span class='sikaku$i'>"; $gazo.="<span class='gazo$i'>"; $gazo.='<a href="'; $gazo.='turi_details_image.php?no='.$no; $gazo.='&pic='; $gazo.=$pic_tmp[$i]; $gazo.='">'; $gazo.='<img src='; $gazo.='thumbnail.php?img='; $gazo.=$pic_tmp[$i]; $gazo.='>'; $gazo.="</a>"; $gazo.= "</span>"; $gazo.= "</span>"; } $i++; } $output .=$calendar.$youbi. .$naiyo."<br />".$gazo.'<img src="images/bg.gif" width="1" height="1" alt="dot" class="line1" />'; } echo <<<EOT $output <div id="more$msg_id" class="morebox"> <a href="#" class="more" id="$msg_id">もっと見る</a> </div> EOT; ?> <?php endif; ?>mysql2.php
<?php //====================================================================== // ■:MySQL クラス //====================================================================== class MySQL{ //--------------------------- // □:変数の宣言 //--------------------------- var $m_Con; var $m_HostName = ""; var $m_UserName = ""; var $m_Password = ""; var $m_Database = ""; var $m_Rows = 0; //--------------------------- // □:コンストラクタ //--------------------------- function MySQL(){ $filename = "mysql1.ini"; //<==Windows //$filename = "/etc/mysql.ini"; //<==Linux if (!file_exists($filename)){ die("mysql.iniファイルが存在しません。"); }Else{ $fp = fopen($filename,"r"); if (!$fp){ die("mysql.iniファイルが存在しません。。"); }Else{ $this->m_HostName=trim(fgets($fp)); $this->m_UserName=trim(fgets($fp)); $this->m_Password=trim(fgets($fp)); $this->m_Database=trim(fgets($fp)); } fclose($fp); } //MYSQLへ接続 $this->m_con = mysql_connect($this->m_HostName,$this->m_UserName,$this->m_Password); if (!$this->m_con){ die("MYSQLの接続に失敗しました。"); } //データベースを選択 if (!mysql_select_db($this->m_Database,$this->m_con)){ die("データベースの選択に失敗しました。DB:{$this->m_Database}"); } define("TABLE_NAME", "LAA0036673-kenji"); define("KEY_NAME", "ID"); define("CONTENT", "kawanikki"); define("DISPLAY_NUM_INIT", 10); define("DISPLAY_NUM", 5); } //--------------------------- // SQLクエリの処理 //--------------------------- function query($sql){ $this->m_Rows = mysql_query($sql,$this->m_con); if (!$this->m_Rows){ die("MySQLでエラーが発生しました。<br><b>{$sql}</b><br>" .mysql_errno().": ".mysql_error()); } return $this->m_Rows; } //--------------------------- // 検索結果をfetch //--------------------------- function fetch(){ return mysql_fetch_array($this->m_Rows); } //--------------------------- // 変更された行の数を得る //--------------------------- function affected_rows(){ return mysql_affected_rows(); } //--------------------------- // 列数 //--------------------------- function cols(){ return mysql_num_fields($this->m_Rows); } //--------------------------- // 行数 //--------------------------- function rows(){ return mysql_num_rows($this->m_Rows); } //--------------------------- // 検索結果の開放 //--------------------------- function free(){ mysql_free_result($this->m_Rows); } //--------------------------- // MySQLをクローズ //--------------------------- function close(){ mysql_close($this->m_con); } //--------------------------- // エラーメッセージ //--------------------------- function errors(){ return mysql_errno().": ".mysql_error(); } //--------------------------- // エラーナンバー //--------------------------- function errorno(){ return mysql_errno(); } } ?>