Consiglio su pagina sito web vetrina

alessiof86

Utente Attivo
6 Lug 2009
134
0
0
Buonasera a tutti, spero che mi possiate aiutare. Ho intenzione di creare un sito che mostra i prodotti di un amico che ha un azienda. Ho pensato ad una pagina con le foto dei prodotti che al passaggio del mouse sull immagine mostra la descrizione del prodotto. Ora vi chiedo se è possibile usare un tooltip che estrae le descrizioni testuali da un db? spero di essere stato chiaro, scusate ma sono un novello di siti web. Aspetto vostri consigli?
 
ciao
ecco un'idea, ti allego lo zip del js se non risci a troralo in rete


PHP:
<script  type="text/javascript" language="javascript" src="_fileJS/tooltip-R02.js"></script>
<?php
//....connessione al db....
//.............
$query=mysql_query("SELECT * FROM prodotti");
while( $riga=mysql_fetch_array($query)){
	//leggi i valori dal db
	$nome_immagine=$riga['immagine'];//verificare se ti serva anche la path. es immagini/imm_1.jpg
	$nome_prodotto=$riga['immagine'];
	$descr_prodotto=$riga['descrizione'];
	echo "<img src=\"$nome_immagine\" alt=\"$nome_prodotto\" width=\"180\" height=\"112\" border=\"0\" onMouseOut=\"toolTip('',0)\" onMouseOver=\" toolTip('$descr_prodotto',200)\"/><br>";
}
 

Allegati

allora perfetto il tooltip è proprio quello che cercavo, però non ho capito una cosa, Io vorrei realizzare una griglia di prodotti (per esempio 3 per ogni riga) , allora ho pensato di creare una tabella (formata da 3 colonne) nella prima riga ci sono i nomi dei prodotti corrispndenti alle immagini che inserisco nella seconda riga. Le immagini le vorrei inserire tramite html mentre nome prodotto e la descrizione che apparira nel tooltip verranno atrapolati dal db. Ho pensato di modificare il codice da te postato così
Codice:
$query=mysql_query("SELECT * FROM prodotti"); 
while( $riga=mysql_fetch_array($query)){ 
    //leggi i valori dal db 
     $nome_prodotto=$riga['prodotto']; 
    $descr_prodotto=$riga['descrizione']; 
    echo "<table><tr>";
    echo "<td>" . $riga['prodotto'] . "onMouseOut=\"toolTip('',0)\" onMouseOver=\" toolTip('$descr_prodotto',200)\" </td>";
    echo "</tr></table>";
 }

ma non funziona!!!
Mi aiutate a modificare il codice magari spiegandomi per arrivare a quello che voglio ottenere
 
ciao
devi crearti una tabella (indipendentemente da come carichi le immagini) fatta circa

id int (9) autoincrement prymarykey //indispensabile per poi gestire
nome varchar(259) //qui il nome del prodotto
descrizione mediumtext //qui la descrizione
immagine varchar (250) //qui il nome del file es. foto_1.jpg o foto_2.png o.....

altrimenti come fai a legare il record all'immagine che hai?
ti ho messo i campi essenziali, se te ne servono poi puoi aggiurgerne altri. es prezzo, data_inserimento......

p.s.
ti ricordo: "un problema => un post" questo perche altri utenti potrebbero avere i tuoi stessi problemi e, continuendo il pots, che è partito col tooltip, è difficile trovarlo l'eventuale soluzione
 
ok scusa per aver postato più di un problema senza aprire una nuova discussione, da ora per altri post mi comporterò come da te suggerito. Ok ho creato il database pero ora vorrei che ogni record ossia nome del prodotto e l immagine venga inserita in una cella della tabella (per esempio la prima) il prossimo record nome e immagine venga inserita nella seconda cella e con il codice che ho postato prima non ottengo niente, come posso risolvere?
 
ciao
prova in questo modo, non l'ho testato ma "dovrebbe" funziare
leggi i commenti

