2017-10-20 92 views
-1

我的代碼有一個小問題,我是PHP新手,並且在某處丟失了某些指向。我想有我if語句返回一個值$remainingCountries,但是當我回到這樣的:爲什麼回報不會給全球範圍帶來價值?

$hostquery是一個不相干的陣列

$query = "SELECT * FROM hostcountryfinder WHERE ".$hostQuery; 
$result = mysqli_query($connect, $query); 

if (mysqli_num_rows($result) != 0) { 
$remainingCountries = mysqli_num_rows($result); 
return($remainingCountries); <<###########################<< it is here 
    if ($remainingCountries <= 6) { 
     while ($row = mysqli_fetch_assoc($result)) { 
      echo(' 
       <div class="col-12 col-sm-6 col-md-4 col-lg-4 foundHost"> 
        <h2>'.$row["Country"].'</h2> 
       </div> 
       '); 
     } 
    } 
} else { 
    echo('No country found with this criteria'); 
} 

$remainingCountries變量值可以會後聲明沒有具體使用返回值,這很好。但是這個代碼會隨着每個查詢而刷新,並且該值應該存儲在一個變量中,這也可以在開始時聲明。但在服務器刷新後仍然無法使用它,並且發現$remainingCountries的值。

我已經試過$GLOBALS$_SERVER$_SESSION變量臨時存儲它沒有運氣。

如果我想要插入的位置的代碼很深,則此變量爲2。 在那裏我有打印或回聲值僅僅是查詢

<div id="remainingCountries" class="col-12 col-sm-6 col-md-4 col-lg-4 hostSelection"> 
     Remaining countries <?php if (isset($hostQuery)) {echo($remainingCountries);} ?> 
    </div> 

,請通知我,如果它是不明或過於寬泛之前吧,我會盡量縮小問題有點多的地方。提前謝謝你們,如果重複,我很抱歉,但我找不到它。

編輯: 基於上的評論換句話說

我想用if語句外$remainingCountries的價值,但我不能。

+3

我不確定你想要做什麼;函數和方法返回值,甚至一個腳本可以返回一個值,但是從'if'語句返回某些東西沒有任何意義。你的'return'語句永遠不會執行。 – jeroen

+0

另外它不清楚這個代碼是否是函數的一部分?值如何傳遞給html標記? –

+1

如果這段代碼在全局範圍內,'return'語句將終止腳本的執行(參見[return](http://php.net/manual/en/function.return.php))。所以,你的'if-while'模塊永遠不會被執行...... –

回答

-1

如果我錯了,請糾正我,但是如果您在mysqli操作之前有#remainingCountries塊您無法在那裏獲得正確的值。它不是懸掛的......這種函數是否返回給定的值?

+0

你是什麼意思? div在查詢之前,是的,確切的問題是如何獲得值?編輯它實際上看起來像這樣:https://jsfiddle.net/8yz5w040/1/ –

+0

使用評論,這不是答案。 – Nic3500

+0

我不能'評論:( –