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

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di gege85
    Registrato dal
    Feb 2015
    Messaggi
    12

    Lista a discesa con select

    Sale ragazzi, sono nuovo ma vi seguo da anni.
    Sto cercando di risolvere un problema che mi affligge da un pò e non riesco a trovare soluzione.
    Premetto che sono un hobbysta nella programmazione html e php, ma me la cavo bene nel capire i concetti di programmazione.

    Dunque ho una pagina di immissione dati in un database mysql con liste a discesa che pescano i dati da tabelle nel db:
    Codice PHP:
    <strong>CATEGORIA: </strong><!--inizio lista a discesa-->     <select name="categoria">         <?php         include('connect-db.php');         $query mysql_query("SELECT * FROM categoria ORDER BY categoria");          while ($riga=mysql_fetch_array($query)){             $id=$riga['id'];             $recid=$riga['categoria'];              echo "<option value=\"$id\">$recid</option>";}         ?>         </select> <a href="javascript:;" onClick="window.open('/privato/db/newcategoria.php', 'titolo', 'width=800, height=500, resizable=0, status, location, scrollbars=1');"><img src="/immagini/ico/128x128/actions/bookmarks_list_add.png" title="AGGIUNGI CATEGORIE" border="0" width="20px" height="20px" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<!--fine lista a discesa-->
    Il problema è che non riesco a far sì che nella pagina di modifica dei dati inseriti i valori che prima erano nelle liste a discesa facciano vedere selezionato il valore che prendono dal database.
    Ho cercato soluzioni e provato ma non riesco propio a farla funzionare.
    Se potete aiutarmi siete i miei salvatori.
    Vi allego le due pagine:edit.txt new.txt

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Il concetto.

    Codice PHP:
    $selected $valore_db == $id "selected" "";
    echo 
    "<option value=\"$id\" $selected>$recid</option>"
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di gege85
    Registrato dal
    Feb 2015
    Messaggi
    12
    Grazie per la risposta, ma quel $valore_db glielo do pescando il valore con un $row dove ho salvato il valore della select nel db?

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Yes.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it L'avatar di gege85
    Registrato dal
    Feb 2015
    Messaggi
    12
    Grazie domani provo e vi faccio sapere. Pensare quanto mi sono finito gli occhi a leggere pagine di forum che non spiegavano come inpostare il codice.

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova questo e guarda il sorgente html.

    Codice PHP:
    <?php
        $valore 
    5;
    ?>

    <select><?php
      
    for($i=1;$i<=15;$i++) {
        
    $selected $valore == $i "selected" ""?>
        <option value="<?php print $i?>"
          <?php print $selected?>>
          <?php print $i?>
        </option><?php
      
    ?>
    </select>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Utente di HTML.it L'avatar di gege85
    Registrato dal
    Feb 2015
    Messaggi
    12
    Uffa mi sa che sbaglio e non ho capito, mi puoi dire dove sbaglio? Non mi pesca il valore del db.
    $idp lo pesca dal link con www.xyz.com/xyz.php?id=1

    Codice PHP:
    <!--inizio lista a discesa-->
         <select name="categoria">
             <?php
             
    include('connect-db.php');
            
    $idp $_POST['id'];
            
    $query mysql_query("SELECT * FROM schede_iconografia WHERE id='$idp'"); 
             while (
    $riga=mysql_fetch_array($query)){
                 
    $idc=$riga['categoria'];}
                
                
             
    $query mysql_query("SELECT * FROM categoria ORDER BY categoria"); 
             while (
    $riga=mysql_fetch_array($query)){
                 
    $id=$riga['id'];
                 
    $recid=$riga['categoria']; 
     
    $selected $idc == $id "selected" "";
    echo 
    "<option value=\"$id\" $selected>$recid</option>"
                
        }
             
    ?>
             </select> 
    <!--fine lista a discesa-->
    Ultima modifica di gege85; 18-02-2015 a 10:04

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Se peschi l'id da un url bisogna usare $_GET anziche $_POST.
    Se l'id è univoco non ti serve il primo while. Se non è univoco avrai l'ultima riga letta sempre nel primo while. In ogni caso cosi avrai l'ultimo valore letto. Comunque questo non è grave.
    Spero che il tuo codice non sarà messo sulla rete. Hai un problema di sicurezza in quanto uno potrebbe farti una sql injection.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    Utente di HTML.it L'avatar di gege85
    Registrato dal
    Feb 2015
    Messaggi
    12
    Ho provato ma nulla da fare non me lo pesca. Non importa lascio comè con una casella di testo.

    Cosa intendi per problemi di sicurezza? la password si trova in un file separato, il suddetto file e tutte le pagine del database sono in una cartella di sola lettura e non indicizzabile dai motori di ricerca. Poi per accedere alle pagine devi avere le credenziali di accesso.

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Non arrenderti. E' semplice. Ci sei quasi. Prova a vedere se la query ti torna qualcosa.

    per la SQL injection prova a cercare sul forum o su google e vedrai cosa intendo.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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 © 2026 vBulletin Solutions, Inc. All rights reserved.