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

    sostituire parametro in query string

    Ciao a tutti sto cercando un modo per poter sostituire dei parametri nella query string

    Partendo da questo:
    www.miosito.it?par1=10&par2=20&par3=30

    vorrei riuscire ad ottenere
    www.miosito.it?par1=15&par2=25&par3=30

    oppure:
    www.miosito.it?par1=15&par3=30

    Riuscite a darmi una mano?

    Grazie
    <i>I sogni passano se uno li fa passare</i>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Non si capisce dove sia il problema.

    Dove formi l'indirizzo usa delle variabili
    Codice PHP:
    echo "[url='www.miosito.it?par1=$par1&par2=$par2&par3=$par3']link[/url]"
    Se poi devi prevedere che un parametro possa mancare, verificane prima l'esistenza e poi con un if/elseif/.../else crei e mostri il link nel formato corretto.

  3. #3
    Ho già strutturato il codice con gli if...elseif...else, ma pensavo si potesse ottimizzare il codice usando delle funzioni php come la str_replace per la parte fissa del parametro combinata a qualche altra funzione per prendere la parte variabile.

    Esiste qualcosa del genere o mi devo tenere le mie infinite righe di codice?

    Grazie
    <i>I sogni passano se uno li fa passare</i>

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Devi tenerti il codice, perché tanto anche per decidere quale str_replace() eseguire devi usare una struttura if/elseif/.../else

  5. #5
    Ho trovato e riadattato al mio scopo queste funzioni:

    Codice PHP:
        function add_querystring_var($url$key$value) {
            
    $url preg_replace('/(.*)(?|&)' $key '=[^&]+?(&)(.*)/i''$1$2$4'$url '&');
            
    $url substr($url0, -1);
            if (
    strpos($url'?') === false) {
                return (
    $url '?' $key '=' $value);
            } else {
                return (
    $url '&' $key '=' $value);
            }
        }
        
        function 
    remove_querystring_var($url$key) {
            
    $url preg_replace('/(.*)(?|&)' $key '=[^&]+?(&)(.*)/i''$1$2$4'$url '&');
            
    $url substr($url0, -1);
            return (
    $url);
        } 
    Spero possano semplificare la vita a qualcuno.
    <i>I sogni passano se uno li fa passare</i>

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.