2015-08-22 75 views
-1

首先,我是初学者,所以请原谅我,如果我没有提到可能很重要的事情。PHP初学者 - 我做错了什么?

我有卖家,这是在世界上不同的国家。每个国家都属于一个大陆。
我试着去:

  • 得到卖家名
  • 取数据库,看看在哪些国家(中国,意大利,德国......)他提供他的货物。
  • 然后取得另一个数据库,看看哪个大洲(亚洲,欧盟)属于每个国家
  • 将国家(意大利,德国)存储到变量$ country_eu和$ country_asia(中国)。所以稍后我会添加这个变量来更新数据库字段。

if($ continent =='ASIA')没有包含在代码中,因为我一个接一个的步骤。我想先做欧盟的工作,然后我找出其余的。

include_once('../db.php'); 

session_start(); 

$seller_name = $_SESSION['seller_name']; 
echo $seller_name; 

    if (!empty($_POST['flag_image'])){ 
    $flags_array = $_POST['flag_image']; 
    $flags_string = implode(",",$flags_array); 
    }else{ 
    $flags_string = ''; 
    } 

$cont_eu = ''; 

    // Assign Flags to Continents 
    foreach ($flags_array as $flag_image){ 
    $qry_find_flag_continent = " SELECT continent FROM flags WHERE flag_image = '$flag_image' "; 
    $result = $dbdetails->query($qry_find_flag_continent); 

while($row = mysqli_fetch_array($result)) { 
    $continent = $row["continent"]; 


    if ($continent == 'EU') { 
    $cont_eu .= $flag_image; 
    } 
} 
echo $cont_eu; 

问题我的代码是,当我回声$ cont_eu是给我的只是1的结果(德国),而不是预期(意大利,德国)

+0

请提出问题“标题”代码/问题*摘要*。重新设置循环的格式,如果块的可读性好,可以正确缩进。数据库内容又是什么?什么是实际输入变量?为什么'flag_image'是一个数组?在中间打印结果$行。 – mario

+0

数据库中有多少个欧盟?现在你正在检查'大陆'的所有内部,你正在做一个if语句来检查他们是否是'EU'来显示。欧盟有多少? –

+0

在foreach之前打印出帖子和flags_array。确保你有你想要的两个国家。 –

回答

0

谢谢大家的宝贵的时间和尝试帮助。这是新的代码,很好用。

include_once('../db.php'); 

session_start(); 

$seller_name = $_SESSION['seller_name']; 
echo $seller_name.'<br>'; 

if (!empty($_POST['flag_image'])){ 
    $flags_array = $_POST['flag_image']; 
    $flags_string = implode(",",$flags_array); 
    } else {$flags_string = '';} 


// Assign Flags to Continents 
foreach ($flags_array as $flag_image){ 

$qry_find_flag_continent = " SELECT continent FROM flags WHERE flag_image = '$flag_image' "; 
$result = $dbdetails->query($qry_find_flag_continent); 

    while($row = mysqli_fetch_array($result)) { 
    $continent = $row["continent"]; 
if($continent == 'EU'){ $eu_flags_array[] = $flag_image;} 

    } 
} 
print_r($eu_flags_array); //Gives me Array ([0] => Germany.png [1] => Italy.png)