2012-10-21 3 views
1

나는 마지막 테이블 데이터 행을 얻으려고한다. 이 코드를 가지고 :나는 마지막 테이블 데이터 행을 얻으려고하고있다. 나는 다음 코드를 가지고있다.

// Connects to your Database 

mysql_connect("*", "*", "*") or die(mysql_error()); 
mysql_select_db("*") or die(mysql_error()); 


// Collects data from table 
$data = mysql_query("SELECT * FROM ps_product_lang JOIN ps_image ON ps_image.id_product = ps_product_lang.id_product WHERE id_lang = '1' ORDER BY ps_product_lang.id_product DESC LIMIT 16") 
or die(mysql_error()); 

// puts the info into the $info array 
$info = mysql_fetch_array($data); 




define('COLS', 6); // number of columns 
$col = 0; // number of the last column filled 

echo '<tr>'; // start first row 

while($info = mysql_fetch_array($data)) 
{ $col++; 
    if ($col == COLS) // have filled the last row 
    { $col = 1; 
    echo '</tr><tr>'; // start a new one 
    } 

echo '<td width="150" height="150" align="center" class="newprod">'; 
Print (strtolower (str_replace(" ","-","<a/href='/shop/".$info['id_product'] . "-".$info['link_rewrite'] . ".html'><img/src='http://wearitnewear.com/shop/".$info['id_image'] . "-medium/".$info['link_rewrite'] . ".jpg'></a>"))); 
echo '<br/>'; 
Print " ".$info['name'] . " "; 
echo '</td>'; 
} 


echo '</tr>'; // end last row 

제한을 16으로 설정했지만 테이블에서 15 개의 항목 만 가져옵니다. 아주 마지막 하나는 꺼내지도 않고 표시하지 않을 것입니다.

그래서 그것은 단지

1 
2 
3 
4 

표시됩니다

1 
2 
3 
4 
5 

이 있다고하지만 내 한계는 5

+1

문제로 설정해야합니다 경우 방법으로 아마 응용 프로그램 코드에서 레코드 세트를 루핑한다는 것입니다. – eggyal

+0

그래서 어떻게 수정하겠습니까? 나는 무엇을 찾고 그물에 아무것도 찾을 수 –

+0

귀하의 PHP 코드에서 '하나의 오류로'소리처럼. 예를 들어, PHP로 계산할 때 0부터 1까지 카운트를 시작합니까? 어느 쪽이든 작동하도록 만들 수 있지만 일관성을 가져야합니다. – AllInOne

답변

0
// Connects to your Database 


mysql_connect("*", "*", "*") or die(mysql_error()); 
mysql_select_db("*") or die(mysql_error()); 

// Collects data from table 
$data = mysql_query("SELECT * FROM ps_product_lang JOIN ps_image ON ps_image.id_product = ps_product_lang.id_product WHERE id_lang = '1' ORDER BY ps_product_lang.id_product DESC LIMIT 16") or die(mysql_error()); 

if ($data) { 
    echo '<tr>'; // start a new one 
    $column = -1 ; 
    $column_count = 6 ; 
    while($info = mysql_fetch_array($data)) 
    { 
     $column++ ; 
     if ($column == $column_count) { 
      echo '</tr><tr>' ; 
      $column = 0 ; 
     } 
     echo '<td width="150" height="150" align="center" class="newprod">'; 
     Print (strtolower (str_replace(" ","-","<a/href='/shop/".$info['id_product'] . "-".$info['link_rewrite'] . ".html'><img/src='http://wearitnewear.com/shop/".$info['id_image'] . "-medium/".$info['link_rewrite'] . ".jpg'></a>"))); 
     echo '<br/>'; 
     Print " ".$info['name'] . " "; 
     echo '</td>'; 
    } 
    echo '</tr>' ; 
} 
mysql_free_result($data); 
+0

괜찮아요. 지금은 내 열을 다시 가져올 필요가. 그냥 페이지의 중앙에 아래로 직선으로 모두 표시합니다. 내가 원하는대로 열을 편집하거나 5 열이 필요합니다. –

+0

안녕하세요. @Tad 열 너비를 고려하여 대답을 변경했습니다. –

+0

nvm 나는 너의 도움으로 그것을 고쳤다. 감사합니다. kjtl .. 그곳에서 나는 여분의 것을 하나 가지고있었습니다. –

관련 문제