2016-10-05 4 views
0

Я пытаюсь получить ключевое значение из массива с множеством значений, который я создал с помощью. Снимок Array указан после кода.Невозможно получить ключевое значение из многомерного массива mysql

Ниже мой PHP код-

$selectTicket = "select ticketID from ticketusermapping where userID=$userID and distanceofticket <=$miles;"; 
$rsTicket = mysqli_query($link,$selectTicket); 
$numOfTicket = mysqli_num_rows($rsTicket); 
if($numOfTicket > 0){ 
    $allRowData = array(); 
while($row = mysqli_fetch_assoc($rsTicket)){ 
    $allRowData[] = $row; 
} 
$key = 'array(1)[ticketID]'; 
    $QueryStr = "SELECT * FROM ticket WHERE ticketID IN (".implode(',', array_keys($key)).")"; 

Массив Snapshot- enter image description here

мне нужно значение tickedID из этого массива. Как и первый, 49. Пожалуйста, помогите.

ответ

1

изменить ваш код

$selectTicket = "select ticketID from ticketusermapping where userID=$userID and distanceofticket <=$miles;"; 
    $rsTicket = mysqli_query($link, $selectTicket); 
    $numOfTicket = mysqli_num_rows($rsTicket); 
    if ($numOfTicket > 0) { 
     $allRowData = array(); 
     while ($row = mysqli_fetch_assoc($rsTicket)) { 
      $allRowData[] = $row['ticketID']; 
     } 
     $QueryStr = "SELECT * FROM ticket WHERE ticketID IN (" . implode(',', $allRowData) . ")"; 
+0

Спасибо, что это тоже работает и является самым простым из всех. Приветствия – Rahul

+0

Да, это работает .. но это не «самый простой из всех», –

1
$ids = array_column($allRowData, 'ticketID'); //this will take all ids as new array 
$QueryStr = "SELECT * FROM ticket WHERE ticketID IN (".implode(',', $ids).")"; 
+0

спасибо брат. Вы сохранили мой день :) – Rahul

0

Вы должны сделать один запрос, используя для этого JOIN:

$query = " 
    SELECT t.* 
    FROM ticket t 
    JOIN ticketusermapping tum 
    ON t.ticketID = tum.ticketID 
    AND tum.userID = '$userID' 
    AND tum.distanceofticket <= '$miles' 
"; 

$stmt = mysqli_query($link, $query); 

$numOfTickets = mysqli_num_rows($stmt); 

while($row = mysqli_fetch_assoc($stmt)){ 
    var_dump($row); // here will be the ticket data 
} 
Смежные вопросы