Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    157

    filtra colonne in db e stampa pdf

    Salve signori , essendo ignorante in materia, provo a scrivere in questo forum in cerca di un anima pia che possa aiutarmi a risolvere il problema..

    Ho creato un form dove chiedo all'utente di selezionare (tramite checkbox) quali colonne intende selezionare dal db .

    codice HTML:
    <b>Scegli quali colonne estrarre:</b>
    
    <form action="" method="post">
    <input type="checkbox" name="scelta[]" value="codice_fiscale"  id="opt1">
    <input type="checkbox" name="scelta[]" value="cognome"  id="opt2">
    <input type="checkbox" name="scelta[]" value="nome"  id="opt3">
    <input type="checkbox" name="scelta[]" value="num_tel"  id="opt4">
    <input type="checkbox" name="scelta[]" value="sostituto"  id="opt5">
    <input type="checkbox" name="scelta[]" value="cf_sostituto"  id="opt6">
    <input type="checkbox" name="scelta[]" value="tipo" id="opt7">
    
    <input type="submit" value="Estrai" name="Submit1" class="b_aggiungi">
    </form>


    la struttura del db è la seguente:


    l'intento è il seguente: quando l'utente seleziona le tabelle che vuole estrarre e clicca sul pulsante "estrai" , vado a selezionare quelle colonne dal db e faccio partire il download di un file PDF che contiene la tabella e i dati delle sole colonne selezionate..

    Codice PHP:
    <?php

    $name 
    $_POST['scelta']; // array

    if (is_array($name)) {
        
    $sql "SELECT ";
        foreach(
    $name AS $value) {
            
    $sql .= "{$value}, ";
        }
        
    $sql  substr($sql0, -2);
        
    $sql .= " FROM 730_2023";

    }   


    ?>
    questo piccolo pezzettino di codice mostra come sto provando a fare questa selezione di colonne..non sono riuscito ad andare oltre.. nè a estrarre queste colonne, tantomeno a far partire il download del pdf con la tabella...ho provato a utilizzare la libreria pdfp e altre soluzioni..nulla sono negato.. qualcuno potrebbe darmi una mano

  2. #2
    alla fine del ciclo che hai postato, cosa vale la variabile $sql?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    157
    Codice PHP:
    <?php

    $name 
    $_POST['scelta']; // array

    $my_values implode(","$name);
    $sql "SELECT $my_values from 730_2023";
    $result mysqli_query($conn$sql);   

    echo 
    "$sql <br><br>"//per controllare che la query sia corretta

    if (mysqli_num_rows($result)>0){
        
    while(
    $row mysqli_fetch_array($result)) {
        
        echo 
    "<table><tr>";

        echo 
             
    $row[0]."
           "
    .$row[1]."
           "
    .$row[2]."
           "
    .$row[3]."
           "
    .$row[4]."
           "
    .$row[5]."
           "
    .$row[6];  
        
        echo 
    "</tr></table>";
    }    
        
        
    }
    ?>
    TABELLA DATI


    SCELTA COLONNE DA ESTRARRE:


    RISULTATO:



    ho cambiato un pò il codice e mi sono avvicinato penso alla soluzione.. il problema è adesso come metto quei row[] dentro delle celle <td></td> e sopratutto come inserisco anche il nome della colonna estratta che provavo a mettere dentro i <th></th> ?

    ho provato ma sto impazzendo con apici e doppi apici

    l'intento è ottenere questo:
    Ultima modifica di Punix; 01-08-2025 a 21:19

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    157
    form_checkbox.php

    Codice PHP:
    <form method="post" action="risultato_filtro.php">
      <?php

        $colonne 
    = array("codice_fiscale""cognome""nome""num_tel""sostituto""cf_sostituto""tipo");
        foreach (
    $colonne as $colonna) {
            echo 
    "<label><input type='checkbox' name='filtri[]' value='$colonna'>$colonna</label>";
        }
        
    ?>
        <center><input type="submit" value="Filtra" class="b_aggiungi"></center>
    </form>
    risultato_filtro.php
    Codice PHP:
    <?php


    if ($_SERVER["REQUEST_METHOD"] == "POST") {
     
        
        
    $filtri = isset($_POST['filtri']) ? $_POST['filtri'] : array();

        if (!empty(
    $filtri)) {
            
    $condizioni = array();
            foreach (
    $filtri as $filtro) {
                
    $condizioni[] = "$filtro IS NOT NULL"// Esempio: filtra le colonne non nulle
            
    }
            
    $condizioni_string implode(" AND "$condizioni);

            
    // Connessione al database (sostituisci con le tue credenziali)
            
    $conn = new mysqli("localhost""xxx""""xxx");

            if (
    $conn->connect_error) {
                die(
    "Connessione fallita: " $conn->connect_error);
            }

            
    $sql "SELECT * FROM db";
            if (!empty(
    $condizioni_string)) {
                
    $sql .= " WHERE " $condizioni_string;
            }

            
    $result $conn->query($sql);

            if (
    $result->num_rows 0) {
                
    // DEVO STAMPARE QUESTA TABELLA ESTRATTA IN UN FILE PDF 
            
                 
    echo "<table>";
                
    // Output intestazioni
                
    echo "<tr>";
                foreach(
    $filtri as $filtro) {
                    echo 
    "<th>$filtro</th>";
                }
                echo 
    "</tr>";
                
    // Output dati
                
    while($row $result->fetch_assoc()) {
                    echo 
    "<tr>";
                    foreach(
    $filtri as $filtro) {
                        echo 
    "<td>" $row[$filtro] . "</td>";
                    }
                    echo 
    "</tr>";
                }
                echo 
    "</table>";
        
    // FINE CONTENUTO DA STAMPARE

        
            
    } else {
                echo 
    "La tabella risulta VUOTA, nessun dato è stato trovato.";
            }
            
    $conn->close();
        } else {
            echo 
    "Nessun filtro selezionato.";
        }
    }
    ?>
    Alla fine sono riuscito ..adesso ho la necessità di convertire in un file pdf la tabella che ho selezionato dal db... qualcuno può darmi un aiutino?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.