WebSite X5Help Center

 
Marco Ricchezza
Marco Ricchezza
User

Orizzontale codice html  it

Autore: Marco Ricchezza
Visite 615, Followers 1, Condiviso 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>

Postato il
6 RISPOSTE
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Utente del mese PT

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

.

Leggi di più
Postato il da  ‪ 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

Leggi di più
Postato il da Giorgio C.
Marco Ricchezza
Marco Ricchezza
User
Autore

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

Leggi di più
Postato il da Marco Ricchezza
Giorgio C.
Giorgio C.
User

Il ritorno a capo é nella funzione endChildren della classe TableRows

Leggi di più
Postato il da Giorgio C.
Marco Ricchezza
Marco Ricchezza
User
Autore

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

Leggi di più
Postato il da 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

Leggi di più
Postato il da Giorgio C.