PHP:
<script  type="text/javascript" language="javascript" src="_fileJS/tooltip-R02.js"></script> 
<?php 
//....connessione al db.... 
//............. 
$query=mysql_query("SELECT * FROM prodotti");
$num_rec=mysql_num_rows($query);//calcolo quanti record ci sono
$num_col=3; //definisco di quante colonne deve essere fatta la tabella
$conta=0;//azzero un contatore
$apro_riga="<tr>";//due variabili per <tr>....</tr>
$chiudo_riga="</tr>";
//apro la tabella
echo "<table class=\"pinco_pallo\">";
while( $riga=mysql_fetch_array($query)){ 
    if($conta==0){echo $apro_riga;}//apro la riga se conta è zero
	//leggi i valori dal db 
    $nome_immagine=$riga['immagine'];//verificare se ti serva anche la path. es immagini/imm_1.jpg 
    $nome_prodotto=$riga['immagine']; 
    $descr_prodotto=$riga['descrizione']; 
    //creo le celle aggiungendo <td>....</td> (ho tolto il <br>)
	echo "<td><img src=\"$nome_immagine\" alt=\"$nome_prodotto\" width=\"180\" height=\"112\" border=\"0\" onMouseOut=\"toolTip('',0)\" onMouseOver=\" toolTip('$descr_prodotto',200)\"/></td>"; 
	$conta++;//incremento il contatatore di 1
	if($conta >($num_col-1)){//il contatore ha segnato 0, 1 , 2
		$conta=0;//riporto il contatore a zero
		echo $chiudo_riga;//chiudo la riga
	}
} 
echo "</table>"; //chiudo la tabella
//.....
?>
se non funzia posta gli errori

p.s.
usa il tag PHP non CODE quando c'è del php, si evidenziano meglio le righe (ed ev. errori)
 
Perfetto funziona il tutto e ho aggiunto nuovi parametri quelli che non riesco a modificare è che così con le istruzioni date da te vengono estratti i dati dal db e costruita una tabella dove c'è foto e tooltip con descrizione, ma non riesco a far apparire il nome nella cella dove viene caricata l'immagine come posso fare?
 
ciao

$nome_immagine=$riga['immagine'];//verificare se ti serva anche la path. es immagini/imm_1.jpg
$nome_prodotto=$riga['immagine']; ??????????
$descr_prodotto=$riga['descrizione'];
............

il prodotto si chiama come l'immagine (es. salami.jpg o l'immsgin si chiama salami.jpg e il prodotto salami)?

poi puoi metterelo nella stassa cella
PHP:
<?php
//........
 echo "<td><img src=\"$nome_immagine\" alt=\"$nome_prodotto\" width=\"180\" height=\"112\" border=\"0\" onMouseOut=\"toolTip('',0)\" onMouseOver=\" toolTip('$descr_prodotto',200)\"/>$nome_prodotto</td>"; 
//.....
?>
oppure in una cella l'immagine e nall'adiacente il nome

PHP:
<?php
//........
 echo "<td><img src=\"$nome_immagine\" alt=\"$nome_prodotto\" width=\"180\" height=\"112\" border=\"0\" onMouseOut=\"toolTip('',0)\" onMouseOver=\" toolTip('$descr_prodotto',200)\"/></td>"; 
 echo "<td>$nome_prodotto</td>"
//.....
?>
 
Ho optatp per la rpima opzioni e ho scielto questo codice
PHP:
echo "<table class=\"prodotti_table\" align=\"center\">"; 
while( $riga=mysql_fetch_array($query)){  
    if($conta==0){echo $apro_riga;}//apro la riga se conta è zero 
    //leggi i valori dal db  
    $nome_immagine=$riga['immagine'];//verificare se ti serva anche la path. es immagini/imm_1.jpg 
     $nome_prodotto=$riga['prodotto'];  
    $descr_prodotto=$riga['descrizione'];  
    //creo le celle aggiungendo <td>....</td> (ho tolto il <br>)
	 
     echo "<td>$nome_prodotto<img src=\"$nome_immagine\" alt=\"$nome_prodotto\" width=\"180\" height=\"112\" border=\"0\" onMouseOut=\"toolTip('',0)\" onMouseOver=\" toolTip('$descr_prodotto',200)\"/></td>";
     $conta++;//incremento il contatatore di 1 
    if($conta >($num_col-1)){//il contatore ha segnato 0, 1 , 2 
        $conta=0;//riporto il contatore a zero 
        echo $chiudo_riga;//chiudo la riga 
    } 
}  
echo "</table>"; //chiudo la tabella

