WebSite X5Help Center

 
Marco Ricchezza
Marco Ricchezza
User

Orizzontale codice html  it

Автор: Marco Ricchezza
Просмотрено 708, Подписчики 1, Размещенный 0  

Buongiorno 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>

Размещено
6 Ответы
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... 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...

.

Читать больше
Размещено От  ‪ KolAsim ‪ ‪
Giorgio C.
Giorgio C.
User

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

Читать больше
Размещено От Giorgio C.
Marco Ricchezza
Marco Ricchezza
User
Автор

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

Читать больше
Размещено От Marco Ricchezza
Giorgio C.
Giorgio C.
User

Il ritorno a capo é nella funzione endChildren della classe TableRows

Читать больше
Размещено От Giorgio C.
Marco Ricchezza
Marco Ricchezza
User
Автор

Grazie perciò nella function endChildren() {
        echo "</tr>" . "\n"; la cambio e metto al posto del </tr> cosa metto ?

Читать больше
Размещено От Marco Ricchezza
Giorgio C.
Giorgio C.
User

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

Читать больше
Размещено От Giorgio C.