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

    [PHP] un po' di domande da neofita

    ciao a tutti,
    scusate la stupidità delle domande ma sono nuova al php.
    sto facendo un sito php/mysql utilizzando dreamweaver cs3.

    ho una pagina composta così:
    -due menu select con i valori che vengono caricati da due diverse tabelle inseriti nello stesso form con tasto invia.
    -una tabella creata dinamicamente basata su una query.

    alla prima apertura della pagina vengono visualizzati tutti i valori della query.
    qunado poi seleziono uno dei due menu e premo il tasto invio mi rimanda alla stessa pagina e filtra la query in base ai valori selezionati.

    semplice, no?

    le mie domande sono queste:
    -come faccio a far si che, quando carico la pagina filtrata, nelle due select rimangano i valori selezionati precedentemente e non il primo valore di default?

    -vorrei che al click dell'header di una colonna della mia tabella i dati venissero ordinati per la colonna selezionata in modo crescente e se clicko nuovamente in maniera decrescente. come si fa (mantenendo sempre i dati filtrati)?

    per il momento è tutto...sicuramente andando avanti con il sito seguiranno nuovi problemi

    grazie

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Per il valore della select sicuramente avrai nella pagina in get o post l'option selezionata ad esempio MILANO (select con lista città)

    Nella select stessa ci sara' un ciclo che popola le option.

    A quel punto nelle option: <option value="MILANO" <?php if($valore_cilco == $_POST['name_della_select']){ echo 'selected'; } ?> >

    Per la seconda domanda:

    Al click della colonna dovrai eseguire lo stesso submit che fa eseguire la query aggiungendo come parametro il valore voluto per la colonna(penso che in javascript sarebbe piu' comodo impostare i valori)

  3. #3
    -come faccio a far si che, quando carico la pagina filtrata, nelle due select rimangano i valori selezionati precedentemente e non il primo valore di default?

    io creo una semplcie function come la seguente:

    Codice PHP:
    function Selected($val1$val2) {
      if (
    trim($val1)==trim($val2))
        return 
    " selected=\"selected\"";
      else
        return 
    NULL;

    quando ricarichi la pagina per evidenziare il valore dels elect voluto faccio così

    Codice PHP:
    $val $_POST['select1'];
    $conn mysql_connect('host''user''pass');
    $db mysql_sleect_db('db');
    $result mysql_query($sql);
    echo 
    "<select name=\"xx\" size=\"1\">";
    while (
    $row=mysql_fetch_assoc($result)) {
       echo 
    "<option value=\"".$row['valore']."\"".Selected($row['valore'], $val).">".$row['valore']."</option>";
    }
    echo 
    "</select>"
    -vorrei che al click dell'header di una colonna della mia tabella i dati venissero ordinati per la colonna selezionata in modo crescente e se clicko nuovamente in maniera decrescente. come si fa (mantenendo sempre i dati filtrati)?

    Codice PHP:
    <tr><td onclick="location.href='me_stessa.php?opt=2">...</td></tr
    quando ricarichi la pagina controlla il parametro passato; in questo caso se è = a 2 (esempio) allora sai ched evi rieseguire la query ordinando per un certo valore.

  4. #4
    scusate ma non mi è chiaro
    potete farmi un esempio esplicito utilizzando la mia select?

    questa è una delle due select:

    <select name="IDNazione" id="IDNazione">
    <option value="IDNazione">Seleziona Tutto</option>
    <?php
    do {
    ?>
    <option value="<?php echo $row_Nazione['IDNazione']?>"><?php echo $row_Nazione['Nazione']?></option>
    <?php
    } while ($row_Nazione = mysql_fetch_assoc($Nazione));
    $rows = mysql_num_rows($Nazione);
    if($rows > 0) {
    mysql_data_seek($Nazione, 0);
    $row_Nazione = mysql_fetch_assoc($Nazione);
    }
    ?>
    </select>

    per il momento di default ogni volta che carico la pagina viene visualizzato "Seleziona Tutto"
    quello che voglio io è che se scelgo nazione Italia e premo invio venga visualizzato nella select della stessa pagina, ricaricata, la nazione Italia

    esempio pratico di quello che voglio:

    http://www.hitchhikers.org/index.cgi...enddepmonth=10

    se nella select "smoking" scelgo "no smoking rides only" e poi premo "GO!" si caricherà la stessa pagina ma la scelta fatta nella select rimarrà selezionata.

  5. #5
    -vorrei che al click dell'header di una colonna della mia tabella i dati venissero ordinati per la colonna selezionata in modo crescente e se clicko nuovamente in maniera decrescente. come si fa (mantenendo sempre i dati filtrati)?

    Codice PHP:
    <tr><td onclick="location.href='me_stessa.php?opt=2">...</td></tr
    quando ricarichi la pagina controlla il parametro passato; in questo caso se è = a 2 (esempio) allora sai ched evi rieseguire la query ordinando per un certo valore.
    ho risolto il problema della select ma non questo...
    mettiamo che io abbia già filtrato la pagina mettendo idnazione=1
    la stringa dell'url sarà me_stessa.php?idnazione=1
    ora voglio ordinare la mia tabella in base al tipo... in base a quello che dici tu dovrei passare una stringa come questa:
    Codice PHP:
    <tr><td onclick="location.href='me_stessa.php?sort=tipo">...</td></tr
    ma così facendo mi torna la tabella ordinata, sì, per il tipo ma senza il filtro idnazione=1 che avevo messo prima...
    spero di essere stata chiara.
    come si può fare per concatenare all'url corrente il mio ordinamento?

    grazie

  6. #6
    nessuno??? AIUTO!!!!!!!

  7. #7
    non posso credere che non ci sia nessuno in grado di aiutarmi... VI PREGO!

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    43
    non so se ho capito bene ma prova cosi:



    Codice PHP:
    <select name="IDNazione" id="IDNazione">
    <option value="IDNazione">Seleziona Tutto</option>
    <?php
    do {
    ?>
    <option value="<?php echo $row_Nazione['IDNazione']?><?php if($row_Nazione['IDNazione']==$_POST['IDNazione']){ echo 'selected'; }?> ><?php echo $row_Nazione['Nazione']?></option>
    <?php
    } while ($row_Nazione mysql_fetch_assoc($Nazione));
    $rows mysql_num_rows($Nazione);
    if(
    $rows 0) {
    mysql_data_seek($Nazione0);
    $row_Nazione mysql_fetch_assoc($Nazione);
    }
    ?>
    </select>

  9. #9
    il problema della select l'ho risolto...
    è quello dell'ordinamento in base al click sull'header che ancora non sono riuscita a fare.
    ciao

  10. #10
    Per il problema dell'ordinamento ti devi memorizzare l'ordinamento attuale.

    Quindi devi costruire il tuo link dinamicamente memorizzando sia l'attuale filtro scelto che il tipo di ordinamento.
    Administrator of NAMDesign.Net

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.