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

    Tooltip su lista utenti ricavata da db

    Salve a tutti, chiedo scusa in anticipo se per caso ho infranto (o infrangerò) qualche regola con questo post, ad ogni modo visto che sono alle prime armi come programmatore php, avrei la necessità di leggere il parere di qualcuno piu esperto nel settore, sicché eccomi qui a postare la mia domanda.
    Da qualche giorno sto lavorando ad uno script php che crea una lista degli utenti presenti su di un sito stampando a video i seguenti dati: ID utente, nome e cognome e Città.
    Di seguito però ho pensato di far comparire al passaggio del mouse sopra la voce nome e cognome un tooltip contenente maggiori informazioni sull'utente, così ho eseguito una breve ricerca su internet ed ho trovato questo script (Link al sito) che ho adattato subito senza troppi problemi alla mia pagina...solo che adesso a prescindere da quale sia la voce selezionata all'interno della lista, il tooltip mi restituisce sempre e solo il valore del primo elemento della suddetta.
    Per intenderci:

    Non importa su quale utente io vada a posizionare il mouse, allo stato attuale il tooltip continuerà a mostrare sempre i dati del primo utente.

    Di seguito vi posto le parti del codice interessate:

    Codice PHP:
    while ($row mysql_fetch_array($result)) {
            echo 
    '<tr>';
            echo 
    '<td align="left" style="border-bottom:1px solid #c0c0c0">'.$row['id'].'</td>';

    if (
    $row['tipo']=="P"//verifica se si tratta di un utente privato o di un rivenditore
            
    {
            
            echo 
    '<div id="mystickytooltip" class="stickytooltip">'//inizio tooltip
            
    echo '<div style="padding:5px">';
            echo 
    '<div id="sticky1" class="atip" style="width:200px">';
            echo 
    '<center>[b]informazioni utente[/b]</center>
    '
    ;
            echo 
    '[b]Nome e Cognome:[/b]' $row['nome'] . ' ' $row['cognome'] . 
    '
    ;
            echo 
    '[b]Indirizzo:[/b]' $row['indirizzo'] . 
    '
    ;
            echo 
    '[b]Codice Fiscale:[/b]' $row['cod_fiscale'] . '
    '
    ;
            echo 
    '</div>';
            echo 
    '</div>';
            echo 
    '</div>'//fine tooltip
            
                
    echo '<td align="left" style="border-bottom:1px solid #c0c0c0">

    [url="#"]'
    .stripslashes($row['cognome']).' '.stripslashes($row['nome']).'[/url]</p></td>';
            
            }else{
            
            echo 
    '<div id="mystickytooltip" class="stickytooltip">'//inizio tooltip
            
    echo '<div style="padding:5px">';
            echo 
    '<div id="sticky2" class="atip" style="width:200px">';
            echo 
    '<center>[b]informazioni Azienda[/b]</center>
    '
    ;
            echo 
    '[b]Nome Azienda:[/b]' $row['azienda'] . 
    '
    ;
            echo 
    '[b]Indirizzo:[/b]' $row['indirizzo'] . 
    '
    ;
            echo 
    '[b]Partita IVA:[/b]' $row['p_iva'] . '
    '
    ;
            echo 
    '</div>';
            echo 
    '</div>';
            echo 
    '</div>'//fine tooltip
            
    echo '<td align="left" style="border-bottom:1px solid #c0c0c0">

    [url="#"]'
    .stripslashes($row['azienda']).'[/url]</p></td>';
            }
            echo 
    '<td align="left" style="border-bottom:1px solid #c0c0c0">'.$row['email'].'</td>';
            echo 
    '<td align="left" style="border-bottom:1px solid #c0c0c0">'.stripslashes($row['citta']).'</td>';
            echo 
    '<td align="left" style="border-bottom:1px solid #c0c0c0">'.$row['provincia'].'</td>';

    Ho già provato a verificare il funzionamento dell'array e non mi pare ci siano problemi, i dati vengono correttamente stampati a video se si elimina la parte del tooltip.
    Per quanto riguarda lo script del tooltip, è facilmente visualizzabile visitando Questo link per quanto riguarda la parte javascript, mentre per quanto riguarda la parte estetica (ma penso che sia meno utile per la risoluzione del problema) basterà visitare Questo link.
    Concludo ringraziando in anticipo quanti hanno letto questo mio post e quanti cercheranno di aiutarmi.
    PS resto a disposizione nel caso servissero altri dettagli.

  2. #2
    Ciao,
    così a occhio senza approfondire direi che il problema potrebbe essere qui:

    Codice PHP:
    while ($row mysql_fetch_array($result)) {
    ....
    echo 
    '<div id="mystickytooltip" class="stickytooltip">'
    ... 
    è evidente che se metti quell'echo dentro un ciclo stai assegnando lo stesso id (id=mystickytooltip) a diversi div...
    sappiamo invece che gli id devono essere univoci per ogni tag...

    il javascript probabilmente legge tutti i div come se fossero lo stesso di (in fondo hanno lo stesso id, perché non dovrebbero??)
    ergo, applica a tutti lo stesso tooltip

    prova a fare una cosa del genere

    Codice PHP:
    $i=0;
    while (
    $row mysql_fetch_array($result)) {
    $i++;
    ....
    echo 
    '<div id="mystickytooltip'.$i.'" class="stickytooltip">'
    ... 
    e vediamo come va

  3. #3
    Purtroppo ancora niente, la cosa strana è che visualizzando la sorgente della pagina, pare che sia tutto ok!

    codice:
    ...
    ...
    <div id="mystickytooltip" class="stickytooltip"><div style="padding:5px"><div id="sticky4" class="atip" style="width:200px"><center>informazioni utente</center>
    Nome e Cognome:Nome utente 1 
    Indirizzo:via xxxxxxx, 14 
    Codice Fiscale:XXXXXXXXXXX
    </div></div></div><td align="left" style="border-bottom:1px solid #c0c0c0">441</td><td align="left" style="border-bottom:1px solid #c0c0c0">
    
    Nome utente 1</p></td><td align="left" style="border-bottom:1px solid #c0c0c0">
    <div id="mystickytooltip" class="stickytooltip"><div style="padding:5px"><div id="sticky5" class="atip" style="width:200px"><center>informazioni utente</center>
    Nome e Cognome:Nome utente 2 
    Indirizzo:via xxxxxxx, 34 
    Codice Fiscale:XXXXXXXXXXX
    </div></div></div><td align="left" style="border-bottom:1px solid #c0c0c0">442</td><td align="left" style="border-bottom:1px solid #c0c0c0">
    
    Nome utente 2</p></td><td align="left" style="border-bottom:1px solid #c0c0c0">
    ...
    ...
    EDIT 1: Forse posso dare qualche info in più, il sito è basato su joomla ver 1.5 (anche se le pagine sono realizzate in php semplice e poi richiamate dal cms), comunque provando a visualizzare il sito con Firefox 15 ed explorer 8 e ho notato che solo il primo tooltip viene visualizzato correttamente, mentre quelli immediatamente successivi risultano essere inspiegabilmente vuoti, inoltre explorer mi avverte della presenza di questo simpatico errore che stando alle prime ricerche effettuate su google è abbastanza ricorrente.

    Dettagli errore pagina Web


    Messaggio: Proprietà o metodo non supportati dall'oggetto
    Linea: 23
    Carattere: 10
    Codice: 0
    URI: http://www.........it/media/system/js/mootools.js


    Messaggio: Proprietà o metodo non supportati dall'oggetto
    Linea: 59
    Carattere: 102
    Codice: 0
    URI: http://www.........it/media/system/js/mootools.js


    Messaggio: Proprietà o metodo non supportati dall'oggetto
    Linea: 53
    Carattere: 178
    Codice: 0
    URI: http://www.........it/media/system/js/mootools.js
    Potrebbe essere questa la causa dell'errata visualizzazione del sito?

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.