Citat:
Ursprungligen postat av Kimppa
Jag förstår inte varför "name" innehåller "phone", eller "address".
|
För att han sparar ett okänt antal attribut till företagen i databasen.
Det han kallar "name" är ju en nyckel
Det han kallar "value" är värdet för respektive nyckel
Det är väl en helt okej lösning. Här är hur man skulle kunna lösa det i PHP för att uppnå det du vill:
PHP-kod:
<?php
//Simulerar ditt output från mysql
$output_from_mysql = [
['name' => 'phone', 'value' => '031-123123'],
['name' => 'city', 'value' => 'Göteborg']
];
//Skapar en array som heter $metadata
$metadata = array();
//Lägger alla raderna vi fick från mysql i $metadata;
foreach($output_from_mysql as $row){
//Nyckeln är ditt "name", värdet är ditt "value"
$metadata[$row['name']] = $row['value'];
}
/*
Extrahera från metadata med prefixet "company",
nu finns dina variabler tillgängliga som t.ex. $company_[name]
där [name] är vad dom heter i din databas
*/
extract($metadata, EXTR_PREFIX_ALL, "company");
// var_dumpa $company_phone så att du ser hur det funkar
var_dump($company_phone);