Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1240 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Remplacer un résultat par un autre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Remplacer un résultat par un autre

n°2005377
dexenium
Posté le 28-06-2010 à 17:26:47  profilanswer
 

Bonjour
 
A l'aide de cette fonction j'affiche un titre de page.
 
Ce que je voudrais c'est que au moment du deuxième get mon $sousfam remplace mon $fam car là les deux s'affichent
 
Comment faire, j'ai tenté avec un str_replace() mais je ne sais pas comment l'utiliser et si c'est adapté pour cela.
 
Pouvez vous m'aider ?
Merci
 [:abnocte invictus]  
 

Code :
  1. function _tit() {
  2. global $_sousrub, $_rub;
  3. if(!empty($GLOBALS['_rub'])) $fam=get("categories","cat",$GLOBALS['_rub']);
  4. $ret .= "$fam";
  5. if(!empty($GLOBALS['_sousrub'])) $sousrub=get("categories","cat",$GLOBALS['_sousrub']);
  6. $ret .= "$sousrub"; 
  7. return $ret;
  8. }

mood
Publicité
Posté le 28-06-2010 à 17:26:47  profilanswer
 

n°2005390
Paulp
~, sweet ~
Posté le 28-06-2010 à 17:52:30  profilanswer
 

L'opérateur .= ajoute une string à une variable.
L'opérateur = affecte une valeur à une variable

Code :
  1. $var = 'test';
  2. // $var vaut "test"
  3. $var = 'remplacement';
  4. // $var vaut "remplacement"
  5. $var .= 'concatenation';
  6. // $var vaut "remplacementconcatenation";


$var .= 'string' est un raccourci pour $var = $var . 'string', ce qui signifie que l'on affecte à $var sa valeur actuelle suivie de 'string'


Message édité par Paulp le 28-06-2010 à 17:52:50
n°2005479
dexenium
Posté le 28-06-2010 à 21:10:47  profilanswer
 

Ben là je comprends pas bien ce que tu veux dire...

n°2005585
Paulp
~, sweet ~
Posté le 29-06-2010 à 09:55:00  profilanswer
 

Ton code :

Code :
  1. function _tit() {
  2. global $_sousrub, $_rub;
  3. // $ret vaut null, car tu ne l'as pas initialisé
  4. if(!empty($GLOBALS['_rub'])) $fam=get("categories","cat",$GLOBALS['_rub']);
  5.  
  6.  
  7. $ret .= "$fam";
  8. // ça équivaut à $ret = $ret . $fam;
  9. // soit $ret = null . $fam;
  10. // soit $ret = "" . $fam;
  11. // soit $ret = $fam;
  12. // d'ailleurs, les guillemets autours de "$fam" sont en trop
  13.  
  14. if(!empty($GLOBALS['_sousrub'])) $sousrub=get("categories","cat",$GLOBALS['_sousrub']);
  15.  
  16.  
  17. $ret .= "$sousrub";  
  18. // ça équivaut à $ret = $ret . $sousrub;
  19. // soit $ret = $fam . $sousrub;
  20.  
  21. // Les guillemets autours de "$sousrub" sont aussi en trop
  22.  
  23. return $ret;
  24. }



Message édité par Paulp le 29-06-2010 à 10:24:09
n°2005589
dexenium
Posté le 29-06-2010 à 10:01:40  profilanswer
 

C'est ce que j'avais compris et j'ai déjà fait cette manip mais dans ce cas, le premier get ne s'affiche plus...

n°2005598
Paulp
~, sweet ~
Posté le 29-06-2010 à 10:24:15  profilanswer
 

Voici un bout de code qui devrait faire ce que tu veux

Code :
  1. function _tit() {
  2. global $_sousrub, $_rub;
  3. if(!empty($GLOBALS['_rub'])) return get("categories","cat",$GLOBALS['_rub']);
  4.  
  5. if(!empty($GLOBALS['_sousrub'])) return get("categories","cat",$GLOBALS['_sousrub']);
  6.  
  7. return '';
  8. }
 

Mais c'est assez moche comme façon de faire ... Pourquoi passer les paramètres en global et pas en paramètre de la fonction ?


Message édité par Paulp le 29-06-2010 à 10:25:48
n°2005604
dexenium
Posté le 29-06-2010 à 10:55:48  profilanswer
 

Ben désolé de te donner tout ce mal mais ça ne fonctionne pas non plus...
J'ai :
=> pour le premier get : _rub
=> pour le deuxième get : _rub + _sousrub (alors que je ne veux que _sousrub)

n°2005609
Paulp
~, sweet ~
Posté le 29-06-2010 à 11:30:32  profilanswer
 

dexenium a écrit :

Ben désolé de te donner tout ce mal mais ça ne fonctionne pas non plus...
J'ai :
=> pour le premier get : _rub
=> pour le deuxième get : _rub + _sousrub (alors que je ne veux que _sousrub)


Ce n'est pas dans cette fonction qu'est le problème alors. Peut-être la fonction get ?
 
Mais je te le redis, tu devrais revoir l'architecture générale ...
 
Enfin, tu n'es pas obligé d'utiliser $GLOBALS.
Soit tu déclares les variables comme globales avec le mot clef global, soit tu y accèdes avec $GLOBALS. Faire les deux est redondant.
http://php.net/manual/fr/language.variables.scope.php


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Remplacer un résultat par un autre

 

Sujets relatifs
comment tester si le résultat de la requête est nul [résolu]Problème rechercher et remplacer sous Access
avoir des virgules dans un resultat SQLPerl > remplacer texte dans fichiers, recursivement
Remplacer la nième occurence d'une chaine de caractère par ...erreur éxécution 2465, impossible de trouver le champ résultat.
Comment afficher le resultat d'un recordSetExecuter fonction oracle et récupérer résultat depuis perl (DBI)
[Proc Stock] comment récupérer le résultat d'une requête ?[WSH] Resultat de commande, remplacer le Delims
Plus de sujets relatifs à : Remplacer un résultat par un autre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR