Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    select con valore scelto

    ciao,

    non riesco a far visualizzare il valore che l'utente ha precedentemente scelto mi mette sempre lo stesso valore "corso non selezionato"

    Codice PHP:
     <select name="id_corsi">
    <?php 
    $query 
    "SELECT * FROM a_corsi";
     
    $result50 mysql_query($query$conn);
    while(
    $row mysql_fetch_array($result50)) { 
    if (
    $row[id_corsi]==$row[nome_corso]) echo "<option value=\"$row[id_corsi]\" selected>".$row[nome_corso]."</option>";
    else echo 
    "<option value=\"$row[nome_corso]\">corso non selezionato</option>";

    ?> 
    </select>

  2. #2
    ....uhm....credo che concettualmente quello che hai scritto non significhi molto.

    1) I due campi $row['id_corsi'] e $row['nome_corso'] dovrebbero già per il nome valori concettuali diverti, uno è un identificativo univoco...in genere un numero progressivo o una stringa alfanumerica unica, mentre il secondo è un generico nome.

    2) Dalla tua "$row[id_corsi]==$row[nome_corso]" si evince invece che potrebbero avere lo stesso valore...che senso ha??


    Controlla quello che hai scritto...

  3. #3
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    L'utente ha scelto prima? Quindi devi passare il valore scelto basare l'if su questo

    Codice PHP:
    $var=$_GET[valore scelto];//valore che l'utente ha scelto (basalo su id_corsi)

    if ($row[id_corsi]==$var)... 
    prova, io non lo ho provato

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ora non mi visualizza più sempre "corso non selezionato" ma mi visualizza sempre lo stesso corso

    Codice PHP:
    <select name="id_corsi"> 
    <?php 
    $query 
    "SELECT * FROM a_corsi"
    $result50 mysql_query($query$conn); 
    while(
    $row mysql_fetch_array($result50)) { 
    $var=$_GET[id_corsi];
    if (
    $row[id_corsi]==$row[0]) echo "<option value=\"$row[id_corsi]\" selected>".$row[nome_corso]."</option>"
    else echo 
    "<option value=\"$row[1]\">corso non selezionato</option>"

    ?> 
    </select>

    ad esempio se clicco su:
    facciamo conto che questo corso ha id=20

    quando poi vado sulla select mi visualizza sempre il corso con id=15 a prescindere da quale corso ho cliccato precedentemente.

  5. #5
    forse non io e l'altro ragazzo non ci siamo fatti capire...

    se tu hai una riga di codice così:
    codice:
    $row = mysql_fetch_array(..)
    l'array $row[] è associato ai dati LETTI DAL DATABASE quindi questo:
    codice:
    $row[id_corsi]==$row[0]
    non ha alcun senso...

    devi scrivere (forse...dipende da che hai scritto nel resto della tua pagina):
    codice:
    <select name="id_corsi"> 
    <?php 
    $query = "SELECT * FROM a_corsi"; 
    $result50 = mysql_query($query, $conn); 
    while($row = mysql_fetch_array($result50)) { 
    $var=$_GET[id_corsi]; 
    if ($row[id_corsi]==$var ) echo "<option value=\"$row[id_corsi]\" selected>".$row[nome_corso]."</option>"; 
    else echo "<option value=\"$row[1]\">corso non selezionato</option>"; 
    } 
    ?> 
    </select>
    questo SEMPRE SE realmente hai passato alla pagina una variabile (id_corsi) tramite il metodo GET di una qualche form!

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    niente ora mi ridà sempre "corso non selezionato" sia che abbia un form post sia che lo abbia come get

    Codice PHP:
    <select name="id_corsi"> 
    <?php 
    $query 
    "SELECT * FROM a_corsi"
    $result50 mysql_query($query$conn); 
    while(
    $row mysql_fetch_array($result50)) { 
    $var=$_GET[id_corsi]; 
    if (
    $row[id_corsi]==$var) echo "<option value=\"$row[id_corsi]\" selected>".$row[nome_corso]."</option>"
    else echo 
    "<option value=\"$row[id_corsi]\">corso non selezionato</option>"

    ?> 
    </select>

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    posta la pagina prima di quella che in cui deve apparire la select (o tutto il codice della pagina)... così magari ti possiamo dare una mano più facilmente

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Codice PHP:
    <?php 
    $sql 
    mysql_query("SELECT * FROM a_corsi ORDER BY nome_corso") or die(mysql_error()); 
    ?> 

    <?
    if ($pagina==1){
    $sql "INSERT INTO a_corsi_materie (id_corsi)
    VALUES ('
    $id_corsi')";
    mysql_query($sql$conn) or die ($sql);
    $msg "corso inserito nel database";
    }

    elseif (
    $pagina==2){
        
    $sql "SELECT nome_corso FROM a_corsi WHERE id_corsi=$corso";
        
    $result mysql_query($sql,$conn);
        
    $row mysql_fetch_array($result);


    elseif (
    $pagina==3){
    $sql "UPDATE a_corsi_materie SET id_corsi='$id_corsi' WHERE id_corsi=$id";
    mysql_query($sql,$conn) or die (mysql_error() );
    $msg "modifiche effettuate";


    ?>
    Codice PHP:
    <?php 
      $_GET
    ['pagina'] = (isSet($_GET['pagina']) && ($_GET['pagina'] > 0)) ? $_GET['pagina'] : 0
      switch (
    $_GET[pagina]) 
      { 
       case 
    2$pagina 'include_case2_mat_in_corsi.php'; break; 
       case 
    3$pagina 'include_case2_mat_in_corsi.php'; break;    
       default: 
    $pagina 'include_case1_mat_in_corsi.php'
      } 
      include(
    $pagina); 
    ?>
    ora il codice della pagina include_case1_mat_in_corsi.php

    Codice PHP:
    <form enctype="multipart/form-data" name="form" action="<?=$PHP_SELF?>" method="post">
    <table width="650" border="0" cellspacing="0" cellpadding="0">
          <tr>
        <td width="113" height="33"><span class="testo_grigio_bold">nome corso </span></td>
        <td width="162" align="right">

     <select name="id_corsi"> 
    <option value="" selected="selected">seleziona corso</option> 
    <?php 
    //compila dinamicamente la select 
    while($row mysql_fetch_object($sql)) { 
      echo 
    "<option value=\"$row->id_corsi\">$row->nome_corso</option>\n"

    ?> 
    </select>

    </td>
        <td width="100"></td>
        <td colspan="2"><input type="hidden" name="pagina" value="1">
              <input name="submit" type="submit" class="pulsante" value="inserisci">
    <?
        
    if ($msg){?>
          <span class="testo_viola_bold">
          <?=$msg?>
          </span>
          <?
            
    }?>
    </td>
        </tr>
    <tr>
        <td height="1" colspan="5" valign="top" bgcolor="BF9BB5"></td>
        </tr>
          <tr>
            <td height="41" colspan="2"><span class="testo_viola_bold">elenco corsi</span></td>
            <td></td>
        <td></td>
    <td></td>
        </tr>
        </table>
    <table width="650" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td height="1" colspan="4" bgcolor="BF9BB5"></td>
        </tr>
                                  <?
                              $i
    =1;
                            
    $sql mysql_query("SELECT * FROM a_corsi ORDER BY nome_corso") or die(mysql_error());
                            while(
    $row=mysql_fetch_array($sql)){
                                if (
    $i==1){ echo "<tr>";} ?>
                  <td height="41" width="216">
    <span class="testo_grigio_bold"><a href="<?=$PHP_SELF?>?corso=<?=$row[id_corsi]?>&pagina=2">[img]../images/menu_triangolo.gif[/img]
          <?=$row['nome_corso']?></a></span>
    </td>
                      <?
                                
    if ($i==3){
                                    echo 
    "<td width=\"2\"></td></tr><tr>
        <td height=\"1\" colspan=\"4\" bgcolor=\"BF9BB5\"></td>
        </tr>"
    ;
                                    
    $i=0;
                                }
                                 
    $i++;
                            }
    ?>
                              </table>
    </form>
    ora il codice della pagina include_case2_mat_in_corsi.php

    Codice PHP:
    <form enctype="multipart/form-data" name="form" action="<?=$PHP_SELF?>" method="get">
    <table width="650" border="0" cellspacing="0" cellpadding="0">
          <tr>
        <td width="113" height="33"><span class="testo_grigio_bold">nome corso </span></td>
        <td width="162" align="right">


    <select name="id_corsi"> 
    <?php 
    $query 
    "SELECT * FROM a_corsi"
    $result50 mysql_query($query$conn); 
    while(
    $row mysql_fetch_array($result50)) { 
    $var=$_GET[id_corsi]; 
    if (
    $row[id_corsi]==$var) echo "<option value=\"$row[id_corsi]\" selected>".$row[nome_corso]."</option>"
    else echo 
    "<option value=\"$row[id_corsi]\">corso non selezionato</option>"

    ?> 
    </select> 



    </td>
        <td width="100"></td>
        <td colspan="2"><input type="hidden" name="id" value="<?=$corso?>">
             <input type="hidden" name="pagina" value="3">
             <input name="submit2" type="submit" class="pulsante" value="modifica">
    <?
        
    if ($msg){?>
          <span class="testo_viola_bold">
          <?=$msg?>
          </span>
          <?
            
    }?>
    </td>
        </tr>
    <tr>
        <td height="1" colspan="5" valign="top" bgcolor="BF9BB5"></td>
        </tr>
          <tr>
            <td height="41" colspan="2"></td>
            <td></td>
        <td></td>
    <td></td>
        </tr>
        </table>
    </form>

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    nella pagina include_case2_mat_in_corsi.php devi trovare il modo di passare la varibile con l'id del corso e chiamarla $var...

    Scusa ma visto così è un po' difficile da suggerirti puntualmente

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ma la variabile mi sembra di averla passata, forse l'ho passata in modo errato?:

    <select name="id_corsi">
    <?php
    $query = "SELECT * FROM a_corsi";
    $result50 = mysql_query($query, $conn);
    while($row = mysql_fetch_array($result50)) {
    $var=$_GET[id_corsi];
    if ($row[id_corsi]==$var)
    echo "<option value=\"$row[id_corsi]\" selected>".$row[nome_corso]."</option>";
    else echo "<option value=\"$row[id_corsi]\">corso non selezionato</option>";
    }
    ?>
    </select>

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.