Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    38

    [aiuto] variabili che non vengono settate

    Ciao a tutti,
    sto per diventare pazzo e quindi chiedo aiuto

    Ho modificato un sistema di paginazione trovato sul web,
    utilizza PHP + JS in modo da non ricaricare tutta la pagina.
    Il fatto di non ricaricare la pagina è un'esigenza, in quanto la stessa contiene
    un filmato Flash che ripartirebbe ogni volta che si carica un nuovo set di record.

    Il sistema lavora in questo modo:
    la pagina del sito invoca il js,
    il js invoca una seconda pag in PHP passando una serie di parametri via URL,
    la seconda pagina in PHP raccoglie i dati (query MySQL) li elabora (PHP),
    dopodiché il js li *inietta* nella pagina d'origine

    Pag. precedente e pag successiva funzionano bene.

    Volevo, però, aggiungere un *mostra tutti* e quando sono visibili tutti un *mostra meno*.

    Ho quindi aggiunto il link *mostra tutti* che il js passi nell'url una roba del tipo
    *mia_pagina_di_elaborazione.php?p=1&lang=it&showre c=all*

    Nella pag PHP di elaborazione ho inserito questo

    codice:
    $show_all_recs=''; // per ottenere tutti i record il valore deve essere *all* 
    if (isset($_GET["showrec"]))
    {
    	$show_all_recs=$_GET["showrec"];
    }
    dopidiché

    codice:
    if($show_all_recs=='all') // *all* e' il valore che visualizza tutti i record
    	{
    		$RPP = $num; // ridefinisce i record x pag al num totale dei record in override su quello definito nei setting (8 record per pagina)
    		$newRPP = $num;
    	}
    $RPP è la var del numero di record per pagina, $num è il numero di record totali ottenuti dalla query.

    $RPP viene ridefinito, infatti i record vengono mostrati tutti.

    Il problema è che se richiamo $RPP più avanti nello script, per poter cambiare la barra di navigazione
    (dovrebbe andare via tutto e comparire un *mostra meno*)
    $RPP non ha il nuovo nuovo valore (il numero totale dei record) ma quello del limite di 8 record per pagina.

    Ma la cosa che proprio mi manda fuori è che se cerco di definire una nuova var utilizzando lo stesso if
    che mi fa vedere tutti i record non viene definita,
    vedi il *$newRPP = $num;* nel codice sopra... non produce nulla.

    Dove sto sbagliando?

    Grazie anticipatamente per l'aiuto.
    jo

  2. #2
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    431
    Secondo me il problema sta nello scope della variabile, generalmente quando dichiari una variabile all'interno di uno statement, la sua visibilità è limitata in esso
    Definiscila fuori dall'if, non dovresti avere più problemi

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    38

    risolto :)

    Ciao a tutti,
    lo script funziona benissimo... il mio cervello un po' meno

    Il js che gestisce la cosa passa 2 volte le stesse variabili (inserendole nell'url),
    una delle 2 serve a costruire la barra di navigazione della paginazione
    e ovviamente il mio errore stava qui.

    Grazie ancora a r1cky` per l'aiuto.

    jo

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.