Visualizzazione risultati 1 fino 17 di 17

Discussione: [php/mysql] Variabile fuori dal while con un <select>?

  1. #1
    Guest

    Post [php/mysql] Variabile fuori dal while con un <select>?

    Ciao a tutti, credo che il titolo dica tutto..io devo fare questo:
    Faccio una query, ricavo il tutto tramite un while con il mysql_fetch_array ma siccome ho un <select> le graffe vengono chiuse...
    ecco il codice:
    Codice PHP:
    $catq = mysql_query("SELECT * FROM categoria");

    $catdesc = "";

    echo
    "<select name=\"categoria\" onchange=\"return visualizza(this, 'nascosto')\"> ";

    echo
    "<option value=\"\" select>-SELEZIONA-</option>";

    while(
    $cat = mysql_fetch_array($catq)) {

    $catid = $cat['id'];
    $catnome = $cat['nome'];
    $catdesc = $cat['descrizione'];

    echo
    "<option value=\"$catid\">$catnome</option>";

    }

    echo
    "</select><br /><br />";
    echo
    "<span id=\"nascosto\" style=\"display: none;\">Descrizione Categoria: $catdesc</span><br />";
    In pratica se io clicco su HTML o PHP deve mostrare la descrizione (con $catdesc) ma mostra solo quella di HTML..(la categoria selezionata)..
    Come posso mostrare quelle di tutte (io seleziono e mi mostra la categoria)
    invece di farne mostrare 1 sola?
    Grazie 1000...ciao Davide!^^
    PS. Ho fatto una ricerca..ho provato ma nnt...

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    La funzione Javascript visualizza() che codice ha?


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Pensavo non servisse :P
    Codice PHP:
    echo "<script type=\"text/javascript\">
    function visualizza(obj, a){
    var el=document.getElementById(a);
    if(!el) return;
    el.style.display=(obj.selectedIndex!=0)?\"block\":\"none\";
    }
    </script>"
    ;
    Ciao! ^^

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Ecco dov'è il problema. Dovrebbe diventare una cosa del genere:

    Codice:
    function visualizza(obj, a) {
      var el=document.getElementById(a); 
      if(!el) return; 
      el.innerHTML=obj.options[obj.selectedIndex].value; 
    }


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    Guest

    Predefinito

    Ma non funziona...non mi mostra questo:
    Codice PHP:
    echo "<span id=\"nascosto\" style=\"display: none;\">Descrizione Categoria: $catdesc</span><br />";
    Ciao! :)

  6. #6
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Forse mancava un pezzettino:

    function visualizza(obj, a) {
    var el=document.getElementById(a);
    if(!el) return;
    el.innerHTML=obj.options[obj.selectedIndex].value;
    el.style.display = 'block'
    }
    Se non è quello che volevi descrivi un pò meglio quello che vorresti ottenere.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  7. #7
    Guest

    Predefinito

    Ehm..mostra dei numeri (PHP -> 1 | HTML -> 2)..ma io voglio che mostra la descrizione (ricavata dal mysql_fetch_array nella chiusura dopo il while)!
    Ciao! :)

  8. #8
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Però un minimo potevi metterti anche tu, no?

    Codice:
    function visualizza(obj, a) {
    var el=document.getElementById(a); 
    if(!el) return; 
    el.innerHTML=obj.options[obj.selectedIndex].text; 
    el.style.display = 'block'
    }


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  9. #9
    Guest

    Predefinito

    Uff...hai capito 0!!!...io devo mostrare lo <span con la categoria...il codice javascript funziona! E il php che non va!!!..
    La variabile non funziona..mostra solo l'ultima categoria!..ma non posso mettere lo <span dentro il while dove c'è il select!!!
    Ciao! :)

  10. #10
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Ma perché non ti spieghi un pò meglio che fai perdere meno tempo? Vediamo se ho capito:

    * C'è una select con i nomi delle categorie
    * L'utente ne seleziona una
    * Viene visualizzata la descrizione della categoria scelta

    Però non va bene se devo spiegarti io quello che vuoi te...

    In questo caso una soluzione è di mettere le descrizioni in un array su cui ciclare successivamente per generare gli span.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  11. #11
    Guest

    Predefinito

    ...ossia?
    Cmq è giusta la tua spiegazione..
    Ciao! :)

  12. #12
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Una cosa del genere:
    * Faccio la query
    * Apro il tag SELECT
    * Ciclo sui risultati: stampo la OPTION con id e nome, metto la descrizione in un array
    * Chiudo il tag SELECT
    * Ciclo sull'array delle descrizioni: stampo gli SPAN

    A quel punto serve un javascript che presa una option renda visibile il relativo span.

    Dai su, ingegnati!


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  13. #13
    Guest

    Predefinito

    Così...? Anche perchè appena ho aperto index.php?a=profilo&p=nuovaguida mi si è impallato ie (qui non ho ff)...
    Codice PHP:
    $catq = mysql_query("SELECT * FROM categoria");

    $catdesc = "";

    echo
    "<select name=\"categoria\" onchange=\"return visualizza(this, 'nascosto')\"> ";

    echo
    "<option value=\"\" select>-SELEZIONA-</option>";

    while(
    $cat = mysql_fetch_array($catq)) {

    $catid = $cat['id'];
    $catnome = $cat['nome'];
    $catdesc = array($cat['descrizione']);

    echo
    "<option value=\"$catid\">$catnome</option>";

    }

    echo
    "</select><br /><br />";
    while(
    $catdesc) {
    echo
    "<span id=\"nascosto\" style=\"display: none;\">Descrizione Categoria: $catdesc</span><br />";
    }
    E dopo x il javascript non so ke fare...sono negato! o.o
    Ciao! ^^
    Ultima modifica di sIM : 03-07-2008 alle ore 19.18.24

  14. #14
    Guest

    Predefinito

    Un paio di precisazioni:
    - Se ti senti veramente negato, lascia perdere perchè non fa per te... altrimenti cerca di fare le cose in modo più sensato: scrivi il codice, lo provi e vedi se funziona... se dopo almeno un paio di tentativi non ci riesci (magari qualcuno in più) scrivi sul forum.
    - Il PHP non interagisce con JavaScript e viceversa (a meno che tu non crei codice JavaScript tramite PHP)

    Ora... l'idea è di creare un array in JavaScript (prendi spunto dalle due precisazioni sopra) con le categorie e le rispettive descrizioni e utilizzarlo sempre in JavaScript per ottenere il testo da visualizzare nello span.
    Un consiglio: come indici dell'array (in JavaScript) usa gli id delle categorie.

    non sprecare gli aiuti di chi ti aiuta...

  15. #15
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    In realtà io proponevo un array in PHP che crea gli span (che ovviamente devono avere degli ID diversi). Cmq sIM, conviene che ti studi un pò meglio le basi di PHP e Javascript prima di continuare perché altrimenti qui perdiamo un sacco di tempo. Oppure trova qualcuno che ti aiuti in modo continuativo.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  16. #16
    Guest

    Predefinito

    Ok..ora ho un'altro problema...sto facendo un script in locale..ma mi da qst errore (non mi è mai capitato! o.o):
    Notice: A session had already been started - ignoring session_start() in index.php on line 6
    Linea 6:
    Codice PHP:
    session_start();
    Cosa vuol dire?
    Ciao! ^^
    Ultima modifica di sIM : 04-07-2008 alle ore 12.06.36

  17. #17
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Hai chiamato due volte session_start()


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •