2012-02-02 2 views
0

누군가 내가 잘못하고있는 것을 보여 주시겠습니까? phpMyAdmin과 db를 처음 사용했습니다.phpMyAdmin 데이터베이스 테이블에서 중복 가져 오기

4 개의 항목이있는 db 테이블이 있습니다. 일반 PHP 페이지에서 잘 보입니다 - 네 개의 항목이 모두 올바른 순서로 표시됩니다.

그러나 아래와 같이 코드 <ul class="column"><li><div class="imgblock">을 사용하면 db 테이블에 마지막 항목이 4 개 중복됩니다. 나는? 등) while 루프 외부 그대로 위, 아마도 예제의 코드가 아닙니다 어떻게 생각 ...

<?php 
// Make a MySQL Connection 
mysql_connect("localhost", "....", "....") or die(mysql_error()); 
mysql_select_db("....") or die(mysql_error()); 

$show = "SELECT pn, pgname, img, name, price FROM prodshort"; 
$result = mysql_query ($show); 
while ($show = mysql_fetch_array ($result)) 
{ 
$field2= $show['pn']; 
$field3= $show['pgname']; 
$field4= $show['img']; 
$field5= $show['name']; 
$field6= $show['price']; 
$field7= $show['specs']; 
} 
?> 

<!-- start --> 
<ul class="column"><li><div class="imgblock"> 
<a href="<?echo "$field3";?>"> 
<img src="<?echo "$field4";?>" width="320" height="240" alt="<?echo "$field5";?>" /></a></div><br /> 
<a href="<?echo "$field3";?>"><?echo "$field5";?></a> 
<ul class="specs"> 
<?echo "$field7";?></ul> 
<div class="price"> 
#<?echo "$field2";?>&nbsp;&nbsp;&nbsp;$<?echo "$field6";?> 
</div></li></ul> 
<!-- end --> 
+0

에 대한 당신이해야 루프 안에 항목을 표시합니다. e 값을 WHILE 루프 내의 변수에 저장하고 기존 루프를 덮어 씁니다. 루프의 마지막에는 마지막 DB 레코드에서 가져온 데이터가있는 변수가 있습니다. 또는 전체 코드를 게시하지 않았기 때문에 잘못된 것입니다. –

+0

이것은 phpMyAdmin과 어떤 관련이 있습니까? – JJJ

답변

2

를 확실하지 않음 ', "나는 내가 사용하는 방법을 다시 정렬 할 수 있다고 생각하고, 항목

그것은 더이 같은해야이 :.

while ($show = mysql_fetch_array ($result)) { 
    $field2= $show['pn']; 
    $field3= $show['pgname']; 
    $field4= $show['img']; 
    $field5= $show['name']; 
    $field6= $show['price']; 
    $field7= $show['specs']; 
?> 
<!-- start --> 
<ul class="column"> 
    <li> 
     <div class="imgblock"> 
      <a href="<?echo "$field3";?>"> 
       <img src="<?echo "$field4";?>" width="320" height="240" alt="<?echo "$field5";?>" /> 
      </a> 
     </div> 
     <br /> 
     <a href="<?echo "$field3";?>"><?echo "$field5";?></a> 
     <ul class="specs"> 
      <?echo "$field7";?> 
     </ul> 
     <div class="price"> 
     #<?echo "$field2";?>&nbsp;&nbsp;&nbsp;$<?echo "$field6";?> 
     </div> 
    </li> 
</ul> 
<!-- end --> 
<? 
// end of while loop 
} 
?> 

(당신은 제대로 코드 들여 쓰기를하면 더 쉽게 디버깅 할 수 있습니다, 대부분의 편집자는 않는 무료 ;-)

+0

konsolenfreddy가 제안한 것을 시도 할 것입니다. – acvintage

+0

Thx, konsolenfreddy. 그것은 완벽하게 작동했습니다. 또 다른 질문이 있습니다 - 데이터를 db 테이블에 삽입하고 싶지만 위의 PHP 페이지에 표시하지 않으려면 다른 테이블을 사용해야합니까? 이것은 아직 목록에 올릴 준비가되지 않은 인벤토리입니다. – acvintage

+1

필자는 개인적으로 '숨겨진'과 같은 필드를 설정하여 동일한 테이블에 저장합니다. '숨겨진 <1 '을 가진 모든 엔트리를 질의하십시오. 또한 답변 수락과 관련하여 [FAQ]를 참조하십시오. – konsolenfreddy

관련 문제