Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    form che 'va su se stesso'

    Ciao a tutti.

    ho una pagina con un form che contiene alcune select. Il contenuto delle select viene prelevato tramite php da un server Mysql. Il problema è che selezionando un elemento dalla prima select devo in qualche modo ricaricare la pagina per cambiare la query.

    faccio un esempio : quando mi si apre la pagina, se nella prima select ci sono dei nomi di persone, nella seconda ci sono TUTTI i numeri di telefono, fax e cellulari di TUTTE quelle persone. Una volta che seleziono un nome nella prima select, nella seconda trovo SOLO i numeri relativi alla persona selezionata.

    Ho provato a scrivere
    <select name="nomi" size="1" onchange="this.form.submit()">
    ma l''onchange' non mi fa ricaricare la pagina, mi manda il 'submit' e mi fa uscire dalla pagina, è come se fossi già arrivata in fondo alla compilazione dei campi della pagina.

    Qualcuno sa dirmi come posso fare?

    Grazie ciao

  2. #2
    Metti questo Javascript in cima alla pagina dove c'è il form:
    codice:
    //funzione carica pagina da menu a tendina	
    function loadPage(list) { 
    location.href = list.options[list.selectedIndex].value
    }
    Poi nella prima select metti questo:
    codice:
    <select name="select" class="edit" onchange="loadPage(this.form.elements[0])">
    <option value="pagina.php?id=parametro">1</option>
    <option value="pagina.php?id=parametro">2</option>
    <option value="pagina.php?id=parametro">3</option>
    Pagina.php è la pagina da ricaricare e id è il parametro da passare, inoltre lo 0 tra parentesi quadra, è il posizionamento del tag select rispetto al form, 0 se è il primo elemento, 1 se è il secondo, 2 se è il terzo e cosi via.
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  3. #3
    Mi dà un errore su loadPage(list):

    Parse error: parse error, unexpected T_LIST, expecting ')' in /var/home/guercile/public_html/fidillo/ins.php on line 9

    sai mica dirmi il perchè?

    grazie ciao

  4. #4
    Verifica il link alla pagina, magari ti sei dimenticata un salto di cartella o qualcosa del genere.
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  5. #5
    Mi dispiace, ma proprio non funziona, comunque grazie per il consiglio.

    Qualche altro suggerimento?
    Grazie!

  6. #6
    Metti il codice della pagina e specifica in che riga viene restituito l'errore.
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  7. #7
    Aggiungo un pezzo di codice per darvi un'idea più chiara della situazione:

    <tr><td>Nome*</td>
    <form action="index.php?pagina=1" method="post">
    <td>

    <select name="nome" size="1" onchange="">
    <OPTION VALUE="SCEGLI">SCEGLI</OPTION>
    <OPTION VALUE="SCEGLI"></OPTION>
    <?$query1="select * from nome ";
    $res1=mysql_query($query1);
    $num1=mysql_numrows($res1);

    for($i=0;$i<$num1;$i++)
    {
    $nome_id=mysql_result($res1,$i,"prin_id");
    $nome_pers=mysql_result($res1,$i,"nome_pers");
    ?>
    <option <?if ($nome_id == $nome) echo "selected";?> value='<?echo $prin_id."'> ".$nome_pers." </option>";
    }
    ?>
    <input type='hidden' value='<? echo $nome_id; ?>' name='h_nome'>

    </select>
    </td></tr>
    <tr><td>telefoni</td>
    <form action="index.php?pagina=1" method="post">
    <td>
    <?
    if($nome=='selected')
    $query2="select * from telefoni and telefoni='h_nome'";
    else
    $query2="select * from telefoni";
    ?>

    <select name="tel" size="1">
    <OPTION VALUE="SCEGLI">SCEGLI</OPTION>
    <OPTION VALUE="SCEGLI"></OPTION>
    <?

    $res2=mysql_query($query2);
    $num2=mysql_numrows($res2);

    for($i=0;$i<$num2;$i++)
    {
    $tel_id=mysql_result($res2,$i,"tel_id");
    $telefono=mysql_result($res2,$i,"telefono");
    ?>
    <option <?if ($tel_id == $tel) echo "selected";?> value='<?echo $tel_id."'> ".$telefono." </option>";
    }
    ?>
    <input type='hidden' value='<? echo $tel_id; ?>' name='h_tel'>
    </select>
    </td></tr>

  8. #8
    la riga su cui dà errore è 'function loadPage(list)'.
    ciao

  9. #9
    Per favore, aiutatemi!
    non riesco a farlo funzionare

  10. #10
    Sinceramente in questo caos di PHP non ci capisco, però ti spiego come dovrebbe funzionare il tutto. Quando selezioni un valore dalla select, devi ricaricare la pagina passando una variabile riferita al valore prescelto. Questa variabile ti serve per agire su una select SQL che ti permette di costruire la seconda select. Purtroppo non conosco PHP e non so aiutari a livello di codice.
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

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.