Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    utilizzo variabile in funzione

    Ciao a tutti,

    ho una funzione di questo tipo:
    codice:
    function EseguiRicerca($query, $opLink) {
    $sql = mysql_query($query);
    print "<center>";
    while ($Result = mysql_fetch_array($sql))
    	 	{
    		print $opLink."
    ";
    		}
    print "</center>";
    }
    Come vedete, $Result viene instanziata e valorizzata all'interno della funzione in base al risultato della query eseguita, passata tramite parametro alla funzione, chiamato $query.

    Dopodichè, nello script, faccio riferimento a questa funzione, utilizzando ad esempio:

    codice:
    EseguiRicerca("SELECT * FROM prova ORDER BY nome ASC", "<a href=\"../prova/edit.php?id=".$Result['id']."\">".$Result['nome']."</a>");
    ma $Result non viene valorizzato.
    E' errato fare riferimento a $Result nel parametro passato alla funzione?
    Ho provato anche a dare scope globale a $Result utilizzando:

    codice:
    global $Result;
    ma non sono riuscito a risolvere.

    Come posso risolvere il problema?

    ciao egrazie.

  2. #2
    Non può funzionare, perchè gli argomenti che passi vengono in realtà definiti nella funzione.
    Potresti usare eval() e vedere che combina!

    Altrimenti usa ad esempio per $Result['id'] =>[xDBRESULT.id.xDB]

    e poi utilizzi un str_replace splittando il risultato.

    usa ad esempio una funzione

    Codice PHP:
    function parseResult($opLink$Result)
    {
        
    $strparsed="";
        
    //verifico se c'è codice da sostituire
        
    if(strpos($oplink"[xDBRESULT.") !== false)
        {
            
    $temp=explode(".xDB]",$oplink);
            foreach(
    $temp as $t)
            {
                if(
    strpos($t"[xDBRESULT.") !== false)
                {
                    
    $t_ar=explode("[xDBRESULT."$t);
                    
    $strparsed.=$t_ar[0].$Result[$t_ar[1]];
                    
                }
                else 
    $strparsed.=$t;
            }
            return 
    $strparsed;
        }
        else return 
    $opLink


    Spero di esserti stato di aiuto!
    Antonio Correnti
    www.resetstudio.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.