Page 1 sur 1

récuperation de variables

Posté : 10 avr. 2009, 09:48
par Nad21
Bonjour
J'ai un probleme sur lequel je bute depuis hier et qui doit etre tout simple en fait
bref...
j'ia donc une page sur laquelle j'affiche les reusltats de ma requete. Je les affiche a raison de 5 resultats par page. J'ai donc une variable $limit (=5) et une variable $debut qui change en fonction de la page ou on se trouve.
Ma page d'affichage tel qu'elle est aujourd'hui et qui bug:
$limit = 5; 	
	if (isset($debut)) { 
	//$debut = 0; 
	echo 'debut est egal a '.$debut;
	} 	
	else{
	$debut=$_GET['debut'];
	echo 'et ici debut est egal a '.$debut;
	}

$tab_client = lire_sacs();
ma page ou il y a ma fonction
function lire_sacs(){
$limit = 5; 	

	$sql_select = "SELECT * FROM sacs ORDER BY id ASC limit $debut,$limit";
en gros je sais pas trop ou mettre mes varaible car si je ne les met sque dans une des pages ca ne fonctionne pas
mais surtout le probleme c'est que la variable $debut n'est pas prise en compte car je reste tjrs sur la 1ere page de resultats
Si quelqu'un pouvait me donner un conseil ca m'aiderait
merci
Nadege

Posté : 10 avr. 2009, 09:54
par charabia
Hello

Quand tu fais ceci : if (isset($debut)), la variable $debut est définie où ?

Posté : 10 avr. 2009, 09:58
par Nad21
elle est définie dans la page d'affichage
j'ai une page d'affichage des resultats qui s'appelle, collections.php et qui va chercher ma fonction
require_once 'fonctions/fcts_sacs.php'

Posté : 10 avr. 2009, 10:02
par charabia
As-tu essayé d'afficher juste cette variable pour voir si tu as un résultat ?

Donne nous le code où tu définies la variable.

Posté : 10 avr. 2009, 10:33
par Nad21
oui j'affiche la varaible dans le code que j'ai precedemment donné en debut de ma page d'affichage
ca me mets 'debut est egal a 0 ' ou alors 'debut est egal a 5'
le hic c'est que ca ne me sert a rien vu que ma fonction ne recupere pas cette variable

Le code ou je verifie la variable?
mais je l'ai dejà donné au dessus
tu veux quel code exactement??

Posté : 10 avr. 2009, 10:44
par Nours312
Salut ::

cette fonction :
$limit = 5;     
    if (!empty($_GET['debut'])) { //si le parametre _GET n'est pas vide
      echo 'debut est egal a '.$debut;
    } else {
      $debut=0;
      echo 'et ici debut est egal a '.$debut;
    }

$tab_client = lire_sacs($debut);

 
tu ne devrais pas la prendre dans ce sens là ! ...
Ici, tu met Si ma variable début existe, alors je j'utilise, sinon, je récupère le parametre debut passé en $_GET ....

C'est illogique !! le parametre _GET doit etre pris en considération en premier, c'est la demande de l'internaute !!

donc je te conseillerais ceci :
$limit = 5;     
    if (isset($debut)) { 
    //$debut = 0; 
    echo 'debut est egal a '.$debut;
    }     
    else{
    $debut=$_GET['debut'];
    echo 'et ici debut est egal a '.$debut;
    }

 /* $tab_client = lire_sacs(); //// remplacée (voir plus bas) */ 
Pour ta fonction, tu dois avoir accés aux parametres !! elle ne connait que ce que tu lui donne, tout ce qui est en dehors de ta fonction, elle ne le connais pas !!

function lire_sacs($debut, $limit){
    $sql_select = "SELECT * FROM sacs ORDER BY id ASC limit $debut,$limit";
...
...
  return '...';
}

// et l'appel de la fonction ::

$tab_client = lire_sacs($debut, $limit);

Voila, à plus !!

Posté : 10 avr. 2009, 12:27
par Nad21
ok merci
j'avais dejà pensé a mettre les infos dans les parametres de la fonction mais je m'etais raviser

encore merci
a+

Posté : 10 avr. 2009, 18:54
par Elie
Sinon plus simple :)

function lire_sacs() {

global $debut, $limit;

}