IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Comment utiliser un tableau pour mon application


Sujet :

Langage PHP

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 098
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 098
    Points : 946
    Points
    946
    Par défaut [Tableaux] Comment utiliser un tableau pour mon application
    Bonjour,

    Je ouhaiterai faire un petit tuc pour un site en deux langue à l'aide d'un ARRAY. Le probleme c'est que ne sait pasencore trop utiliser les ARRAY alors je veux profiter pour me lancer en faisant ceci.

    1. je collect l'URL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $url= $_SERVER['REQUEST_URI'];
    Puis je crée mon tableau ARRAY

    espagnol anglais
    ++++++++++++++++++++++++
    + es/pagina1.php <-> en/page1.php +
    ++++++++++++++++++++++++
    + es/pagina2.php <-> en/page2.php +
    ++++++++++++++++++++++++
    + es/pagina3.php <-> en/page3.php +
    ++++++++++++++++++++++++
    + es/pagina4.php <-> en/page4.php +
    ++++++++++++++++++++++++
    + es/pagina5.php <-> en/page5.php +
    ++++++++++++++++++++++++

    J'aimerais que lorsque que le visiteur fait appelle a ma page, la variable $url est utilisé pour consulter le tableau, ci-dessus. Lorsque la variable est egal à une des valeur du tableau, il affiche la valeur de sa cellule voisine.

    Par exemple:
    $url="es/pagina4.php"

    alors affiche

    $url_="en/page4php"


    Vous voyer?
    Pourriez-vous m'aider a faire ceci?
    Merci à tous

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $i=0;
    $find=false;
    while ($i<count($ton_tableau) && !$find) 
      if ($ton_tableau[$i][0]==$url) $find=true;
    if($find) return $ton_tableau[$i][1];
    else return "erreur";
    ? c'est ça que tu veux ?

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 098
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 098
    Points : 946
    Points
    946
    Par défaut
    Merci trotter pour ta réponse.

    Ben ce que tu m'as donné, ca pourrais m'être fort utiéle plus tard, oui, mais mon probleme c'est comment crée se tableau pour avoir 2 colonnes, une pour une langue et l'autre colonne pour la seconde languqe.

    Puis ton script ira consulter les deux colonnes, et quand il aura trouver l'égalité de $url, que ca soit dans la colonne de l'espagnole ou dans la colonne de l'anglais il retournera l'équivalence de la langue opposée.

    Tu voix?

    Merci encore

  4. #4
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    OK, dans ton cas, le plus simple c'est de faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //création du tableau
    $tab_url = array {
    'es/pagina1.php' => 'en/page1.php',
    'es/pagina2.php' => 'en/page2.php',
    'es/pagina3.php' => 'en/page3.php',
    'es/pagina4.php' => 'en/page4.php',
    'es/pagina5.php' => 'en/page5.php'};
     
    $url_return=$tab_url[$url];
    if (!empty($url_return)) return $url_return;
    else return 'erreur';

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 098
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 098
    Points : 946
    Points
    946
    Par défaut
    Merci trotter

    Y a petit bleme

    a ce niveau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $url_return=$tab_url[$url];
    il me return un message d'erreur
    Notice: Undefined index: /easycreate/awm/gestion-de-patrimonio/ginebra.php in /Applications/MAMP/htdocs/easycreate/awm/include/menu_lang.php on line 12
    portant le
    me retourne un tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    $url = $_SERVER['REQUEST_URI'];
    echo str_replace("/easycreate/awm/","",$url);;
    echo '<br>';
    	//création du tableau
     
    	$tab_url = array(
    	'wealth-management/index.php' => 'gestion-de-patrimonio/index.php',
    	'gestion-de-patrimonio/ginebra.php' => 'wealth-management/geneva.php',
    	'gestion-de-patrimonio/servicio-selectivo.php' => 'wealth-management/selected-services.php',
    	'gestion-de-patrimonio/filosofia.php' => 'wealth-management/phylosophy.php',
    	'gestion-de-patrimonio/contacto.php' => 'wealth-management/contact.php'
    	);
     print_r( $tab_url);
     
    $url_return=$tab_url[$url];
     
     
     
    if(!empty($url_return)){
    	return $url_return;
    }else{
    	return 'erreur';
    }
    ?>

  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 098
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 098
    Points : 946
    Points
    946
    Par défaut
    Cool, je suis arrivé a ceci et ca marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    $url = $_SERVER['REQUEST_URI'];
    $url =  str_replace("/easycreate/awm/","",$url);;
    echo '<br>';
    	//création du tableau
     
    	$tab_url = array(
    	'gestion-de-patrimonio/index.php' => 'wealth-management/index.php',
    	'gestion-de-patrimonio/ginebra.php' => 'wealth-management/geneva.php',
    	'gestion-de-patrimonio/servicio-selectivo.php' => 'wealth-management/selected-services.php',
    	'gestion-de-patrimonio/filosofia.php' => 'wealth-management/phylosophy.php',
    	'gestion-de-patrimonio/contacto.php' => 'wealth-management/contact.php'
    	);
     
    foreach($tab_url as $cle=>$valeur)
        {
     
    	if($cle == $url) echo $valeur;
    		//echo 'no<br><br>';
     
        //echo $cle.' : '.$valeur.'<br>';
        }
    Le seul truc, c'est que j'aimerai que ca marche dans les deux sens. Dans mon cas ca marche de l'espagnol a l'anglaise,

    J'aimerai que si je rentre l'anglais il me retourne l'espagnol, si je rentre l'espagnol i me retourne l'anglais en consultant le meme tableau



  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 098
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 098
    Points : 946
    Points
    946
    Par défaut
    Ben voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach($tab_url as $cle=>$valeur)
        {
    	if($cle == $url) echo $valeur;
    	if($valeur == $url) echo $valeur;
        }
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    foreach($tab_url as $cle=>$valeur){
    	if($cle == $url) {
    		echo $valeur;
    	}elseif($valeur == $url) {
    		echo $cle;
        } 
    }
    Auriez-vous plus sofistiqué ou performant à me proposer?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment créer un setup pour mon application
    Par kensem dans le forum C#
    Réponses: 9
    Dernier message: 22/10/2010, 12h23
  2. [Tableaux] Comment utiliser un tableau dans ce cas
    Par Equinoxe5 dans le forum Langage
    Réponses: 1
    Dernier message: 19/08/2007, 22h13
  3. Réponses: 6
    Dernier message: 29/06/2007, 12h43
  4. Réponses: 3
    Dernier message: 20/12/2006, 17h13
  5. Réponses: 1
    Dernier message: 14/09/2006, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo