[RISOLTO] Passaggio di valori con GET tra una immagine e una descrizione

Alessandro Zanchi

Nuovo Utente
14 Feb 2014
5
0
0
Ciao ragazzi,
leggo tutti i vostri commenti e devo dire che mi hanno aiutato molto a risolvere non pochi problemi!...:)
Volevo chiedere se riuscite ad aiutarmi con questo problemino:

ho una tabella in mysql con sectionId, sectionTitle, sectionText, sectionImage, sectionThumb.

in php sono riuscito a creare un menù che viene creato con thumb (immagini piccole) e titolo ordinato per righe. Al click sulla thumb in iframe mi apre l'immagine corrispondente...il mio problema è che devo recuperare anche la descrizione (sectionText) in un campo di testo che appare alla selezione della miniatura...vi posto il codice, mi potete aiutare?...so che dovrei recuperare l'id e di conseguenza con un ciclo recuperare le altre righe da sql...ma non so come...please!!!!

PHP:
<?php

$dbhost							= "localhost";
$dbuser							= "root";
$dbpass							= "";
$dbname							= "Sql313522_1";

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("ERRORE CONNESSIONE AL DATABASE");
mysql_select_db($dbname) or die ("ERRORE DI SELEZIONE DATABASE");




$sql = "SELECT  * FROM sedie ORDER BY sectionTitle ASC";
$query = mysql_query($sql);

while($row = mysql_fetch_array($query))
{
	$file = $row['sectionImage'];
	$file2 = $row['sectionTitle'];
	$descrizione = $row['sectionText'];

	echo '<div id="container">
	
	<div id="thumbnail"><a href="http://forum.mrwebmaster.it/sedie/images/'. $file.'" target="centrale"><img src="http://forum.mrwebmaster.it/sedie/images/'.$row['sectionThumb'].'" width="130" height="85" alt="image" /></a></div>

	</div>';
}


?>
GRAZIE RAGAZZI, SIETE GRANDI.
 
Ultima modifica di un moderatore:
Ciao, per prima cosa non poi assegnare lo stesso id a più di un elemento e il tuo ciclo crea tutti i div con id container
ti converrebbe richiamare nell'iframe una pagina php a cui passerai l'id dell'immagine
PHP:
href="pagina.php?id='. $row['sectionId'] .'"
in questa pagina esegui una query sul db che ti estrarra le informazioni che ti servono relative a quell'immagine
PHP:
$sql = "SELECT  * FROM sedie WHERE sectionId = " (int) $_GET['id'];
e mostri i dati estratti
ps:
racchiudi il codice che posti tra i tag presenti sulla barra di formattazione ( ultime 3 icone seconda linea)
 
Ciao, e grazie per avermi risposto. Scervellandomi (non avendo una gran esperienza di php) sono riuscito ad arrivare a questo punto: ho incluso un file in php racchiudendo tutto il codice e poi richiamando le sezioni che mi interessano nell'iframe...ma non mi richiama le informazioni e vedo che al click l'id non viene passato...mi puoi dire il perché, grazie e scusa se approfitto della tua esperienza...che invidia...:)

PHP:
<?php
/*
Effettuo la connessione al database 
*/

$database_host		= 'localhost';
$database_name		= 'Sql313522_1';
$database_user		= 'root';
$database_password	= '';

$db_connection = @mysql_pconnect($database_host,$database_user,$database_password) or die ('Errore di connessione');
$db_select = @mysql_select_db($database_name) or die ('Errore di selezione database');

// Ottenere i valori delle variabili che potrebbero essere state tramandate da un link in una delle righe nella pagina sedie.php. 
// Usiamo GET qui per ottenere trasmesso dal metodo GET come dove passavano attraverso un link.

$id		= $_GET['id'];
$sed	= $_GET['sed'];

// Abbiamo aggiunto il seguente per ottenere i valori quando passate dalla pagina di ricerca in quanto saranno poi essere passati per posta.

if ($id <1) { 
	$id = $_POST['id']; 
} 
if ($sed!=1) { 
	$sed = $_POST['sed']; 
}


