Orizzontale codice html
Autor: Marco RicchezzaBuongiorno ho inserito l'oggetto codice html dove i risultati che va a prendere dal db si vedono in orizzontale è possibile vederli in verticali uno sotto l'altro ?
<!DOCTYPE html>
<html>
<body>
<?php
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>Fiore</th><th>Foglia</th><th>Colore</th>
<th>Esposizione</th><th>Res.al gelo</th><th>Tipo</th>
<th>Dimensione</th><th>Profondita</th><th>Fioritura</th>
<th>Ibritatore</th><th>Dim.Vaso</th><th>Spazio</th><th>Disponibilita</th>
</tr>";
class TableRows extends RecursiveIteratorIterator {
function __construct($it) {
parent::__construct($it, self::LEAVES_ONLY);
}
function current() {
return "<td style='width: 70px; border: 1px solid black;'>" . parent::current(). "</td>";
}
function beginChildren() {
echo "<tr>";
}
function endChildren() {
echo "</tr>" . "\n";
}
}
$servername = "xx.xxx.xxx.xxx";
$username = "Sqlxxxxxxx";
$password = "mxxxxxxxxxx";
$dbname = "xxxxxxxxxxxx5";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT fiore,foglia,
case when colore is null then coloret else colore end colore,
esposizione,resistenzaalgelo,tipologia,dimensione,profondita,
tipofioritura,ibritatore,dimensionevaso,spaziooccupato,disponibilita FROM Naturalgarden_modifica where id = '79' ");
$stmt->execute();
// set the resulting array to associative
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
echo $v;
}
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>
</body>
</html>
... io non posso verificare, ma dovrai lavorare sul PHP o chiedere direttamente alla fonte di quel codice; ...essendo extra dal programma faresti prima e meglio...
.
La fonte mi sembra w3schools che hai modificato inserendo questo tuo codice
case when colore is null then coloret else colore end colore,
esposizione, resistenzaalgelo, tipologia, dimensione, profondita,p
tipofioritura, ibritatore, dimensionevaso, spaziooccupato, disponibilita FROM Naturalgarden_modifica where id = '79
Prova a partire con l'esempio originale e attuare le modifiche una per volta
ciao
Autor
il case when è la select , non so qual'è il comando per mettere tutto in verticale .... non so quasi nulla di php lo copiato il codice
Il ritorno a capo é nella funzione endChildren della classe TableRows
Autor
Grazie perciò nella function endChildren() {
echo "</tr>" . "\n"; la cambio e metto al posto del </tr> cosa metto ?
Di per se ti ho dato un'informazione errata in quanto il solo tag <tr> anche senza chiusura manda a capo la tabella e la stringa /n invece crea una riga vuota...
http://php.net/manual/en/language.types.string.php
Comunque se sei a zero con php, parti da codici più semplici, ti cimenterai in seguito nelle classi.
Per esempio puoi benissimo presentare il risultato della query tramite un ciclo foreach senza costruire l'oggetto TableRows.
https://www.w3schools.com/php/php_arrays.asp
Tutto il processo sarà più chiaro.
Ciao