Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Popolare select molto lunghe

    Salve,
    ho una pagina in cui vengono inserite informazioni riguardo ad immobili e il tutto viene fatto maggioramente mediante select con parecchie voci ciascuna.
    Per quanto riguarda l'inserimento ok, a manina mi sono inserito tutti i valori, il problema sorge con la modifica.
    Ovviamente quando l'utente aprirà la pagina con la scheda da modificare dovrà trovare le select impostate con i valori settati durante l'inserimento: ma come posso fare? L'unico modo che a me viene in mente da bravo pivello è controllare a mano ogni select (contate che ogni select contiene fino a decine di option con valori/nomi eterogenei) con ogni valore estratto dal db. In questo caso posso anche suicidarmi..
    Esiste un modo più intelligente?
    Grazie a tutti in anticipo per le risposte, sono un po' in panico :master:

  2. #2
    uppete

  3. #3
    Personalmente non ho capito quasi niente.
    Posta del codice e delle query, a volte è più semplice capire con quello.
    ...il passato lo rimpiange chi non ha futuro...
    Lega LFA | Alessio Corse | a2area

  4. #4
    Si perdonami, provo a spiegarmi
    Allora, inserisci nel db le informazioni relative a degli immobili (la classica scheda dove viene specificato il prezzo, la metratura, il luogo,i vari optionals e via dicendo).
    Questa operazione, in fase di inserimento, viene eseguita dall'utente scegliendo la maggior parte di questi valori tramite delle select con le voci interessate, come ad esempio:
    codice:
    <select name="zona">
        <option value="1">zona bla bla</option>
        <option value="2">zona bla bla</option>
        <option value="3">zona bla bla</option>
        ....etc
    </select>
    Nel database avrò un campo 'zona' in cui andrò a salvare la selezione dell'utente.
    Ogni select ha svariate voci eterogenee (fornite dal cliente) e senza un vero e proprio legame logico fra di loro.Alcune select hanno anche decine di voci selezionabili.

    Il problema sorge quando ora devo creare la pagina di modifica di una scheda qualsiasi già presente nel database; ovviamente in questa pagina le <select> dovranno essere selezionate di default sul valore della scheda stabilito in fase di inserimento.

    Riprendendo l'esempio di prima, se nel db nel campo 'zona' ci fosse il valore '2', la mia select dovrebbe diventare:
    codice:
    <select name="zona">
        <option value="1">zona bla bla</option>
        <option value="2" selected>zona bla bla</option>
        <option value="3">zona bla bla</option>
        ....etc
    </select>
    L'unica soluzione che mi viene in mente ora è fare un metodo che, passatogli un array con i valori/nomi della select e il campo estratto dal db, mi crei la select già selezionata con quel campo, previo controllo sui valori dell'array.
    Quello che io chiedo è se esiste un modo, un metodo o tecnica più intelligente delle porcate che ho sparato qui sopra per rendere la cosa meno devastante anche se temo di conoscere la risposta..

  5. #5
    E' possibile che non abbia capito ugualmente (ho fatto una pausa pranzo molto alcolica).
    Dunque quello che devi fare tu è avere una option selezionata da un elenco (creato dinamicamente) giusto?

    Se si basta :
    Codice PHP:
    $sql1 mysql_query("SELECT zona FROM tabella_dati_immobile");
    $row1 mysql_fetch_array($sql1);
    $zona $row1["zona"];

    $sql2 mysql_query("SELECT zona FROM tabella_zona");

    echo 
    "<select name=\"zona\">";
    while (
    $row2 mysql_fetch_array($sql2)) {
        if (
    $zona==$row2["zona"]) {
            echo 
    "<option value=\"".$row2["zona"]."\" selected>".$row2["zona"]."</option>";
        } else {
            echo 
    "<option value=\"".$row2["zona"]."\">".$row2["zona"]."</option>";
        }
    }
    echo 
    "</select>"
    Se no, non ho capito
    ...il passato lo rimpiange chi non ha futuro...
    Lega LFA | Alessio Corse | a2area

  6. #6
    Ciao,
    intanto grazie per la risposta.
    Si questa è la soluzione che ho adottato io, il problema sorge dal fatto che nel database ho salvato solo i valori scelti dall'utente e NON di tutta la select.Quindi mi rendo conto che l'unico modo è proprio inserirli a mano, resta solo la scrittura di una classe per creare la select in modo snello e semplice.
    Dico quindi (rassegnato), problema risolto!
    Grazie!

  7. #7
    Scusami, sono un pò (molto) testardo
    Non capisco, la select è popolata da db, cosa significa inserire i valori a mano?
    La prima query (sql1) ricerca il valore associato alla zona dell'immobile (già precedentemente caricato). La seconda query cicla e stampa tutti le zone presenti e ne sceglie uno selezionato in base all'esistenza di quello caricato...

    Non capisco davvero cosa ci sia da inserire a mano
    ...il passato lo rimpiange chi non ha futuro...
    Lega LFA | Alessio Corse | a2area

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