Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Info default select

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    273

    Info default select

    Ho questo problema..
    Dalla pagina codice.php passo una variabile chiamata $codice (presa da database sql) con all'interno un valore numerico alla pagina codicein.php.
    All'interno della pagina codicein.php ci sono delle select con all'interno una serie di valori per ognuna.Io devo fare in modo che quel valore dentro $codice sia visualizzato di default nella select che lo contiene.
    Faccio un esempio tanto per capirci.
    Ammettiamo che dentro $codice ci sia 23.
    Dentro le 3 select nella pagina codicein.php ci sono :
    select1 (1,2,3,4,5,6,7,8,9,10)
    select2 (11,12,13,14,15,16,17,18,19,20)
    select3 (21,22,23,24,25,26,27,28,29,30)

    Ciò che voglio fare è che quando passo alla pagina codicein.php ci deve già essere la select3 con scritto 23 di default.
    Posto il codice della codicein.php

    $codice=$_GET['codice'];

    mysql_connect($host,$user,$psw) or die ('Connessione Fallita!!! ' .mysql_error());
    mysql_select_db($db,$conn) or die ('DB non selezionato ' .mysql_error());
    $sql1 = mysql_query("SELECT ruolo,nome,codice FROM calciatore Where id_squadra='$id_squadra'");
    $num=mysql_num_rows($sql1);
    while(list($ruolo, $nome) = mysql_fetch_row($sql1)) {
    $select1[$ruolo][] = "<option value=\"$nome\">$nome</option>";
    }
    for($x = 1; $x <=1; ++$x) {
    echo "<TD><font class=\"titolo\">Portiere: <select name=\"P2[]\"><option value=\"-1\">Chiedi Portiere</option>\n".implode("", $select1['P'])."</select>
    \n";
    }
    for($x = 1; $x <=1; ++$x) {
    echo "<font class=\"titolo\">Difensore: <select name=\"D2[]\"><option value=\"-1\">Chiedi Difensore</option>\n".implode("", $select1['D'])."</select>
    \n";
    }
    for($x = 1; $x <=1; ++$x) {
    echo "<font class=\"titolo\">Centrocampista: <select name=\"C2[]\"><option value=\"-1\">Chiedi Centrocampista</option>\n".implode("", $select1['C'])."</select>
    \n";
    }

    for($x = 1; $x <=1; ++$x) {
    echo "<font class=\"titolo\">Attaccante: <select name=\"A2[]\"><option value=\"-1\">Chiedi Attaccante</option>\n".implode("", $select1['A'])."</select>
    \n";
    }
    Grazie!

  2. #2
    Non ho capito molto bene ma dovresti fare in modo che lo script confronti i due valori: se corrispondono fai stampare "selected".
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    273
    No non deve fare nessun controllo ciò che voglio fare è che quando passo alla pagina codicein.php la select che contiene il valore di $codice deve essere posizionata su quel valore..

  4. #4
    Ho capito! E devi fare come ti ho detto io! Controlli i vari valori, se corrispondono all'id passato allora significa che deve essere quello selezionato e quindi fai stampare selected!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    273
    Potresti farmi un esempio???
    Thanks..

  6. #6
    Allora. Per prima crei i select dinamicamente e poi fai il controllo. Quindi fai così:

    select 1
    for ($i = 0, $i < 10, $i++)
    {
    if ($i == $codice)
    {
    echo 'selected';
    }
    }

    Questo per tutti e tre i select. Spero di essere stato chiaro. Se hai problemi posta. Ciao ciao
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    273
    Non riesco a farlo funzionare...Potresti farmi un esempio basandoti sul mio esempio sopra??
    Grazie Ancora!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    273
    Qualcuno mi aiutiii!!!!

  9. #9
    Dovrebbe essere qualcosa del genere:

    codice:
    for ($x = 1; $x <=1; ++$x)
       {
          if ($x == "$codice")
            {      
               echo "<font class=\"titolo\">Centrocampista:
                        <select name=\"C2[]\">
                          <option selected value=\"-1\">Chiedi Centrocampista</option>\n".implode("", select1['C'])."</select>
    \n";
            }
          else
            {
               echo "<font class=\"titolo\">Centrocampista:
                        <select name=\"C2[]\">
                          <option value=\"-1\">Chiedi Centrocampista</option>\n".implode("", select1['C'])."</select>
    \n";
            }
       
       }
    Dovrebbe essere qualcosa del genere.
    Praticamente devi fare il controllo con if mentre esegui il for:

    mettiamo che tu abbia nel db un record con codice impostato a 25.

    Ora tu devi creare i tre select (non so cosa ci vada dentro ma immagino i numeri dei giocatori! Non lo so perchè di calcio ne capisco men che zero!)

    Allora il primo da quanto ho capito contiene i valori da 1 a 10.

    Creo il primo select (lo stesso codice adattato crea anche le altre due):

    codice:
    for ($i = 1 ; $i <= 10 ; $i++)
       {
          echo "codice per la select 1";
       }
    Ora tu devi fare in modo che se $codice è settato venga preimpostato nella select relativa.
    Come puoi notare abbiamo dei valori fissi nelle select (select 1 = 1,2,3,4,5,6,7,8,9,10; select 2 = 11,12,13,14,15,16,17,18,19,20; select 3 = 21,22,23,24,25,26,27,28,29,30). Non ci resta, quindi che verificare $codice in quale dei tre seclt sia e fare in modo che si preimposti.
    Facciamo quindi così:

    Usando lo stesso codice di prima che poi va bene per tutti e tre i select:

    codice:
    for ($i = 1 ; $i <= 10 ; $i++)
       {
          if (isset($codice))
            {
               if ($i == "$codice")
                 {
                    echo "<option selected value=></option>";
                 }
                else
                 {
                    echo "<option value=></option>";
                 }
            }
       }
    Ovviamente dovrai adattare il codice alle tue esigenze ma il procedimento è questo. Quando codice corrisponde ad $i ($x nel tuo caso) allora vuol dire che deve essere selezionato di default nella select. Spero di essere stato chiaro. Se non hai capito qualcosa posta. Ciao ciao.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

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.