- Home
- Categorie
- Coding e Sistemistica
- PHP
- Selezionare/Deselezionare le colonne da visualizzare
-
Selezionare/Deselezionare le colonne da visualizzare
Ciao a tutti!
Ho una pagina php che preleva dal db mysql dei dati e me li mette in una tabella.
Questo è il codice:... <?php //include database connection include 'libs/db_connect.php'; //select all data $query = "SELECT id, marchiocommerciale, ragionesociale, sedelegale, indirizzo, cap, citta, prov, nazione, sedeoperativa, referente, tel, fax, email, website, pec, codfisc, piva, note, data FROM anagrafica"; $stmt = $con->prepare( $query ); $stmt->execute(); //this is how to get number of rows returned $num = $stmt->rowCount(); //check if more than 0 record found if($num>0){ //start table echo "<table border='1'>"; //creating our table heading echo "<tr>"; echo "<th>marchiocommerciale</th>"; echo "<th>ragionesociale</th>"; echo "<th>sedelegale</th>"; echo "<th>indirizzo</th>"; echo "<th>cap</th>"; echo "<th>citta</th>"; echo "<th>prov</th>"; echo "<th>nazione</th>"; echo "<th>sedeoperativa</th>"; echo "<th>referente</th>"; echo "<th>tel</th>"; echo "<th>fax</th>"; echo "<th>email</th>"; echo "<th>website</th>"; echo "<th>pec</th>"; echo "<th>codfisc</th>"; echo "<th>piva</th>"; echo "<th>note</th>"; echo "<th>data</th>"; echo "</tr>"; while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){ //extract row //this will make $row['firstname'] to //just $firstname only extract($row); //creating new table row per record echo "<tr>"; echo "<td>{$marchiocommerciale}</td>"; echo "<td>{$ragionesociale}</td>"; echo "<td>{$sedelegale}</td>"; echo "<td>{$indirizzo}</td>"; echo "<td>{$cap}</td>"; echo "<td>{$citta}</td>"; echo "<td>{$prov}</td>"; echo "<td>{$nazione}</td>"; echo "<td>{$sedeoperativa}</td>"; echo "<td>{$referente}</td>"; echo "<td>{$tel}</td>"; echo "<td>{$fax}</td>"; echo "<td>{$email}</td>"; echo "<td>{$website}</td>"; echo "<td>{$pec}</td>"; echo "<td>{$codfisc}</td>"; echo "<td>{$piva}</td>"; echo "<td>{$note}</td>"; echo "<td>{$data}</td>"; echo "<td>"; //we will use this links on next part of this post echo "<a href='edit.php?id={$id}'>Edit</a>"; echo " / "; //we will use this links on next part of this post echo "<a href='#' onclick='delete_user( {$id} );'>Delete</a>"; echo "</td>"; echo "</tr>"; } //end table echo "</table>"; } //if no records found else{ echo "No records found."; } ?> ...
Vorrei sapere se fosse possibile visualizzare/nascondere delle colonne in "Real Time". Riesco a farlo in php oppure dovrei implementare del codice css/jquery?
Grazie a chi mi risponderà!
-
Se per real time intendi farlo senza ricaricare la pagina devi farlo con dei controlli lato client quindi Javascript/Jquery.
Se puoi ricaricare la pagina va bene anche Php
-
Puoi assegnare ad ogni colonna (intestazione + contenuti) una classe con un numero progressivo. E quindi con js o jquery nascondere o mostrare le colonne usando qualche bottone o quel che preferisci, con onclick che riceve il # della colonna e la funzione che seleziona tutti gli elementi con quella classe e gli da un display: none.
-
Corretto,
Se non vuoi ricaricare la pagina è necessario utilizzare uno script lato client (per intendersi che gira sul Pc dell'utente che visualizza la pagina). Php è un linguaggio Server Side, pertanto a meno che non si faccia un refresh della pagina non potresti vedere alcuna variazione. Puoi usare sicuramente javascript, con poche semplici righe, richiamabili ad esempio al click su un pulsante laterale ad ogni singola voce che vuoi oscurare, puoi ottenere l'effetto desiderato. Devi giocare sulle proprietà del CSS della pagina, inserendo un display="block" ed un id="valore1"... id="valoreN" sullo style del tag che vuoi oscurare. Al click sul relativo bottone puoi lanciare una funzione js che prende l'ID del campo da oscurare con un getelementbyid("valore1") e che ne trasforma la proprietà display in NONE...
qualcosa del genere:
function oscuramento(id) {
document.getelementbyid(id).style.display = "none";
}mentre sul tasto che deve oscurare il campo devi inserire onclick="oscuramento('valore1');"
Spero di esserti stato di aiuto, mi auguro di non aver fatto errori di battitura sul codice,
ciao e buon lavoro