Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 31
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    149

    Apertura dettaglio tramite icona

    Buonasera a tutti,
    quando faccio una query ad un database vorrei fare una cosa del genere: vedere i campi principali del record (precedentemente scritto tramite una form che in php scrive nel database) che io ho definito precedentemente tramite linguaggio php, e poi vorrei che ci fosse un'iconcina che cliccandoci sopra mi aprisse il dettaglio di tutti i campi del record.
    Come posso fare?
    grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    149
    Vorrei cancellare questa richiesta perche' è nel posto sbagliato, ma non ci riesco,mi dice che non ho i diritti...moderatore puoi fare qualcosa?penso sia piu inerente a php..
    grazie

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    In realtà è forse più inerente a Javascript o AJAX.

    Comunque hai 2 possibilità:

    1) scrivi già i dettagli ma in un div con visibility:none e poi associ un JS all'iconcina che ti mostra/nasconde il div
    2) quando clicchi sull'iconcina fai una chiamata AJAX che ti recupera i dettagli e poi li scrivi (via JS) dove vuoi tu

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    149
    Ciao nICO80,
    grazie della tua risposta, mi puoi fare un esempio pratico per favore?Scusa ma è per capire bene, perche' mi sembra un'ottima idea quella che mi hai proposto, e alla quale non c'avevo pensato...
    buona giornata!

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    La prima opzione è molto semplice:

    Codice PHP:
    $query 'SELECT id, nome, cognome, eta, citta, professione FROM utenti';
    $res mysql_query($query);

    while(
    $row mysql_get_row($res))
         {
         echo 
    '<div>[img]dettagli.gif[/img]'.$row['nome'].' '.$row['cognome'].'</div>';
         echo 
    '<div class="datiextra'.$row['id'].'">'.$row['professione'].'
    '
    .$row['citta'].'
    '
    .$row['eta'].'</div>';
         } 
    In questo modo avrai dei divs chiamati "datiextra1", "datiextra2" etc.
    In un file CSS che includi nella pagina definisci

    codice:
    .datiextra
       {
       display:none;
       }
    In questo modo i dati extra non vengono mostrati

    Poi in un file js definisci la funzione mostradettagli che hai associato all'iconcina '+'

    codice:
    function mostradettagli(id)
       {
       d = document.getElementById("datiextra"+id);
       if (!d)
          return;
    
       d.display = "block";
       }

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    149
    Ho bisogno cortesemente di una mano, temo di avere degli errori di sintassi ma faccio fatica a capire dove sta l'errore o gli errori, mi puoi aiutare per favore?

    l'errore è

    Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\....on line 63


    dove la linea 63 corrisponde a:

    echo "<div>[img]dettagli.gif[/img]";

    echo "<div> class="datiextra'.$scatola_temporanea['id'].'", '.$scatola_temporanea['tp_st'].', '.$scatola_temporanea['no_st'].', '.$scatola_temporanea['nz_st'].'</div>";

    grazie mille e buona notte

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Devi stare molto attento all'uso di " e '

    Codice PHP:
    echo "<div>[img]dettagli.gif[/img]"
    Qui usi le virgolette sia per echo che per i tags all'interno, quindi quando scrivi "dettagli.gif" lui interpreta la prima " come la chiusura delle virgolette dell'echo! Inoltre manca la chiusura del tag img.

    Codice PHP:
    echo '<div>[img]dettagli.gif[/img] ,'.
    $scatola_temporanea['nome_utente'] . ', ' $scatola_temporanea['$data_ora_ins'] . '</div>'
    Codice PHP:
    echo '<div> class="datiextra'.$scatola_temporanea['id'].'", '.$scatola_temporanea['tp_st'].', '.$scatola_temporanea['no_st'].', '.$scatola_temporanea['nz_st'].'</div>"; 
    Qui c'è sempre il discorso apici, e in più il nome dinamico va messo all'id, non alla classe, che invece è uguale per tutti. Inoltre class e id vanno all'interno del tag div, quindi non lo devi chiudere subito

    Codice PHP:
    echo '<div class="extra" id="datiextra'$scatola_temporanea['id']. '">, ' $scatola_temporanea['tp_st']. 
    ', ' $scatola_temporanea['no_st'] . ', ' $scatola_temporanea['nz_st']. '</div>'

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    149
    nICO80 non mi funziona...non capisco il perche'...ti posso postare l'intere codice cosi capisci bene come è stato strutturato?
    Mi dispiace molto disturbarti ancora, ma non ne vengo fuori...

    Codice PHP:
    <HEAD>
    <TITLE>Prova<TITLE>

    <link rel=stylesheet href="prova.css" type="text/css">

    <script>

    function mostradettagli(id)
       {
       d = document.getElementById("datiextra"+id);
       if (!d)
          return;

       d.display = "block";
       }

    </script>

    </HEAD>
    <BODY>
    <?php
      $lettura_risultati
    =mysql_query("select id, nome_utente, tipo_struttura, nome_struttura, naz_struttura, luogo_struttura, mese_sogg, anno_sogg, titolo_rec, voto_struttura, voto_qualita_cam, voto_ristorante, voto_pulizia, voto_eff_servizi, testo_rec, date_format(data_ora_ins, '%d/%m/%Y - ore %H:%i:%s') as data_formattata, MATCH(nome_struttura, tipo_struttura, naz_struttura, luogo_struttura) AGAINST('"$_POST['nome_ric'] ." "$_POST['tipo_ric'] ." "$_POST['naz_ric'] ." "$_POST['luogo_ric'] ."' IN BOOLEAN MODE) AS tot from recensioni where MATCH(nome_struttura, tipo_struttura, naz_struttura, luogo_struttura) AGAINST('"$_POST['nome_ric'] ." "$_POST['tipo_ric'] ." "$_POST['naz_ric'] ." "$_POST['luogo_ric'] ."' IN BOOLEAN MODE) order by tot DESC");
      if(
    mysql_num_rows($lettura_risultati)>0){
      echo 
    "<table>";
      
    $flag_colore=0;
      while(
    $scatola_temporanea=mysql_fetch_array($lettura_risultati)){
           
    $nome_utente=$scatola_temporanea['nome_utente'];
         
    $tipo_struttura=$scatola_temporanea['tipo_struttura'];
         
    $nome_struttura=$scatola_temporanea['nome_struttura'];
         
    $naz_struttura=$scatola_temporanea['naz_struttura'];
         
    $luogo_struttura=$scatola_temporanea['luogo_struttura'];
         
    $mese_sogg=$scatola_temporanea['mese_sogg'];
         
    $anno_sogg=$scatola_temporanea['anno_sogg'];
         
    $titolo_rec=$scatola_temporanea['titolo_rec'];
         
    $voto_struttura=$scatola_temporanea['voto_struttura'];
         
    $voto_qualita_cam=$scatola_temporanea['voto_qualita_cam'];
         
    $voto_ristorante=$scatola_temporanea['voto_ristorante'];
         
    $voto_pulizia=$scatola_temporanea['voto_pulizia'];
         
    $voto_eff_servizi=$scatola_temporanea['voto_eff_servizi'];
         
    $testo_rec=$scatola_temporanea['testo_rec'];
         
    $data_ora_ins=$scatola_temporanea['data_formattata'];
         echo 
    "<tr>";
         if(
    $flag_colore==0){
         echo 
    "<td bgcolor=\"#FFFF00\">";
         
    $flag_colore=1;
         }
         else{
         echo 
    "<td bgcolor=\"#C0C0C0\">";
         
    $flag_colore=0;
         }
         if (
    $tipo_struttura == 'Campeggio'){
         echo 
    "[b]Utente:[/b] $nome_utente

    [b]Data inserimento recensione:[/b] 
    $data_ora_ins

    [b]Struttura:[/b] 
    $tipo_struttura

    [b]Nome della struttura:[/b] 
    $nome_struttura

    [b]Nazione struttura:[/b] 
    $naz_struttura

    [b]Luogo struttura:[/b] 
    $luogo_struttura

    [b]Periodo di soggiorno (mese,anno):[/b] 
    $mese_sogg$anno_sogg

    [b]Titolo recensione:[/b] 
    $titolo_rec

    [b]Voto struttura:[/b] 
    $voto_struttura

    [b]Voto sulla pulizia delle camere:[/b] 
    $voto_pulizia

    [b]Voto sull'efficienza dei servizi:[/b] 
    $voto_eff_servizi

    [b]Testo recensione:[/b] 
    $testo_rec

    "
    ;}
         elseif (
    $tipo_struttura == 'Residence'){
         echo 
    "[b]Utente:[/b] $nome_utente

    [b]Data inserimento recensione:[/b] 
    $data_ora_ins

    [b]Struttura:[/b] 
    $tipo_struttura

    [b]Nome della struttura:[/b] 
    $nome_struttura

    [b]Nazione struttura:[/b] 
    $naz_struttura

    [b]Luogo struttura:[/b] 
    $luogo_struttura

    [b]Periodo di soggiorno (mese,anno):[/b] 
    $mese_sogg$anno_sogg

    [b]Titolo recensione:[/b] 
    $titolo_rec

    [b]Voto struttura:[/b] 
    $voto_struttura

    [b]Voto sulla pulizia delle camere:[/b] 
    $voto_pulizia

    [b]Voto sull'efficienza dei servizi:[/b] 
    $voto_eff_servizi

    [b]Testo recensione:[/b] 
    $testo_rec

    "
    ;}
         elseif (
    $tipo_struttura == 'Appartamento'){
         echo 
    "[b]Utente:[/b] $nome_utente

    [b]Data inserimento recensione:[/b] 
    $data_ora_ins

    [b]Struttura:[/b] 
    $tipo_struttura

    [b]Nome della struttura:[/b] 
    $nome_struttura

    [b]Nazione struttura:[/b] 
    $naz_struttura

    [b]Luogo struttura:[/b] 
    $luogo_struttura

    [b]Periodo di soggiorno (mese,anno):[/b] 
    $mese_sogg$anno_sogg

    [b]Titolo recensione:[/b] 
    $titolo_rec

    [b]Voto struttura:[/b] 
    $voto_struttura

    [b]Voto qualit&agrave delle camere:[/b] 
    $voto_qualita_cam

    [b]Voto sulla pulizia delle camere:[/b] 
    $voto_pulizia

    [b]Voto sull'efficienza dei servizi:[/b] 
    $voto_eff_servizi

    [b]Testo recensione:[/b] 
    $testo_rec

    "
    ;}
         else{
         echo 
    '<div>[img]dettagli.png[/img] ,'$scatola_temporanea['nome_utente'] . ', ' $scatola_temporanea['$data_ora_ins'] . '</div>';
         echo 
    '<div class="extra" id="datiextra'$scatola_temporanea['id']. '">, ' $scatola_temporanea['tipo_struttura']. ', ' $scatola_temporanea['nome_struttura'] . ', ' $scatola_temporanea['naz_struttura']. '</div>';
         }
         echo 
    "</tr>";
         }
         echo 
    "</table>";
         }
         else{
         echo 
    "Non é stata inserita ancora nessuna recensione in questa sezione. Se hai piacere essere il primo, clicca nella scelta <a href=\"nrec.html\">Nuova Recensione</a>";}
    ?>
    </BODY>

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Ciao, scusa prima di mettermi a leggere tutto quel codice... esattamente che errore ti dà? La query viene eseguita correttamente (usa echo mysql_error(); per vedere se ci sono stati errori)?

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    149
    ...hai ragione,perdonami,non ti ho esposto il problema, scusa.
    Allora, la query viene eseguita, ma:

    1)mi da un

    Notice: Undefined index: $data_ora_ins in C:\Program Files\EasyPHP 2.0b1\www\query2009.php on line 63

    che corrisponde alla riga dove c'e' echo '<div><img src="dettagli.png" onclick="mostradettagli........

    2)non mi espone il campo nome utente, ma vengono esposti correttamente tutti i dati riguardanti il secondo echo, ovvero echo '<div class="extra" id="datiextra'.......

    3)non mi funziona l'onclick, i dati vengono sempre esposti e se clicco sopra l'icona non li nasconde, non succede niente.

    Poi ho il file css che ho chiamato prova.css dove ho inserito l'istruzione .datiextra che mi hai dato.

    Grazie mille sai, non so come ringraziarti della tua gentilezza...

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.