problema passaggio di parametri tra due pagine php

step_over

Nuovo Utente
26 Nov 2012
21
0
0
salve, sono nuovo di questo forum, ma ho un problema con il passaggio di parametri che da solo non riesco a rispondere.. spero di riuscire a spiegarmi bene...
ho una pagina php che dopo una select crea una tabella in html. l'utente dopo aver visto risultati clicca su una casella della tabella per aprire i dettagli di quel contatto... io come posso fare a capire che contatto è e spedirlo alla pagina successiva che elabora il tutto? perchè se spedisco l'idcliente mi spedisce l'ultimo della tabella....

grazie in anticipo...
 
ciao
un po' vago.
da cosa è formata la tabella? cioè quali dati contiene?
in base alla selezione i dati che presenti in tabella vengono da un db?
eventualmente posta il codice di come si forma detta tabella
 
ciao, la tabella deriva dalla select sulla tabella clienti, che sta in un database, le tue tabelle contengono:

tabella clienti:
Codice:
"CREATE TABLE clienti (IdCliente BIGINT(4) NOT NULL AUTO_INCREMENT, RagioneSociale VARCHAR(60), PartitaIva VARCHAR(13), CodiceFiscale VARCHAR(17), IndirizzoCliente VARCHAR(35), Cap INT(5), Citta VARCHAR(30), Provincia VARCHAR(2), Nazoine VARCHAR(12), NumeroTelefono VARCHAR(20), NumeroFax VARCHAR(20), NumeroCellulare VARCHAR(20), Email VARCHAR(45), NomeContatto VARCHAR(18), Annotazione VARCHAR(100), BancaAppoggio VARCHAR(30), Abi INT(5), Cab INT(5), Pagamento VARCHAR(35), PRIMARY KEY (IDcliente)) ENGINE=InnoDB";


risultatato select: idcliente, ragione sociale, indirizzo, città, provincia, numero telefono, numero cellulare, nome contatto, annotazioni

ti posto anche il codice della pagina dove ho il problema...
PHP:
<html>

<body>
<?php
$db_host = "localhost";
$db_user = "root"; 
$db_password = "";
$db_name = "Bdfattura";

//crea stringa per connessione al database
$Con = mysql_connect ($db_host, $db_user, $db_password);

//Controllo connessione
if (!$Con) die ("Errore nella connessione. Verificare i parametri config.inc.php");

//Apertura Data Base
mysql_select_db($db_name,$Con) or die ("Errore nella selezione del database. Verificare i parametri nel file config2.inc.php");

// recupero le variabili dal form
$RagSoc = $_GET['RagSociale'];
$Contatto = $_GET['NomeContatto'];
$Prov = $_GET['Prov'];
$citta = $_GET['Citta'];
$Tel = $_GET['NumFisso'];

//creo la select
$sqlstr="SELECT `IdCliente`, `RagioneSociale`, `IndirizzoCliente`, `Citta`, `Provincia`, `NumeroTelefono`, `NumeroCellulare`, `NomeContatto`, `Annotazione` FROM `clienti` WHERE 'IdCliente' >= 0";
// controllo quali parametri sono stati compilati e finisco di compilare la stringa
if ($RagSoc!="") $sqlstr=$sqlstr."&& RagioneSociale=".'"'.$RagSoc.'"';
if ($Contatto!="")$sqlstr=$sqlstr."&& NomeContatto=".'"'.$Contatto.'"';
if ($Prov!="")$sqlstr=$sqlstr."&& Provincia=".'"'.$Prov.'"';
if ($citta!="")$sqlstr=$sqlstr."&& Citta=".'"'.$citta.'"';
if ($Tel!="")$sqlstr=$sqlstr."&& NumeroTelefono=".'"'.$Tel.'"';

//eseguo il comando
$risultato=mysql_query($sqlstr);

//verifica se esiste la tabella
if (!$risultato) exit ("errore nell interrogazione <br> $sqlstr ");
//creazione testata tabella
?>

<TABLE ALIGN="center">
<TABLE BORDER =1 CELLPADDING=4>
<TR>
<TH> cliente</TH>
<TH> edit</TH>
<TH> ragione sociale</TH>
<TH> indirizzo</TH>
<TH> città'</TH>
<TH> provincia</TH>
<TH> numero telefono</TH>
<TH> numero cellulare</TH>
<TH>contatto</TH>
<TH> annotazioni</TH>
</TR>
<?php
//inizializzo i cookie
setcookie("ID");

