2011-12-16 2 views
0
<?PHP 
?> 
<html> 
<head> 
    <title></title> 
    <link rel="stylesheet" href="one.css" type="text/css"> 
</head> 
<? 
include_once "db.php"; 

$result = mysql_query("SELECT * FROM products WHERE product_type='weddingdressaline' ORDER BY user_id"); 
{ 
    echo "<table width='100%' border='5' bordercolor='#860071' cellspacing='5' cellpadding='5'>"; 
    if (mysql_num_rows($result) > 0) { 
     while ($row = mysql_fetch_array($result)) 
     { 
      echo "<tr>"; 
      $i = 0; 
      while ($i < 3) 
      { 
       echo '<td><table width="100%" border="0" cellspacing="0" cellpadding="0" BGCOLOR="#AA99C5"><TR><TD><div class="container"><A HREF="viewproduct.php?user_id=' . $row["user_id"] . '"><img src="showimage.php?user_id=' . $row["user_id"] . '" ALIGN="CENTER" /></A></div></td><tr><td><CENTER><STRONG>' . $row['price'] . '</STRONG></td></TABLE>'; 
       $i++; 
      } 
      echo "</tr>"; 
     } 
    } else { 
     echo "<tr><td colspan='" . ($i + 1) . "'>No Results found!</td></tr>"; 
    } 
    echo "</table>"; 
} 
?> 

Код должен помещать один элемент в один столбец. К сожалению, он помещает один результат для всей строки. Если у кого есть идеи, как это исправить, пожалуйста, помогите.Положите результат запроса MySQL в таблицу

+2

"problwm" ... оно не позволяет использовать "проблему" по причине, не обходят правила – Cyclone

+0

Параметр 'в то время как ($ строка = mysql_fetch_array ($ результат)) {...}' часть выполняется для каждого элемента. Кроме того, часть 'while ($ i <3) {...}' отвечает за дублирование этого элемента 3 раза. Таким образом, есть твоя проблема. – Legolas

+1

Ничего себе, теги капитала и атрибуты. Просто было воспоминание к 1999 году. –

ответ

1

У вас есть какие-то скобки доступа в коде:

$result = mysql_query("SELECT * FROM products WHERE product_type='weddingdressaline' ORDER BY user_id"); 
{ <=== 
    echo "<table width='100%' border='5' bordercolor='#860071' cellspacing='5' cellpadding='5'>"; 
    [....] 
    echo "</table>"; 
} <=== 
+1

+1 за то, что я прав – Cyclone

+0

Я не получаю этот комментарий: PHP-интерпретатору не нужны дополнительные скобки, не так ли? – Legolas

+0

Его все еще уродливый способ кодирования, не говоря уже о том, что он очень запутан. Работает он или нет. – pthurmond

0

Прежде всего, пожалуйста, узнать некоторые чистые стандарты кодирования для всяких ради: http://drupal.org/coding-standards

Вторая проблема заключается в том, что Ваш, выводя это в неправильно. Попытка использовать таблицы для одного (использовать div) - это просто плохая разметка в наши дни. Все ваши стили должны быть в вашем CSS, а не на странице.

Вот ваша значительно улучшенная разметка. Вы используете CSS, чтобы изменить способ его отображения на странице, а не структуру таблицы.

<html> 
<head> 
    <title></title> 
    <link rel="stylesheet" href="one.css" type="text/css"> 
</head> 
<body> 
<?php 
include_once "db.php"; 

$result = mysql_query("SELECT * FROM products WHERE product_type = 'weddingdressaline' ORDER BY user_id"); 

echo '<div class="productTable">'; 

if (mysql_num_rows($result) > 0) { 
    while ($row = mysql_fetch_object($result)) { 
    echo ' 
     <div class="container"> 
     <div class="productImage"> 
      <a href="viewproduct.php?user_id=' . $row->user_id . '"> 
      <img src="showimage.php?user_id=' . $row->user_id . '" align="center" /> 
      </a> 
     </div> 
     <div class="price">' . $row->price . '</div> 
     </div>'; 
    } 
} 
else {  
    echo '<div class="container"><div class="noResults">No Results found!</div></div>'; 
} 

echo "</div>"; 
?> 
</body> 
</html> 
Смежные вопросы