2017-02-24 2 views
0

J'ai donc 2 listes déroulantes, je dois choisir une année d'eux. Ensuite, je dois montrer l'année choisie et le nombre de population pour cette année. Par exemple:J'ai besoin de faire un calcul de la différence de population entre deux années choisies dans la liste déroulante PHP?

Pour l'année 1800: la population est: 3929214
Pour l'année 1900: la population est: 76212168
La population a augmenté par: 72282954.

Alors, voici mon code jusqu'à présent:

<html> 
    <head> 
     <meta charset="UTF-8"> 
     <title>Calculator</title> 
    </head> 
    <body> 
     <h1>Population Change Calculator</h1> 
     <?php 
     $population=[3929214,5236631,7239881,9638453,12866020,17069453,23191876,31443321]; 
     $year=(range(1790, 1860, 10)); 
     $array= array_combine($year, $population); 
     ?> 
     <form method="post"> 
      <p><label for="year1">Year 1:</label> 
       <select name="year1"> 
        <option value=""></option> 
        <?php 
         foreach ($array as $year1=>$population){ ?> 
        <option value="<?php echo $year1; ?>"><?php echo $year1; ?></option>  
        <?php } 
        ?> 
       </select> 
      </p> 
      <p> 
       <label for="year2">Year 2:</label> 
       <select name="year2"> 
        <option value=""></option> 
        <?php 
         foreach ($array as $year2=>$population){ ?> 
        <option value="<?php echo $year2; ?>"><?php echo $year2; ?></option>  
        <?php } 
        ?> 
       </select> 
      </p> 
      <input type="submit" name="submit" value="Submit"> 
      <br> 

     </form> 
     <?php 
     $ini_set = ini_set('display_errors', 1); 
    error_reporting(E_ALL); 

     $empty=true; 
     if(isset($_POST['submit'])){ 
      if(empty($_POST['year1'])){ 
       $empty=FALSE; 
       print "<p>Please choose Year 1.</p>"; 
      } 

      if(empty($_POST['year2'])){ 
       $empty=false; 
       print "<p>Please choose Year 2.</p>"; 
      } 
} 

Je ne peux pas comprendre comment imprimer l'année choisie et la population pour cette année.
Je suis novice en PHP, merci d'avance.

+0

que diriez-vous d'écho '$ _POST [ 'year1'] ' – nogad

+0

cela montrera seulement la valeur de l'année clé – bubbsy

Répondre

0

Il semble bizarre que vous définissiez la valeur de vos options 'année' à la population. Peut-être que c'est une erreur ..?

Vous devez les changer pour utiliser l'année:

<option value="<?php echo $year1; ?>"><?php echo $year1; ?></option> 

Une fois que vous faites cela, vous pouvez imprimer faire vos valeurs souhaitées par quelque chose comme ceci:

if (isset($_POST['submit'])) { 
    if (empty($_POST['year1'])) { 
     $empty = FALSE; 
     print "<p>Please choose Year 1.</p>"; 
    } else { 
     print "<h1>Year 1: {$_POST['year1']}</h1>"; 
     print "<p>Population: {$array[$_POST['year1']]}</p>"; 
    } 

    if (empty($_POST['year2'])) { 
     $empty = false; 
     print "<p>Please choose Year 2.</p>"; 
    } else { 
     print "<h1>Year 2: {$_POST['year2']}</h1>"; 
     print "<p>Population: {$array[$_POST['year2']]}</p>"; 
    } 
} 
+0

merci pour la suggestion, cela a vraiment fonctionné – bubbsy