2010-09-28 26 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; 
?> 

Par exemple cette requête appelle BMW 345i 3Series, j'ai deux résultats de MySQL imprimé à une table sur mon site. Le problème que les deux enregistrements impriment sur une colonne à partir de .PHP résultats des requêtes d'une colonne à colonnes multiples

Actuellement, je reçois un résultat comme celui-ci sur ma page Web deux enregistrements mysql impression verticale vers le bas d'une colonne. J'essaye de le faire traverser ainsi et d'imprimer horizontalement plusieurs voitures l'une à côté de l'autre.

Répondre

1

Je sais qu'il doit y avoir une meilleure façon de le faire avec HTML, mais cela devrait fonctionner:

$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> 
"; 

Vous pouvez également avoir juste plusieurs tables successivement.

2

Je ne sais pas exactement ce que vous essayez de faire, mais je vous suggère de remplacer ceci:

// 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>'; 

avec ceci:

// 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>'; 

Cela vous donnera une bonne sortie 3 colonnes. Si ce n'est pas ce que vous vouliez, alors clarifiez votre question.

+0

J'ai clarifié ma question ci-dessus merci pour votre contribution jusqu'à présent. – bradpotts

+0

Toujours pas clair ce que vous essayez de faire ... Désolé. J'espère que vous pourrez tirer quelque chose de cette réponse. – dkamins