Newsgroup: it.comp.www.php
Titolo: Passaggio variabili tra funzioni

Buongiorno
Ho il seguente problema e non riesco ad uscirne:
Ho una pagina php con una funzione [nazioni] che mi estrae dei dati da un
file, li porta su una pagina WEB e ad ogni uno di questi dati è associato un
link con l'istruzione che segue:
 ."<td width = \" 100 \"><a
href=\"modules.php?name=Euro&amp;op=vedinazione\">$row[Italiano]</a></td>"
 dove [Euro] è il nome del modulo , [vedinazione] è il nome della successiva
funzione che mi dovrebbe consentire di visualizzare i dati della nazione
selezionata e [$row[Italiano]] è la variabile da inviare alla funzione
[vedinazione].
 Nella funzione [vedinazione] ho inserito la seguente istruzione per poter
estrarre i dati relativi alla sola nazione selezionata nella funzione
[nazioni]
 $sql = "SELECT * FROM ".$prefix."_nazioni WHERE Italiano LIKE
'$row[Italiano]'";
 Sicuramente dimentico qualche cosa in quanto la query sopra descritta non
riceve il valore della variabile $row[Italiano] dalla funzione [nazioni].
 Riuscite a darmi un consiglio per passare questo problema ?
 Grazie

  Riuscite a darmi un consiglio per passare questo problema ?
Il manuale, questo sconosciuto ...
http://www.php.net/manual/en/language.variables.scope.php
http://www.php.net/manual/en/functions.arguments.php
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.


Mi sono andato a vedere il manuale ... ma non riesco a trovare nulla che
riesca ad aiutarmi. Mi spiego: in generale č ben spiegata la funzione delle
variabili ma sta di fatto che non riesco ugualmente a passare tale variabile
alla funzione successiva e quindi, come precedentemente detto, non mi viene
eseguita la query.

 precedentemente detto, non mi viene eseguita la query.
Come stai provando a passarla?
-- 
I am what I am, I do what I can


 riceve il valore della variabile $row[Italiano] dalla funzione [nazioni].
Dovresti usare una funzione strutturata così:
function vediNazione($idNazione){
 global $prefix;
 $sql = "SELECT * FROM ".$prefix."_nazioni
            WHERE Italiano LIKE '$idNazione'";
 // etc etc....
}
e la funzione la puoi eseguire così:
vediNazione('$row[Italiano]');
Ciao
--
Mr.Brown

 vediNazione('$row[Italiano]');
Cosi' non funzionera' mai, al massimo puo' funzionare cosi:
	vediNazione("$row[Italiano]");
oppure
	vediNazione($row['Italiano']);
etc.


Sorry :-) devo rivedermi la differenza tra apici e virgolette.
Ciao
--
Mr.Brown


Azz pure qui ti trovo ;)
-- 
Stefano Aglietti - StallonIt on IRCnet - ICQ#: 2078431
Email: 
ste...@people.it
 - 
ste...@despammed.com
BlogPage: 
http://www.40annibuttati.it/
PGP keys available on keyservers  (cripted & signed PGP mail welcome)

 Azz pure qui ti trovo ;)
hehehehehe, era veramente parecchio che non passavo da queste parti.
--
Mr. Brown

 Come stai provando a passarla?
function nazioni() {
                ...
                               OpenTable();
                               //Query di estrazione dati - Nazioni CEE
        $sql = "SELECT Bandiera, ISO, Italiano, AnnoAD, AnnoMO FROM
".$prefix."_nazioni ORDER by ISO asc";
                       $result = $db->sql_query($sql);
                                  echo "<table width = \" 100% \" border
=\"0\">";
                                  echo "<tr>"."</tr>";
        //Dati Tabella
                       while ( $row = sql_fetch_array($result) )
            {
              echo "<tr>";
              echo "\t<td width = \"10% \"><img src=\"$row[Bandiera] \"
width = \"20 \" height = \" 10 \"></td>"
                                                 ."<td width = \" 8
\">$row[ISO]</td>"
                                                 ."<td width = \" 100 \"><a
href=\"modules.php?name=Euro&amp;op=vedinazione\">$row[Italiano]</a></td>"
                                                 ."<td width = \" 10
\">$row[AnnoAD]</td>"."<td width = \" 10 \">$row[AnnoMO]</td>";
              echo "</tr>";
            }
                                               echo "</table>";
                               CloseTable();
                               include ("footer.php");
                } else {
                               main($user);
                }
}
function vedinazione() {
                ....
                               OpenTable();
                               echo "<center><font
class=\"title\"><b>"._NATION."</b></font></center>";
                               //Query di estrazione dati - Nazioni CEE
        $sql = "SELECT * FROM ".$prefix."_nazioni WHERE Italiano LIKE
'$row[Italiano]'";
                       $result = $db->sql_query($sql);
        //Dati
                               echo "<table>";
                               while ( $rowi = sql_fetch_array($result) )
           {
              echo "<tr>";
              echo "\t<td><font
class=\"title\"><b>$rowi[Italiano]</b></font></td>";
              echo "</tr>";
        //Scheda della Nazione
                                  echo "<table width = \"100% \">";
                .....

 function nazioni() {
Hai letto il capitolo sullo scope delle variabili?
Hai letto il capitolo relativo ai parametri delle funzioni?


 
Fammi capire bene...
E' La riga qui sopra che dovrebbe passare la variabile alla pagina 
modules.php?
Se si' allora dovresti usare un ulteriore parametro GET nell'URL perchè 
da quello che hai scritto crei solo un link con NOME $row[italiano] (a 
proposito, segui il consiglio di Setec: usa $row['italiano']) ma 
trasmetti solo le info "name" e "op".

"David Ciamberlano" <STARTcda...@gmail.comSTOP> ha scritto nel
messaggio news:AbMbf.50406$Pe2.9...@twister2.libero.it...

Mi potresti far vedere dove inserire GET nella mia riga ? ... grazie


Inutile premettere il mio stato di incompetenza in questo caso :) ...
perdonate e un po di pazienza.
Praticamente si, la riga dovrebbe passare la variabile $row[Italiano]
selezionata alla funzione 'vedinazione' nel modulo 'Euro'.
Anche io ho visto che con l'istruzione da me scritta creo solo il link che
mi porta a 'vedinazioni' ma non mi porta la variabile da me selezionata.
Il risolvere tale problema per me è essenziale in quanto ho una serie di
pagina con il medesimo problema...
lista di prodotti da scegliere e invio ad una funzione in cui è necessario
che una variabile selezionata faccia da filtro ad una query
Grazie per l'aiuto

 Mi potresti far vedere dove inserire GET nella mia riga ? ... grazie
Dovresti usare una cosa del genere:
[...] <a 
href=\"modules.php?name=Euro&amp;op=vedinazione&amp;lingua={$row[italiano]}\">$row[Italiano]</a>
poi nella funzione modules.php usare $_GET['lingua'] per leggere il 
valore della variabile...
Dovrebbe essere lo stesso procedimento che usi per leggere "name" e "op"...

"David Ciamberlano" <STARTcda...@gmail.comSTOP> ha scritto nel
messaggio news:9z%bf.51540$Pe2.9...@twister2.libero.it...

Ti ringrazio....molto gentile...provo e ti faccio sapere.