Результат PHP-запроса от одного столбца до нескольких столбцов - PullRequest
0 голосов
/ 28 сентября 2010
// 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 3Series 345i, у меня есть два результата из mysql, напечатанных в таблице на моем веб-сайте.Проблема в том, что две записи печатаются по одному столбцу, идущему вниз.

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

Ответы [ 2 ]

2 голосов
/ 28 сентября 2010

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

// 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 столбца,Если это не то, что вы хотели, уточните свой вопрос.

1 голос
/ 28 сентября 2010

Я знаю, что должен быть лучший способ сделать это с 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>
";

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...