2015-10-27 1 views
0

J'ai une page d'accueil où j'ai une superposition avec une liste de villes sous forme de lien hypertexte. J'ai différentes bases de données pour chaque ville.Bases de données de commutation basées sur l'exécution en fonction d'une certaine valeur sélectionnée

Lorsque l'utilisateur clique sur une ville à l'exécution, la base de données doit être sélectionnée. Là encore, si les utilisateurs modifient la ville, la base de données doit être modifiée.

actuellement je me sers ci-dessous approche:

index.php

<code> 

if(!isset($_REQUEST['city'])) 
{ 
    $_SESSION['city']; 
    $_SESSION['usercity'] = ""; 
} 
else 
{ 
    $_SESSION['usercity'] = $_REQUEST['city']; 
    $_SESSION['usercity']; 
} 

</code> 

db.php

<code> 

if($_SESSION['usercity'] == 'pune') 
{ 
    $dbname = 'pune_xxxx'; 
} 
else if($_SESSION['usercity'] == 'hyderabad') 
{ 
    $dbname = 'hyderabad_xxxx'; 
} 
else if($_SESSION['usercity'] == 'aurangabad') 
{ 
    $dbname = 'aurangabad_xxxx'; 
} 
else if($_SESSION['usercity'] == 'bangalore') 
{ 
    $dbname = 'bangalore_xxxx'; 
} 
else 
{ 
    $dbname = 'xxxx'; 
} 

</code> 

Pour la première fois, il fonctionne très bien, mais si vous voulez changer la ville est en train d'échouer en raison d'une DB précédente en cours de session.

Permettez-moi la solution ou alternative à ce processus

Merci avancer

Répondre

0

Vous devez faire à nouveau session_start(); après avoir détecté la modification dans $_REQUEST['city'], puis définissez la variable de session.