• Consiglio Direttivo

    Prova così:
    [php]<br><br>
    <div id="visualizza_socio" align="center">
    VISUALIZZA SOCIO
    <br><br>
    <form method="POST" action="visualizza_socio.php">
    Scegliere un cognome dalla lista:
    <select id="s_cognome" name="s_cognome">
    <?php
    require_once "./inc/config.php";
    $db=mysql_connect($db_host,$db_user,$db_pass);
    if ($db==false)
    die('Errore nella connessione. Verificare i parametri nel file
    config.php');
    mysql_select_db($db_name, $db)
    or die('Errore nella selezione del database. Verificare i parametri
    nel file config.php');
    // costruzione query
    $query="SELECT * FROM elenco_soci ORDER BY cognome";
    $risultato=mysql_query($query,$db);
    while($riga = mysql_fetch_array($risultato)){
    $s_cognome=$riga['cognome'];
    echo "<option value = $s_cognome > $s_cognome </option>"; // mancava il tag di chiusura
    }
    ?>
    </select>
    <input name="submit" type="submit" value="Invio">
    </form>
    </div>

    <?php
    if($_POST["s_cognome"]){
    require_once "./inc/config.php";
    $cognome=$_POST['s_cognome'];

    // connessione al database
    $db=mysql_connect($db_host,$db_user,$db_pass);
    if ($db==false)
    die("Errore nella connessione. Verificare i parametri nel file
    ./inc/config.php");

    // seleziona database
    mysql_select_db($db_name, $db)
    or die("Errore nella selezione del database. Verificare i parametri
    nel file ./inc/config.php");

    // costruzione query
    $query="SELECT * FROM elenco_soci WHERE cognome = '$cognome'";

    // risultato query
    $risultato=mysql_query($query,$db);

    echo "<div id='cerca_socio'>
    <table width='60%' align='center'>
    <tr><th colspan='7' align='left'>Dati Anagrafici</th></tr>
    <tr>
    <th align='left'>id</th>
    <th align='left'>Data Iscrizione</th>
    <th align='left'>Data Nascita</th>
    <th align='left'>Cognome</th>
    <th align='left'>Nome</th>
    <th align='left'>Tel. Abitazione</th>
    <th align='left'>Tel. Cellulare</th>
    </tr>
    ";
    // Riga contenente i dati
    while($riga = mysql_fetch_array($risultato)){
    $id=$riga['id_socio'];
    $data_iscrizione=date('d/m/Y', $riga['data_iscrizione']);
    $data_nascita=date('d/m/Y', $riga['data_nascita']);
    echo "
    <tr>
    <td>".$riga['id_socio']."</td>
    <td>".$data_iscrizione."</td>
    <td>".$data_nascita."</td>
    <td>".$riga['cognome']."</td>
    <td>".$riga['nome']."</td>
    <td>".$riga['telefono_abitazione']."</td>
    <td>".$riga['telefono_cellulare']."</td>
    </tr>
    </table>
    ";
    }

    // connessione al database
    $db=mysql_connect($db_host,$db_user,$db_pass);
    if ($db==false)
    die("Errore nella connessione. Verificare i parametri nel file
    ./inc/config.php");

    // seleziona database
    mysql_select_db($db_name, $db)
    or die("Errore nella selezione del database. Verificare i parametri
    nel file ./inc/config.php");

    // costruzione query
    $query="SELECT * FROM pagamenti WHERE id_socio = '$id' ORDER BY data DESC";

    // risultato query
    $risultato=mysql_query($query,$db);

    echo "<br><br>
    <table width='60%' align='center'>
    <tr><th colspan='5' align='left'>Pagamenti</th></tr>
    <tr>
    <th align='left'>id</th>
    <th align='left'>Data Versamento</th>
    <th align='left'>Causale</th>
    <th align='left'>Descrizione</th>
    <th align='left'>Importo</th>
    </tr>
    ";
    // Riga contenente i dati
    $totale=0;
    while($riga = mysql_fetch_array($risultato)){
    $id_socio=$riga['id_socio'];
    $importo=$riga['importo'];
    $totale=$totale+$importo;
    echo "
    <tr>
    <td>".$riga['id_socio']."</td>
    <td>".$riga['data']."</td>
    <td>".$riga['causale']."</td>
    <td>".$riga['descrizione']."</td>
    <td>€". $riga['importo']."</td>
    </tr>
    ";
    }
    echo"
    <tr><td> </td></tr>
    <tr><td> </td></tr>
    <tr>
    <td colspan='5'><b>Totale Versato: € ".$totale.",00</b></td>
    </tr>
    </table><br></div>";
    mysql_close($db);
    }
    ?>[/php]

    @francodace said:

    se metto la stesso nome in action mi apre una nuova pagina, se metto i doppi apici torna all'index, ma credo che prima faccia qualcosaltro, solo che è così rapido che non riesco a vedere cosa fa prima di andare all'index.
    Ma la pagina dove c'è questo script si chiama visualizza_socio.php?


  • User

    Ho fatto copia e incolla, mi fa lo stesso difetto:
    se lascio in action 'visualizza_socio.php' mi fa visualizzare regolarmente i dati, ma in una nuova pagina (che poi è la stessa);
    se invece nell'action metto i doppi apici va nella index.
    Prima di andare nella index ho l'mpressione che faccia qualcosa per un brevissimo tempo, si può fermare in qualche modo per vedere cosa fa?


  • User

    Si la pagina si chiama 'visualizza_socio.php'.


  • Consiglio Direttivo

    Perdonami che intendi con "ma in una nuova pagina (che poi è la stessa)" ?
    Dici per il fatto che ricarica la pagina?


  • User

    Scusami, intendo che mentre la pagina 'visualizza_socio.php' è visualizzata in un contesto di layout a tre colonne in posizione centrale quando clicco sul pulsante invio associato alla select mi si visualizza questa stessa pagina con i dati forniti, ma fuori da questo contesto.

    Fammi sapere se non mi sono spiegato bene.
    Grazie.


  • Consiglio Direttivo

    Ah, la pagina allora è richiamata dentro un'altra. 🙂

    Beh allora come action devi richiamare la pagina che include visualizza_socio.php. 😉


  • User

    No, la pagina è richiamata dentro il div centrale del layout:
    se vuoi provare ti do l'indirizzo del sito, ci sono dei dati fittizi che servono per le prove.


  • Consiglio Direttivo

    Si ho capito, ma la pagina principale con il layout a 3 colonne e questo div centrale che richiama visualizza_socio.php, come si chiama? 🙂


  • User

    la pagina principale si chiama 'index.php'.
    Dalla colonna di sx (div id 'col-sx'), attraverso un menù carico le pagine nel div centrale (div id 'col-contenuti') e nel div in oggetto carico 'visualizza socio.php'.
    Mi si visualizza la select già popolata dai cognomi, effettuo la scelta, clicco su invia e la stessa pagina mi viene visualizzata come se fosse una nuova pagina, fuori dal contesto, bianca, ma con i dati esatti.

    ciao e grazie ancora.


  • User

    Scusa, cerco di essere più chiaro:

    la pagina principale si chiama 'index.php' ed è divisa in 3 col + heder e footer.
    Dalla colonna di sx (div id 'col-sx'), attraverso un menù, scelgo le pagina da visualizzare che vengono caricate nel div centrale (div id 'col-contenuti').
    In questo caso, nel div in oggetto, carico la pagina 'visualizza socio.php' e vedo la select già popolata dai cognomi.
    Effettuo la scelta, clicco su invia e la stessa pagina 'visualizza.php' mi viene visualizzata fuori da questo contesto, come se fosse una nuova pagina, bianca, ma con i dati esatti, relativi alla scelta della select.

    Io invece vorrei che i dati mi comparissero sotto il tag select, ma nello stesso contesto.

    ciao e grazie ancora.


  • Consiglio Direttivo

    L'url allora è:
    vvv.domain.ext/index.php?qualchecosa=qualcos'altro

    :)?

    Oppure fai tutto tramite POST? 🙂

    EDIT: proviamo a tagliare la testa al toro. Come action metti <? echo $_SERVER['PHP_SELF']; ?>
    😉


  • User
    
    <br><br>
    <div id="visualizza_socio" align="center">
    VISUALIZZA SOCIO
    <br><br>
    <form method="POST" <? echo $_SERVER['PHP_SELF']; ?>>
    Scegliere un cognome dalla lista:
    <select id="s_cognome" name="s_cognome">
    <?php
    require_once "./inc/config.php";
    $db=mysql_connect($db_host,$db_user,$db_pass);
    if ($db==false)
    die('Errore nella connessione. Verificare i parametri nel file
    config.php');
    mysql_select_db($db_name, $db)
    or die('Errore nella selezione del database. Verificare i parametri
    nel file config.php');
    // costruzione query
    $query="SELECT * FROM `elenco_soci` ORDER BY `cognome`";
    $risultato=mysql_query($query,$db);
    while($riga = mysql_fetch_array($risultato)){
    $s_cognome=$riga['cognome'];
    echo "<option value = $s_cognome > $s_cognome </option>"; // mancava il tag di chiusura
    }
    ?>
    </select>
    <input name="submit" type="submit" value="Invio">
    </form>
    </div>
    
    <?php
    if($_POST["s_cognome"]){
    require_once "./inc/config.php";
    $cognome=$_POST['s_cognome'];
    
    // connessione al database
    $db=mysql_connect($db_host,$db_user,$db_pass);
    if ($db==false)
    die("Errore nella connessione. Verificare i parametri nel file
    ./inc/config.php");
    
    // seleziona database
    mysql_select_db($db_name, $db)
    or die("Errore nella selezione del database. Verificare i parametri
    nel file ./inc/config.php");
    
    // costruzione query
    $query="SELECT * FROM elenco_soci WHERE cognome = '$cognome'";
    
    // risultato query
    $risultato=mysql_query($query,$db);
    
    echo "<div id='cerca_socio'>
    <table width='60%' align='center'>
    <tr><th colspan='7' align='left'>Dati Anagrafici</th></tr>
    <tr>
    <th align='left'>id</th>
    <th align='left'>Data Iscrizione</th>
    <th align='left'>Data Nascita</th>
    <th align='left'>Cognome</th>
    <th align='left'>Nome</th>
    <th align='left'>Tel. Abitazione</th>
    <th align='left'>Tel. Cellulare</th>
    </tr>
    ";
    // Riga contenente i dati
    while($riga = mysql_fetch_array($risultato)){
    $id=$riga['id_socio'];
    $data_iscrizione=date('d/m/Y', $riga['data_iscrizione']);
    $data_nascita=date('d/m/Y', $riga['data_nascita']);
    echo "
    <tr>
    <td>".$riga['id_socio']."</td>
    <td>".$data_iscrizione."</td>
    <td>".$data_nascita."</td>
    <td>".$riga['cognome']."</td>
    <td>".$riga['nome']."</td>
    <td>".$riga['telefono_abitazione']."</td>
    <td>".$riga['telefono_cellulare']."</td>
    </tr>
    </table>
    ";
    }
    
    // connessione al database
    $db=mysql_connect($db_host,$db_user,$db_pass);
    if ($db==false)
    die("Errore nella connessione. Verificare i parametri nel file
    ./inc/config.php");
    
    // seleziona database
    mysql_select_db($db_name, $db)
    or die("Errore nella selezione del database. Verificare i parametri
    nel file ./inc/config.php");
    
    // costruzione query
    $query="SELECT * FROM pagamenti WHERE id_socio = '$id' ORDER BY data DESC";
    
    // risultato query
    $risultato=mysql_query($query,$db);
    
    echo "<br><br>
    <table width='60%' align='center'>
    <tr><th colspan='5' align='left'>Pagamenti</th></tr>
    <tr>
    <th align='left'>id</th>
    <th align='left'>Data Versamento</th>
    <th align='left'>Causale</th>
    <th align='left'>Descrizione</th>
    <th align='left'>Importo</th>
    </tr>
    ";
    // Riga contenente i dati
    $totale=0;
    while($riga = mysql_fetch_array($risultato)){
    $id_socio=$riga['id_socio'];
    $importo=$riga['importo'];
    $totale=$totale+$importo;
    echo "
    <tr>
    <td>".$riga['id_socio']."</td>
    <td>".$riga['data']."</td>
    <td>".$riga['causale']."</td>
    <td>".$riga['descrizione']."</td>
    <td>&euro;". $riga['importo']."</td>
    </tr>
    ";
    }
    echo"
    <tr><td>&nbsp;</td></tr>
    <tr><td>&nbsp;</td></tr>
    <tr>
    <td colspan='5'><b>Totale Versato: &euro; ".$totale.",00</b></td>
    </tr>
    </table><br></div>";
    mysql_close($db);
    }
    ?>
    
    

    non va

    mi si carica sempre a parte

    francodace.altervista.org
    se vuoi provare, fai l'iscrizione ed io ti do i privilegi per accedere alla pagina in esame.

    ciao


  • Consiglio Direttivo

    Intendevo così:

    [PHP]<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">[/PHP]
    🙂


  • User
    
    <br><br>
    <div id="visualizza_socio" align="center">
    VISUALIZZA SOCIO
    <br><br>
    <form method="post" action="<?  echo $_SERVER['PHP_SELF']; ?>">
    Scegliere un cognome dalla lista:
    <select id="s_cognome" name="s_cognome">
    <?php
    require_once "./inc/config.php";
    $db=mysql_connect($db_host,$db_user,$db_pass);
    if ($db==false)
    die('Errore nella connessione. Verificare i parametri nel file
    config.php');
    mysql_select_db($db_name, $db)
    or die('Errore nella selezione del database. Verificare i parametri
    nel file config.php');
    // costruzione query
    $query="SELECT * FROM `elenco_soci` ORDER BY `cognome`";
    $risultato=mysql_query($query,$db);
    while($riga = mysql_fetch_array($risultato)){
    $s_cognome=$riga['cognome'];
    echo "<option value = $s_cognome > $s_cognome </option>"; // mancava il tag di chiusura
    }
    ?>
    </select>
    <input name="submit" type="submit" value="Invio">
    </form>
    </div>
    
    <?php
    if($_POST["s_cognome"]){
    require_once "./inc/config.php";
    $cognome=$_POST['s_cognome'];
    
    // connessione al database
    $db=mysql_connect($db_host,$db_user,$db_pass);
    if ($db==false)
    die("Errore nella connessione. Verificare i parametri nel file
    ./inc/config.php");
    
    // seleziona database
    mysql_select_db($db_name, $db)
    or die("Errore nella selezione del database. Verificare i parametri
    nel file ./inc/config.php");
    
    // costruzione query
    $query="SELECT * FROM elenco_soci WHERE cognome = '$cognome'";
    
    // risultato query
    $risultato=mysql_query($query,$db);
    
    echo "<div id='cerca_socio'>
    <table width='60%' align='center'>
    <tr><th colspan='7' align='left'>Dati Anagrafici</th></tr>
    <tr>
    <th align='left'>id</th>
    <th align='left'>Data Iscrizione</th>
    <th align='left'>Data Nascita</th>
    <th align='left'>Cognome</th>
    <th align='left'>Nome</th>
    <th align='left'>Tel. Abitazione</th>
    <th align='left'>Tel. Cellulare</th>
    </tr>
    ";
    // Riga contenente i dati
    while($riga = mysql_fetch_array($risultato)){
    $id=$riga['id_socio'];
    $data_iscrizione=date('d/m/Y', $riga['data_iscrizione']);
    $data_nascita=date('d/m/Y', $riga['data_nascita']);
    echo "
    <tr>
    <td>".$riga['id_socio']."</td>
    <td>".$data_iscrizione."</td>
    <td>".$data_nascita."</td>
    <td>".$riga['cognome']."</td>
    <td>".$riga['nome']."</td>
    <td>".$riga['telefono_abitazione']."</td>
    <td>".$riga['telefono_cellulare']."</td>
    </tr>
    </table>
    ";
    }
    
    // connessione al database
    $db=mysql_connect($db_host,$db_user,$db_pass);
    if ($db==false)
    die("Errore nella connessione. Verificare i parametri nel file
    ./inc/config.php");
    
    // seleziona database
    mysql_select_db($db_name, $db)
    or die("Errore nella selezione del database. Verificare i parametri
    nel file ./inc/config.php");
    
    // costruzione query
    $query="SELECT * FROM pagamenti WHERE id_socio = '$id' ORDER BY data DESC";
    
    // risultato query
    $risultato=mysql_query($query,$db);
    
    echo "<br><br>
    <table width='60%' align='center'>
    <tr><th colspan='5' align='left'>Pagamenti</th></tr>
    <tr>
    <th align='left'>id</th>
    <th align='left'>Data Versamento</th>
    <th align='left'>Causale</th>
    <th align='left'>Descrizione</th>
    <th align='left'>Importo</th>
    </tr>
    ";
    // Riga contenente i dati
    $totale=0;
    while($riga = mysql_fetch_array($risultato)){
    $id_socio=$riga['id_socio'];
    $importo=$riga['importo'];
    $totale=$totale+$importo;
    echo "
    <tr>
    <td>".$riga['id_socio']."</td>
    <td>".$riga['data']."</td>
    <td>".$riga['causale']."</td>
    <td>".$riga['descrizione']."</td>
    <td>&euro;". $riga['importo']."</td>
    </tr>
    ";
    }
    echo"
    <tr><td>&nbsp;</td></tr>
    <tr><td>&nbsp;</td></tr>
    <tr>
    <td colspan='5'><b>Totale Versato: &euro; ".$totale.",00</b></td>
    </tr>
    </table><br></div>";
    mysql_close($db);
    }
    ?>
    
    

    Avevo sbagliato a scrivere, ma come ti dicevo, non va

    mi si carica sempre a parte

    ciao


  • Consiglio Direttivo

    Torniamo alla domanda di prima allora:
    Ma il div centrale te lo carica tramite POST? O tramite GET?


  • User

    Scusa, ma esiste un modo per inviare direttamente alla query il contenuto della select al cambiare della voce selezionata, anzichè inviare tramite post?

    Per quanto riguarda il div centrale viene caricato da questo menù:

    
    <?php
    if ($_SESSION['actived'] ==1){
    	if($_SESSION['stato'] > 3 && $_SESSION['stato'] < 7){
    
    	?>
    <div id="menu_socio" class="style_linea">
    	<h5>Iscrizione Socio</h5>
    	<ul>
    		<li><a href="#" onclick="Richiesta('inserisci_socio.php')">Inserisci Socio</a></li>
    		<li><a href="#" onclick="Richiesta('visualizza_socio.php')">Visualizza Socio</a></li>
    		<li><a href="#" onclick="Richiesta('modifica_socio.php')">Modifica Socio</a></li>
    		<li><a href="#" onclick="Richiesta('cancella_socio.php')">Cancella Socio</a></li>		
    	</ul>
    </div>
    <? }}?>
    
    

    la funzione Richiesta() si trova in un file esterno .js:

    
    function Richiesta(Stringa){
    	//Ritorna l'URL della pagima scelta nel menu
        if (Stringa.length > 0)
        {
            var url = Stringa;
            XMLHTTP = RicavaBrowser(CambioStato);
            XMLHTTP.open("GET", url, true);
            XMLHTTP.send(null);
        }
        else
        {
            document.getElementById("col-contenuti").innerHTML = "visualizza_rosaria.php";
        } 
    }
    
    

    non è tutta farina del mio sacco, ma ho studiato come utilizzare tale funzione per inserila nelle mie pagine.
    Ciao


  • User

    errata corrige

    
    document.getElementById("col-contenuti").innerHTML = "";
    
    

  • Consiglio Direttivo

    Ah. Ecco comanda il Js. 😄

    L'url della pagina che ti visualizza quel contenuto è sempre index.php, giusto? Non hai append data (index.php?qualcosa=qualcosaltro), giusto? 🙂

    Scusa, ma esiste un modo per inviare direttamente alla query il contenuto della select al cambiare della voce selezionata, anzichè inviare tramite post?
    Certo che si puo', ma non con PHP, ti servirà un Javascript o AJAX. Ma questa non è la sezione adatta se intendi farlo così. 😄


  • User

    1 giusto;
    2 l'importante è risolvere il problema, con qualsiasi metodo, se poi non è possibile in questo mi puoi indicare dove posso trovare la soluzione?
    Comunque grazie di tutto, sei stato molto gentile.


  • Consiglio Direttivo

    Allora se vuoi affrontarlo con PHP ti basta inserire nel form un input hidden con value visualizza_socio.php che poi ti recuperi e passi come caricamento contenuto. Ma a questo punto ti si ricaricherà la pagina....se lo vuoi affrontare così come hai iniziato tramite Js puoi dare un'occhiata in scripting lato client. Se non trovi l'argomento specifico puoi aprire un thread apposito. 😉

    Ti consiglio pero' di fare un riepilogo generale di come ti si caricano le pagine e dello script che usi per caricare il contenuto così che gli altri utenti possano darti il miglior aiuto possibile. 😉