2010-09-28 2 views
0
// Database Settings 
define('DB_HOST', '******'); 
define('DB_PORT', '******'); 
define('DB_USER', '******'); 
define('DB_PASS', '******'); 
define('DB_NAME', '******'); 

// Connection to Database 
$database = new MySQLi(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT); 

$sql = 'SELECT AManufactureBrand.brand, AManufactureModel.model, AManufactureEdition.edition' 
     . ' FROM AManufactureModel' 
     . ' INNER JOIN AManufactureBrand ON AManufactureModel.brand_id = AManufactureBrand.brand_id' 
     . ' INNER JOIN AManufactureEdition ON AManufactureModel.model_id = AManufactureEdition.model_id' 
     . ' WHERE AManufactureEdition.edition=\'345i\''; 

$resultSet = $database->query($sql); 

// Begin building some HTML output 

$html = '<table border="0"> 
<tr> 
<th>Editions</th> 
</tr>'; 

while ($row = $resultSet->fetch_assoc()) 
{ 
$html .= '<tr><td>' . $row['brand'] . '</td></tr>'; 
$html .= '<tr><td>' . $row['model'] . '</td></tr>'; 
$html .= '<tr><td>' . $row['edition'] . '</td></tr>'; 
} 

$html .= '</table>'; 

echo $html; 
?> 

Например, этот запрос вызывает BMW 345i 3Series, я два результата из MySQL печататься к столу на моем сайте. Проблема состоит в том, что две записи печатаются на одном столбце, опускающемся вниз и далее.PHP Результат запроса из одной колонки в несколько колонок

В настоящее время я получаю такой результат, как на моей веб-странице, две записи mysql, печатающие вертикально вниз по одному столбцу.

Я стараюсь, чтобы это проходило так и печатало несколько автомобилей рядом друг с другом по горизонтали.

ответ

1

Я знаю, что есть, должно быть лучший способ сделать это с HTML, но это должно работать:

$ths = $tds1 = $tds2 = $tds3 = ''; 

while ($row = $resultSet->fetch_assoc()) 
{ 
$ths .= '<td>Editions</td>'; 
$tds1 .= '<td>' . $row['brand'] . '</td>'; 
$tds2 .= '<td>' . $row['model'] . '</td>'; 
$tds3 .= '<td>' . $row['edition'] . '</td>'; 
} 

$html = "<table border="0"> 
<tr>$ths</tr> 
<tr>$tds1</tr> 
<tr>$tds2</tr> 
<tr>$tds3</tr> 
</table> 
"; 

Вы также можете просто иметь несколько таблиц подряд.

2

Не уверен, что именно то, что вы пытаетесь сделать, но я бы предложил заменить это:

// Begin building some HTML output 

$html = '<table border="0"> 
<tr> 
<th>Editions</th> 
</tr>'; 

while ($row = $resultSet->fetch_assoc()) 
{ 
$html .= '<tr><td>' . $row['brand'] . '</td></tr>'; 
$html .= '<tr><td>' . $row['model'] . '</td></tr>'; 
$html .= '<tr><td>' . $row['edition'] . '</td></tr>'; 
} 

$html .= '</table>'; 

с этим:

// Begin building some HTML output 

$html = '<table border="0"> 
<tr> 
<th>Brand</th> 
<th>Model</th> 
<th>Edition</th> 
</tr>\n'; 

while ($row = $resultSet->fetch_assoc()) 
{ 
$html .= '<tr>'; 
$html .= '<td>' . htmlentities($row['brand']) . '</td>'; 
$html .= '<td>' . htmlentities($row['model']) . '</td>'; 
$html .= '<td>' . htmlentities($row['edition']) . '</td>'; 
$html .= '</tr>\n'; 
} 

$html .= '</table>'; 

Это даст вам правильное выход 3 колонки. Если это не то, что вы хотели, уточните свой вопрос.

+0

Я разъяснил свой вопрос выше, спасибо за ваш вклад. – bradpotts

+0

Еще не понятно, что вы пытаетесь сделать ... Извините. Надеюсь, вы сможете что-то решить из этого ответа. – dkamins

Смежные вопросы