// Se c'è un $ id superiore a 0 e $ sed = 1 allora è stato fatto un collegamento fila risultato per restituire un singolo dato voce 
// Così otteniamo i dati per l'utente dal database

if ($id > 0 && $sed==1) {

// Eseguo la query e ottenere le informazioni dal database	

	$the_qry = ("SELECT * FROM `sedie` WHERE `sectionID`=$id");
	
	$the_rslt = @mysql_query($the_qry) or die (mysql_error());
	
	// Ottengo i risultati
	
	$row = mysql_fetch_array($the_rslt);
		
	$image = $row["sectionImage"];
	$mini = $row["sectionThumb"];
	$titolo = stripslashes($row["SectionTitle"]);
	$descrizione = stripslashes($row["sectionText"]);
	
} else { // Se non ci fosse nessun valore $id e nessun valore $sed ottengo tutte le voci

	if ($this_page=='rows') {
	
		// Eseguo la query per ottenere le informazioni dal database
		$the_qry = ("SELECT  * FROM sedie ORDER BY sectionTitle ASC");
		
		$the_rslt = @mysql_query($the_qry) or die (mysql_error());
		
		// Consente di impostare alcune informazioni da $rowstext che possiamo mostrare all'utente, questo viene visualizzato sulla pagina FW 
		
		$rowstext = 'Attualmente ci sono' . mysql_num_rows($the_rslt) . 'prodotti nella sezione sedie.';
	
		// Eseguo un loop per estrarre i dati
		while ($row = mysql_fetch_array($the_rslt)) {
		
			$id = $row["sectionID"];
			$image = $row["sectionImage"];
			$mini = $row["sectionThumb"];
			$titolo = stripslashes($row["sectionTitle"]);
			$descrizione = stripslashes($row["sectionText"]);
			
			// Imposto il collegamento alla variabile miniature in modo che l'utente può selezionare i dati individuali da visualizzare
			$mini = '<a href="./sedieIframe.php?id=' . $id . '&sed=1"><img src="../sedie/images/'.$row['sectionThumb'].'" width="130" height="85" alt="image" /></a>';
			
			echo $mini;
			echo $titolo;
		
		}
	} else {
		$descrizione = 'Errore di recupero descrizione';
		$titolo = 'Errore di recupero titolo';
	}
}
?>
 
Le tue risposte non vengono automaticamente pubblicate dai un occhiata a questa discussione

stai attento alle maiuscole/minuscole
PHP:
$row["SectionTitle"]
è diverso da
PHP:
$row["sectionTitle"]
$this_page non è valorizzata
Hai stravolto un pò lo script iniziale? che fine ha fatto l'iframe?
Se ho capito quello che vuoi fare ti conviene usare un po di javascript
 
Grazie per le risposte. Si ho cambiato lo script, cerco di farti capire: mi hanno passato un file in freeway e devo farlo interagire con php e mysql per il recupero delle miniature e delle informazioni. Vorrei farlo in dream o as3 dove mi muovo abb bene, ma niente lo vogliono mantenere in freeway. Allora con i markup cerco di farlo funzionare...non penso sia una cosa impossibile è che faccio fatica a capire. Ti allego questa immagine x farti capire meglio e poi ti spiego lo script.

image2.jpg

PHP:
if ($this_page=='rows')
Questa variabile l'ho messa prima dell'html della pagina.

Le anteprime e i titoli vengono estratti dal ciclo e li richiamo un un semplice
PHP:
echo $titolo e echo $mini

Il problema è che quando gli clicco sopra non riesco a fargli passare l'id nel iframe centrale che chiamando la pagina sedieIframe.php dovrebbe caricarmi con altri echo l'immagine e la descrizione.

Hai qualche dritta per favore da darmi?
Ti riallego lo script:
PHP:
<?php
/*
Effettuo la connessione al database 
*/

$database_host		= 'localhost';
$database_name		= 'Sql313522_1';
$database_user		= 'root';
$database_password	= '';

$db_connection = @mysql_pconnect($database_host,$database_user,$database_password) or die ('Errore di connessione');
$db_select = @mysql_select_db($database_name) or die ('Errore di selezione database');