//estraggo riga per riga
$riga=mysql_fetch_array($risultato);
while ($riga) 
{

//estraggo tutti i campi
$IdCli= $riga['IdCliente'];
$RagSoc = $riga['RagioneSociale'];
$IndirizzoCliente = $riga['IndirizzoCliente'];
$Citta = $riga['Citta'];
$Provincia = $riga['Provincia'];
$NumeroTelefono = $riga['NumeroTelefono'];
$NumeroCellulare = $riga['NumeroCellulare'];
$NomeContatto = $riga['NomeContatto'];
$Annotazione = $riga['Annotazione'];
echo "<TR>";
echo "<TD> $IdCli </TD>";
//inserisco il bottone
?>
<TD>
<A HREF="maschera2.php"><IMG SRC="img1.jpg" onclick="
<?php  
setcookie("ID","$IdCli", time()+3600);
?>"></A></TD>
<?php
echo "<TD> $RagSoc </TD>";
echo "<TD> $IndirizzoCliente </TD>";
echo "<TD> $Citta </TD>";
echo "<TD> $Provincia </TD>";
echo "<TD> $NumeroTelefono </TD>";
echo "<TD> $NumeroCellulare </TD>";
echo "<TD> $NomeContatto </TD>";
echo "<TD> $Annotazione </TD>";
echo "</TR>";
//incremento la riga
$riga=mysql_fetch_array($risultato);
}
//chiudo la tabella
echo "</TABLE>";

//chiudi connessione
mysql_close($Con);
?>
</body>
</html>

io con i cookie sono riuscita a passare il parametro id da una pagina all'altra solo che mi passa l' id dell'ultima riga della tabella che ho creato... non quello che seleziono sulla pagina html...
 
Ultima modifica di un moderatore:
ciao
se non ho capito male il tuo problema,potresti risolverlo così

nella tabella dove mostri i dati e che l'utente se vuole clicca e vede tutti i suoi dettagli potresti aggiungere una cella
es:
PHP:
<?php
//....
echo "<td> $Annotazione </td>";
echo "<td><a href=\"dettagli.php?id=$IdCli\">vedi dettagli</a></td>";
//...
?>

poi nella pagina dettagli.php
PHP:
<?php
if(!isset($_GET['id'])){
	//fai un ritorno alla pagina
}else{
	$IdCli=$_GET['id'];
	//qui potresti mettere una verifica che sia un numero
	//dati di connessione
	//e fai una select sul db
	$query="SELECT * FROM tabella WHERE idcliente=$IdCli";
	//ecc.......
}
?>

p.s.
scrivi i tag minuscoli e preferibilmente anche i nomi dei campi e variabili (si evitano errori)
 
grazie mille è proprio quello che mi serviva... visto che e in tema si può fare in modo che il risultato della pagina dettagli.php si aprà in un pop-up??
 
ciao
io faccio così per aprire un pop
PHP:
<?php
//....
echo "<a href=\"dettagli.php?id=$IdCli\" onclick=\"window.open(this.href,'dettagli','width=800,height=600,left=200,top=300'); return false\">vedi dettagli</a>";
//....
?>
e in alto, per non costringere l'utente a usare i pulsanti del bw, nella pagina pop metto
HTML:
<a href="javascript:" onclick="window.close();" title="chiudi/close"><img src="tua_cartella/chiudi.jpg" width="29" height="29" alt="chiudi/close"></a>
(in html o in php con l'echo)
dove chiudi.jpg è la classica X su fondo rosso
 
scusate se disturbo ancora.. ma devo fare la stessa cosa tra altre due pagine ma quando cerca di recuperare l'id mi da errore e non riesco a capire cosa è sbagliato.. vi posto il codice...

pagina 1...
Codice:
<html>
$stringa=$IdProg."/".$numero;
<form name="form1"  method="get" >

.......

<button value="AVANTI" name="avanti" onclick="this.form.action='fattura2.php?id=$stringa'">avanti</button>
<button value="NUOVI RECORD" name="nuovi record" onclick="this.form.action='fattura4.php?id=$stringa'">nuovo record</button>
</form>
</html>

pagina fattura2 e fattura4

Codice:
<html>
<?php
.....

//recupero stringa
if(!isset($_GET['id'])){ 
    //fai un ritorno alla pagina 
	die("errore");
}else{ 
    $stringa=$_GET['id']; }
...
?>
</html>
 

Discussioni simili