WebSite X5Help Center

 
Marco Ricchezza
Marco Ricchezza
User

Orizzontale codice html  it

Auteur : Marco Ricchezza
Visité 714, Followers 1, Partagé 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>

Posté le
6 RéPONSES
 ‪ 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...

.

Lire plus
Posté le 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

Lire plus
Posté le de Giorgio C.
Marco Ricchezza
Marco Ricchezza
User
Auteur

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

Lire plus
Posté le de Marco Ricchezza
Giorgio C.
Giorgio C.
User

Il ritorno a capo é nella funzione endChildren della classe TableRows

Lire plus
Posté le de Giorgio C.
Marco Ricchezza
Marco Ricchezza
User
Auteur

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

Lire plus
Posté le 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

Lire plus
Posté le de Giorgio C.