Passaggio valore tra due pagine web

alessiof86

Utente Attivo
6 Lug 2009
134
0
0
Ciao a tutti mi osno cimentato da poco con questo linguaggio e devo dire che è fenomenale anche se alcune volte mi fa impazzire.... premesso che sono un novello, sto relaizzando un sito web per amici che vendono deii prodotti (un bel numero) mi osno creato un e attraverso
PHP:
// Mi connetto al database
																	$conn = mysql_connect("","","");
																	mysql_select_db("", $conn);
																	$query=mysql_query("SELECT * FROM mix"); 
																	$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=\"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<br><a href=\"#\"><img src=\"$nome_immagine\" alt=\"$nome_prodotto\" width=\"200\" height=\"200\" border=\"0\"/> </a>
				
				
 </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></br>" ; //chiudo la tabella 
																	
																	
																									   
																	?>
ora vorrei che al click sull'immagine si apra un pop-up o una nuova finestra con i dettagli del prodotti clikkato.
Come mi sonsigliate di fare?
Come recuperare il valore dell'immagine cliccata?
Spero di riuscire con il vostro aiuto
 
ciao
immagino (anzi spero bene) che ogni record che descrive il prodotto abbia il sui identificativo univoco (generalmente chiamato id)
se è cosi dove leggi i valori prelevi anche l'id
PHP:
<?php
//......
$id=$riga['id'];//e lo passi come querystringa alla pag in cui vuoi visualizzare i dettagli
echo "<td>$nome_prodotto<br><a href=\"pagina_dettagli.php?id=$id\" target=\"_blank\"><img src=\"$nome_immagine\" alt=\"$nome_prodotto\" width=\"200\" height=\"200\" border=\"0\"/> </a>          
 </td>"; 
 //.......
?>
poi nella pag pagina_dettagli.php (che si apre con taget _blank)
PHP:
<?php
//leggi la querystringa inviate
$id=(int)$_GET['idi'];
//fai la query
$q=mysql_query("SELECT * FROM mix WHERE id=$id");
//verifichi di avere un risultato e, se si, mostri tutti i dettagli
//....
?>

p.s.
non sbrodolare il codice, diventa difficile leggerlo
 
ok provo il tuo suggerimento e ti faccio sapere comunque si lo schema del db è il seguente
id
nome_prodotto
categoria_prodotto
prezzo
descrizione

Credo che vada bane ... le faccio sapere
Grazie mille
 
Ciao ho provoato il tuo ocnsiglio e sono riuscito a generare la pagina con il seguente codice

PHP:
// Mi connetto al database
                                                                    $conn = mysql_connect("","","");
                                                                    mysql_select_db("", $conn);
                                                                    $query=mysql_query("SELECT * FROM mix"); 
                                                                    $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=\"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<br><a href=\"pagina_dettagli.php?prodotto=$nome_prodotto\"><img src=\"$nome_immagine\" alt=\"$nome_prodotto\" width=\"200\" height=\"200\" border=\"0\"/> </a>
                
                
 </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></br>" ; //chiudo la tabella 
                                                                    
                                                                    
                                                                                                       
                                                                    ?>
Finqui tutto ok clicco sull immagine e si apre la pagina_dettagli?prodotto=(restituisce il nome del prodotto) e fn qui tutto ok. Qui nascono i problemi per mostrare tutti i campi del record con il nome prodotto come faccio, non riesco a capire dove sbaglio, mi da sembre zero io ho scritto così

PHP:
<?php
                                //leggi la querystringa inviate
                                $nome_prodotto=(varchar)$_GET['prodotto'];
                                //fai la query
				$conn = mysql_connect("","","");
				mysql_select_db("nomedb", $conn);
                                $query=mysql_query("SELECT * FROM mix WHERE prodotto=$nome_prodotto");
                                //verifichi di avere un risultato e, se si, mostri tutti i dettagli
                                //....
								echo "$nome_prodotto";
								echo "$descr_prodotto";
								echo "$prezzo";
                                ?>

Non funziona... dove sbaglio???
 
ciao
fai la query, ma non estrai i campi del record
PHP:
//....
$riga=mysql_fetch_array($query);//oppure mysql_fetch_assoc
echo "nome prodotto ".$riga['']."<br />";
//ecc....
 
ciao ho provato ma niente da fare mi restituisce sempre il nome dello stesso prodotto. Dove sbaglio? Nella pagina dove mostro i prodotti il codice è il seguente
PHP:
// Mi connetto al database 
                                                                    $conn = mysql_connect("","","");
                                                                     mysql_select_db("", $conn);
                                                                     $query=mysql_query("SELECT * FROM mix"); 
                                                                     $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=\"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<br><a href=\"pagina_dettagli.php?prodotto=$nome_prodotto\"><img src=\"$nome_immagine\" alt=\"$nome_prodotto\" width=\"200\" height=\"200\" border=\"0\"/> </a>
                  
                 
 </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></br>" ; //chiudo la tabella
                                                                     ?>

Fin qui tutto ok ora quando clicco sul prodotto interessato si apre la nuova pagina php ma non riesco a far scrivere nome del prodotto in automatico, ho seguito questi consigli ed ho impostato così il codice ma non funziona

PHP:
<?php 
                                //leggi la querystringa inviate 
                                $nome_prodotto=(varchar)$_GET['prodotto']; 
                                //fai la query 
                                $conn = mysql_connect("","",""); 
                                 mysql_select_db("nomedb", $conn); 
                                $query=mysql_query("SELECT * FROM mix WHERE prodotto=$nome_prodotto");
                                 //verifichi di avere un risultato e, se si, mostra
                                $riga=mysql_fetch_array($query);//oppure mysql_fetch_assoc 
		$nome_prodotto=$riga['prodotto'];
		 echo "$nome_prodotto";
                                ?>


Appare sempre lo stesso nome del prodotto per ogni immagine che clicco dove sbaglio???? AIUTO????
 
Si esattamente. Nella pagina dovra comparire il nome del prodotto l'immagine realtiva con la sua descrizione.
Il db è cosi composto
prodotto
descrizione
immagine

Ho fatto così ora funziona ma come posso aggiungere la descrizione e immagine.

Fino ad ora sono riuscito a far comparire solo il nome
PHP:
<?php
                                //leggi la querystringa inviate
                                $nome_prodotto=$_GET['prodotto'];
								
								
                                
		    $conn = mysql_connect("","","");
		    mysql_select_db("Sql552127_1", $conn);
                                $query=mysql_query("SELECT * FROM mix WHERE prodotto=$nome_prodotto");
                                //verifichi di avere un risultato e, se si, mostri tutti i dettagli
                                //....
								//.... 
								echo "Hai scelto il prodotto " . $nome_prodotto ;
								

                                ?>
 
Non ho ben capito cosa intendi, allo stesso modo di come hai fatto prima...
PHP:
$query=mysql_query("SELECT * FROM mix WHERE prodotto=$nome_prodotto"); 
$risultato = mysql_fetch_assoc($query);
echo "nome prodotto =".$risultato['prodotto']."<br/>";
echo "immagine =".$risultato['immagine']."<br/>";
e così via..

Penso ti conviene seguire qualche linea guida sulle funzioni base. Inoltre ti conviene usare l'id anzichè il nome_prodotto perchè se hai due prodotti che si chiamano allo stesso modo il db rileva solo il primo. Ma di nuovo ti consiglio di seguire qualche linea guida base :)
 

Discussioni simili