il problema è che la descrizone è abbastanza lunga come mi consiglia di impostare il db? TEXT, LONG TEXT, MEDIUM TEXT? Per far sì che stampi anche caratteri accentati che collection devo usare?
 
Ah dimenticavo ma potrebbe ssere il problema del tooltip in quanto per i testi lunghi non mi visualizza nulla ossia non appare il tolltip con dentro la descrizione (solo con testi lunghi come 1/4 di foglio A4) come posso fare? Grazie millle
 
ciao
secondo me dovresti nel tooltip mettere solo il nome del prodotto (o una brevissima descrizione) e mettere un link (es. "salami di felino....leggi tutto") e cliccando sul link fai aprire una finestra con tutta la descrizione
 
si ma io voglio far apparire la descrizione in questo tooltip ..... le descrizioni si aggirano intorno alle 150 parole. Come devo fare? Il db non mi mostra i dati per fresi lunghe mentre se inserisco nel db parole o frasi corte tutto funziona alla perfezione...dov'è il problema non riesco a capire?
 
ciao
le taglia o non le inserisce?
se le taglia modifica il campo descrizione a mediumtex (o a longtex)
in long text ci sta la bibbia intera
 
Non le inserisce ..praticamente blocvca anche il tooltip (quando mi metto sull immagine non compare niente... grazie mille per la tua disponibilità
 
I dati li inserisco manualmente tramite phpmyadmin.... mentre per il dump? mi spieghi come posso fare?
 
ciao
sempre da phpmyadmin, o scrivi manualmente i nomi dei campi e le loro caratteristiche.

p.s.
verifica di aver scritto i nomi esattamente corrispondenti compreso maiuscole/minuscole
 
ciao scrivo tutto manualmente (ossia i prodotti e la descrizione). questo è il codice con cui prelevo i dati
PHP:
echo "<table class=\"prodotti_table\">"; 
while( $riga=mysql_fetch_array($query)){  
    if($conta==0){echo $apro_riga;}//apro la riga se conta è zero 
    //leggi i valori dal db  
    $nome_immagine=$riga['immagine'];//verificare se ti serva anche la path. es immagini/imm_1.jpg 
     $nome_prodotto=$riga['prodotto'];  
    $descr_prodotto=$riga['descrizione'];  
    //creo le celle aggiungendo <td>....</td> (ho tolto il <br>)
	 
    echo "<td>$nome_prodotto<img src=\"$nome_immagine\" alt=\"$nome_prodotto\" width=\"300\" height=\"200\" border=\"0\" onMouseOut=\"toolTip('',0)\" onMouseOver=\" toolTip('$descr_prodotto',200)\"/></td>"; 
     $conta++;//incremento il contatatore di 1 
    if($conta >($num_col-1)){//il contatore ha segnato 0, 1 , 2 
        $conta=0;//riporto il contatore a zero 
        echo $chiudo_riga;//chiudo la riga 
    }


Non credo isa un problema dio nomi in quanto a volte appare ladescrizione nel tootip mentre a volte non apare il tooltip... spero di essere stato chiaro
 
ciao
ti dicevo di fare il dump perche così provavo con una tabella uguale alla tua.
a me il tooltip funzia anche se non so se per testi lunghi.
prova a aumentarne la dimensione
onMouseOver=\" toolTip('$descr_prodotto',400)\"

poi per caso hai dei nomi che hanno l'apostrofo?
 

Discussioni simili