// Ottenere i valori delle variabili che potrebbero essere state tramandate da un link in una delle righe nella pagina sedie.php. 
// Usiamo GET qui per ottenere trasmesso dal metodo GET come dove passavano attraverso un link.

$id		= $_GET['id'];
$sed	= $_GET['sed'];

// Abbiamo aggiunto il seguente per ottenere i valori quando passate dalla pagina di ricerca in quanto saranno poi essere passati per posta.

if ($id <1) { 
	$id = $_POST['id']; 
} 
if ($sed!=1) { 
	$sed = $_POST['sed']; 
}


// Se c'è un $ id superiore a 0 e $ sed = 1 allora è stato fatto un collegamento fila risultato per restituire un singolo dato voce 
// Così otteniamo i dati per l'utente dal database

if ($id > 0 && $sed==1) {

// Eseguo la query e ottenere le informazioni dal database	

	$the_qry = ("SELECT * FROM sedie WHERE sectionID=$id");
	
	$the_rslt = @mysql_query($the_qry) or die (mysql_error());
	
	// Ottengo i risultati
	
	$row = mysql_fetch_array($the_rslt);
		
	$image = $row["sectionImage"];
	$mini = $row["sectionThumb"];
	$titolo = stripslashes($row["sectionTitle"]);
	$descrizione = stripslashes($row["sectionText"]);
	
} else { // Se non ci fosse nessun valore $id e nessun valore $sed ottengo tutte le voci

	if ($this_page=='rows') {
	
		// Eseguo la query per ottenere le informazioni dal database
		$the_qry = ("SELECT  * FROM sedie ORDER BY sectionTitle ASC");
		
		$the_rslt = @mysql_query($the_qry) or die (mysql_error());
		
		// Consente di impostare alcune informazioni da $rowstext che possiamo mostrare all'utente, questo viene visualizzato sulla pagina FW 
		
		$rowstext = 'Attualmente ci sono' . mysql_num_rows($the_rslt) . 'prodotti nella sezione sedie.';
	
		// Eseguo un loop per estrarre i dati
		while ($row = mysql_fetch_array($the_rslt)) {
		
			$id = $row["sectionID"];
			$image = $row["sectionImage"];
			$mini = $row["sectionThumb"];
			$titolo = stripslashes($row["sectionTitle"]);
			$descrizione = stripslashes($row["sectionText"]);
			
			// Imposto il collegamento alla variabile miniature in modo che l'utente può selezionare i dati individuali da visualizzare
			$mini = '<a href="sedieIframe.php?id=' . $id . '&sed=1" id="centrale"><img src="../sedie/images/'.$row['sectionThumb'].'" width="130" height="85" alt="image" /></a>';
			
			echo $mini;
			echo $titolo;
		
		}
	} else {
		$descrizione = 'Errore di recupero descrizione';
		$titolo = 'Errore di recupero titolo';
	}
}
?>
 
Cia Criric, ti ringrazio per l'aiuto! Non ci crederai mai ma il mio script ora funziona e recupera tutte le informazioni passandole con id all'iframe centrale...che soddisfazione! Sai dov'era l'errore? Scrivo sempre sectionID...stavolta avevo scritto nell'sql sectionId con la d piccccccolllllaaaaaa, povero php come faceva a recuperare l'id?...:pernacchi

Ti volevo chiedere l'ultima cortesia che magari te lo sai subito mentre io dovrei spaccarmi il cervello...la foto grande invece di appararire, mi scrive il nome della foto.l'estensione...come faccio a farla apparire? io la recupero così:

PHP:
echo "../sedie/images/'. $image.'";

Metto il percorso della cartella e l'immagine da prendere...mi passa il nome non l'immagine!!!

Grazie del tuo aiuto, senza le tue dritte non ci sarei mai arrivato.
 
Anche se non mi hai risposto ho fatto grazie...logicamente le immagini si mostrano con img src...grz e a presto, siete grandi:byebye::byebye:
 
Bravo bel lavoro :fonzie:
Anche perdendo un pò più di tempo arrivare alla soluzione continuando a sbatterci la testa da più soddisfazione :cool:
 

Discussioni simili