2017-03-11 1 views
0

Ich möchte neues Array mit IDs erstellen, wo Benutzer Zugriff auf Sektor haben.Erstellen Sie ein neues Array von MySQL-Abfrage

$sector = '60'; 

Erstellen Sie neue Array mit Benutzer-IDs (2 und 4) in diesem Fall ...

$result = mysql_query("SELECT user_id, user_sectors FROM admin_users"); 
    while ($row = mysql_fetch_array($result)) { 
     $id[] = $row[user_id]; 
     $sectors[] = unserialize(base64_decode($row[user_sectors])); 
    } 

$combine = array_combine($id, $sectors); 
print "<pre>"; 
print_r($combine); 
print "</pre>"; 

Array 
(
[2] => Array <<<<<<<<<< USER ID 
    (
     [0] => 49 <<<<<<<<<< SECTORS 
     [1] => 60 
     [2] => 69 
     [3] => 65 
     [4] => 66 
     [5] => 59 
     [6] => 71 
     [7] => 57 
    ) 

[3] => Array <<<<<<<<<< USER ID 
    (
     [0] => 49 <<<<<<<<<< SECTORS 
    ) 

[4] => Array <<<<<<<<<< USER ID 
    (
     [0] => 49 <<<<<<<<<< SECTORS 
     [1] => 60 
     [2] => 65 
     [3] => 58 
    ) 
) 

Antwort

1

Verwenden Sie die user_id als Schlüssel des Arrays und hängen [] ein Array Element mit dem user_sectors:

while ($row = mysql_fetch_array($result)) { 
    $sectors[$row['user_id']][] = unserialize(base64_decode($row['user_sectors'])); 
} 

Das für mysql_*() Funktionen sagte, wobei:

Warnung Diese Erweiterung wurde in PHP 5.5.0 veraltet und in PHP 7.0.0 entfernt. Stattdessen sollte die MySQLi oder PDO_MySQL-Erweiterung verwendet werden. Siehe auch MySQL: Auswahl eines API-Leitfadens und zugehörige FAQ für weitere Informationen. Alternativen zu dieser Funktion sind:

  • mysqli_fetch_array()
  • PDOStatement :: holen()
Verwandte Themen