2017-07-06 82 views
1

我從數據庫表中接收到多個數組。現在我想查「是他們的出生日期==當前日期」,如果是則保存在數組中的聯繫號碼稱爲生日如何獲取特定的索引值並存儲在多個php數組中的數組

這裏是我的嘗試

$curr_date = date('m/d'); 

$birthday = array(); // array initialization 
$anniversary = array(); // array initialization 

$con=mysqli_connect("localhost","root","","birthdays"); 


$sql="SELECT * FROM users"; 

$result=mysqli_query($con,$sql); 

$row=mysqli_fetch_assoc($result); 

echo "<pre>"; 

if ($result=mysqli_query($con,$sql)) 
{ 
    while ($row=mysqli_fetch_assoc($result)) 
    { 
     print_r ($row); 
    } 
} 

這裏是當前的代碼以期望描述一個圖像

enter image description here

我tryi很多時間,但無法達到確切的結果。請親引導我。謝謝

+0

只看結果裏面是什麼['birth_date'] –

+0

你在哪裏比較出生日期和當前日期? –

+0

好吧,它的genrates日期。現在我怎麼能從當前日期檢查他們? –

回答

0

我認爲你需要這樣的東西?

$date1 = date('m-d', strtotime($row['birth_date'])); 
$date2 = date('m-d'); 

if ($date1 == $date2) { 
    echo 'Happy birthday!'; 
} 

有關更多信息,請參閱PHP date function

0

很明顯,你從數據庫中得到了一個結果,所以你拉在陣列中的所有結果:

$sql = "SELECT * FROM xyztable"; 
$result = $con->query($sql); 
$users = array(); 
while($row = $result->fetch_assoc()) { 
    $users[] = $row; 
} 

所以現在我們都在同一點。 現在你可以做一個循環槽的陣列,創建一個生日數組,你應該爆炸出生日期:

$birthdays = array(); 
for($users as $user) { 
    $birth = explode("/", $user['birth_date']); 

    $new_birth = "$birth[0]/$birth[1]"; 
    $actual_date = date("m/d"); 
    if($new_birth == $actual_date) { 
    $birthdays[] = $user['customer_mobile']; 
    } 
} 

這應該是它。

+0

無法實現與它..! –

+0

注意:未定義偏移量:1 –

0

如果這是從數據庫獲取數據的唯一目的,那麼不需要將這些行推入單獨的數組中。只需將聯繫號碼推入陣列即可。沒有必要循環兩次。

$curr_date = date('m/d'); 

    $birthday = array(); // array initialization 
    $anniversary = array(); // array initialization 

    $con=mysqli_connect("localhost","root","","birthdays"); 


    $sql="SELECT * FROM users"; 

    $result=mysqli_query($con,$sql); 

    $row=mysqli_fetch_assoc($result); 

    if ($result=mysqli_query($con,$sql)) { 
     while ($row=mysqli_fetch_assoc($result)) { 
      if (date('m/d',strtotime($row['birth_date'])) == $curr_date) 
       $birthday[] = $row['customer_mobile']; 
     } 
    } 
+0

注意:未定義變量:生日 –

+0

其說$生日是未定義的,當我print_r($生日)在您的代碼下面。 –

+0

如果您希望將聯繫號碼推送到已初始化的'$ birthdays'數組,然後將該數組更改爲'$ birthdays',但是如果您將該數組用於其他目的,則初始化'$ birthday = array() '你已經初始化了其他兩個數組。我更新了答案,將聯繫人號碼推送到您初始化的'$ birthdays'數組中。 – Ravi

相關問題