2011-08-02 72 views
1

[OK]を、私はデータベースによって占められているギャラリーがありますが、何らかの理由で、2011年5月31日以降のエントリを引き出していません。私はコードを精査したので、なぜ最近のエントリーを引っ張っていないのかについての喪失である。PHPギャラリーの問題

私もデータベーステーブルを見てきましたが、5月31日より前のエントリとそれより多くの現在のエントリとの間に不正がありません。

その次のいずれかのことを推測するつもり
<?php 
//GALLERY PAGE 
$user="USER"; 
$password = "PASSWORD"; 
$database = "GALLERY"; 
$hostname_portfolio ="localhost:3306"; 

//gets the page number from the URL 

if($_GET["pageNum"]==''){ 
$listedNum=0; 

//gets the page limit from the URL 
$limit=5; 
} 

else{ 
$listedNum=$_GET["pageNum"]; 

//gets the page limit from the URL 
$limit=$_GET["limit"]; 

} 
//creates the list of projects and puts them into an array 
$project= array(); 

$con = mysql_connect($hostname_portfolio,$user,$password); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

$dbcon = mysql_select_db("GALLERY", $con); 
if (!$dbcon) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
    if ($dbcon) 
    { 
    } 

mysql_select_db($database, $con); 

$result = mysql_query("SELECT * FROM Persons ORDER BY date_uploaded DESC"); 


    echo"<div class='clear' style='clear:both;'></div>"; 

$j=0; 
do{ 
    if($row['approved']=="true"){ 
    $project[$j] = 
     "<div class='project-list'> 
      <div class='user-project'> 
       <div class='container'> 
        <div class='before-box' > 
         <p class='picture_state'>Before</p> 
         <a href='http://THEURL.com/". $row['image_path']."'> 
         <img src= '". $row['image_path']. "' width='400px' height='300px'/></a> 
         <br /> 
        </div> 
        <div class='after-box'> 
         <p class='picture_state'>After</p> 
         <a href='". $row['picture_state']."'> 
         <img src= '". $row['picture_state']. "' width='400px' height='300px' /></a> 
         <br /> 
        </div> 
        <div class='sidebox'> 
         <div class='inner-sidebox'> 
          <p class='date-project'> 
           Submitted by " . $row['FirstName'] . " " . $row['LastName']. " on " .$row['date_uploaded']. "</p> 
          <p> " .$row['decription']. "</p>"; 
      if($row['ATTR1'] || $row['ATTR2']){ 
       $project[$j] .= "<p>Used "; 
       if ($row['ATTR1']){ 
        $project[$j] .= "PRODUCT2&trade;"; 
        if ($row['color1']){ 
         $project[$j] .= " in " . $row['color1']; 
        } 
        if ($row['ATTR2']){ 
         $project[$j] .= " and "; 
        } 
       } 
       if($row['ATTR2']){ 
        $project[$j] .= "PRODUCT<sup>&reg;</sup>"; 
        if ($row['color2']){ 
         $project[$j] .= " in " . $row['color2']; 
        } 
       } 
       $project[$j] .= "</p>"; 
      } 
      $project[$j] .= " 
         </div> 
        </div> 
       </div> 
       <div class='clear' style='clear:both;'> 
       </div> 
      </div> 
      <div class='clear' style='clear:both;'> 
      </div> 
     </div> 
     <div class='clear' style='clear:both;'> 
     </div>"; 
     $j++; 
} 

} 

while($row = mysql_fetch_array($result)); 

$max=sizeof($project); 

for($i=$listedNum;$i<$limit;$i++){ 

echo $project[$i]; 

} 


$max=sizeof($project) - 1; 

echo "<div class='bottom' style='width:170px;margin:0px auto;'>"; 

if($listedNum > 0){ 
    $prevPageNum=$listedNum - 5; 
    $lastPage= $limit - 5; 
    echo "<a href='http://THEURL.com/gallery.php? pageNum=".$prevPageNum."&limit=".$lastPage."'>< Last Page </a>"; 
} 
else{ 
$prevPageNum=$listedNum; 
$lastPage= $limit; 
} 
echo"&nbsp;&nbsp;"; 
if($limit <= $max){ 

$newPageNum=$listedNum + 5; 
$nextPage= $limit + 5; 
echo "<a href='http://THEURL.com/gallery.php?pageNum=".$newPageNum."&limit=".$nextPage."'> Next Page ></a>";  

} 

else{ 
    $newPageNum=$listedNum; 
    $nextPage= $limit; 
} 

echo "</div>"; 

mysql_close($con); 
?> 
+0

あなたはその悪魔的なことを書いたのですか? –

+1

いいえ、駄目な契約者...それはおそらくそれが壊れた理由です。私はフロントエンドであり、PHPの経験が限られているので、なぜ私は助けを求めています。 – dv8withn8

答えて

0

コードには何もありません。これは、特定の数の結果のみが返され、その日付が日付と一致する場合にデータベースが構成される方法である可能性があります。

+0

サーバー変数と設定に次のようなエントリがあります。「遅延挿入上限\t 100」は、表示されているエントリの数になります。これは変更が必要な設定ですか? – dv8withn8

+1

私はそれを変更する必要があるとは言わないでしょう。設定ファイルを使って遊んでいないのであれば、次の100を選択するSELECT * ORDER BY id DESC LIMIT 101,100(チェックが必要)のどこかでいつでも別の作業を行うことができます。 – Josh

+0

Perfect Josh。私はあなたのヒントを取ってPHPのクエリを変更するためにMySQLのダッシュを学んだ。それは今働いている! – dv8withn8

1

イム:

  1. Youreのサーバーにのみ、あなたが各クエリ内の行の「x」の量を引っ張っすることができます(と「x」はいけないということですat may 31st ')

  2. またはそれ以降のファイルと異なるかもしれません。以前のものに比べて

0

表のデータを確認してください。 5月31日以降に「承認」されていない(「承認済み」フィールドが真TRUEにキャストされたものに設定されていません)

+0

ええ、新しいエントリは、承認された列でTRUEに設定されています。 – dv8withn8

0

あなたのコードから判断すると、date_uploadedは5月31日以降のレコードあなたのDBで間違っています。たとえば、問題のレコードで真でないことを承認しました。

これに失敗すると、おそらくこの制限と関係があります。 5より高い数字を入力して、より多くのレコードが表示されるかどうかを確認してください。

//gets the page number from the URL 

if($_GET["pageNum"]==''){ 
$listedNum=0; 

//gets the page limit from the URL 
$limit=5; 
} 

else{ 
$listedNum=$_GET["pageNum"]; 

//gets the page limit from the URL 
$limit=$_GET["limit"]; 

} 
+0

テーブルをチェックしました。承認された新しいエントリはすべてTRUEに設定され、有効なdate_uploadedが含まれます。 – dv8withn8