WebSite X5Help Center

 
Marco Ricchezza
Marco Ricchezza
User

Orizzontale codice html  it

Autor: Marco Ricchezza
Visitado 715, Seguidores 1, Compartilhado 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>

Publicado em
6 RESPOSTAS
 ‪ 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...

.

Ler mais
Publicado em de  ‪ 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

Ler mais
Publicado em de Giorgio C.
Marco Ricchezza
Marco Ricchezza
User
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

Ler mais
Publicado em de Marco Ricchezza
Giorgio C.
Giorgio C.
User

Il ritorno a capo é nella funzione endChildren della classe TableRows

Ler mais
Publicado em de Giorgio C.
Marco Ricchezza
Marco Ricchezza
User
Autor

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

Ler mais
Publicado em de 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

Ler mais
Publicado em de Giorgio C.