- Home
- Categorie
- Coding e Sistemistica
- PHP
- Tag select e database
-
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.
-
Ah, la pagina allora è richiamata dentro un'altra.
Beh allora come action devi richiamare la pagina che include visualizza_socio.php.
-
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.
-
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?
-
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.
-
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.
-
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']; ?>
-
<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>€". $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); } ?>
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
-
Intendevo così:
[PHP]<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">[/PHP]
-
<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>€". $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); } ?>
Avevo sbagliato a scrivere, ma come ti dicevo, non va
mi si carica sempre a parte
ciao
-
Torniamo alla domanda di prima allora:
Ma il div centrale te lo carica tramite POST? O tramite GET?
-
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
-
errata corrige
document.getElementById("col-contenuti").innerHTML = "";
-
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ì.
-
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.
-
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.
-
Ho postato in scripting lato client in questo modo:
tag select e database Ciao a tutti, premetto che ho postato la stessa domanda nella sezione php e mysql e dopo che mi hanno gentilmente risposto ho pensato che forse questa è la sezione più giusta. Avrei bisogno del vostro aiuto: ho una pagina 'index.php' costruita con layout tre colonne + header e footer. nel div centrale 'col-contenuti' carico una pagina 'visualizza_socio.php' che contiene un tag select 'cerca-socio'. Questa tag viene popolato da cognomi presenti nel db tabella 'elenco_soci'. Vorrei ottenere, sulla base della scelta effettuata, nella stessa pagina, direttamente sotto il tag select, alcunii campi reletivi al cognome scelto nella select. Ho provato in vari modi e mi sono accorto che non riesco ad assegnare ad una variabile il cognome scelto nel tag select. Come posso ovviare? Grazie
credi che vada bene?
Comunque ancora grazie per l'aiuto, ciao
-
Si va bene, ti ho messo il link a questa discussione se magari servono maggiori dettagli.
Siam sempre quì comunque se servirà svilupparlo senza script.
-
ok grazie.
-
Ciao, volevo comunicarti che ho risolto con ajax.
Grazie di tutto e alla prossima.