Массив PHP - Преобразование - PullRequest
0 голосов
/ 10 августа 2011

Я получаю некоторые данные из своей базы данных с помощью запроса, а затем зацикливаю их с помощью цикла While:

$r=mysql_query("SELECT * FROM advertisement_packages");  
while($a = mysql_fetch_assoc($r)):
echo $a['exposure]; //This prints out 1,2,3,4

endwhile;

Как это сделать, поэтому экспозиция = 1 - это экспозиция = 1 = Мини и экспозиция = 2 = стандарт и т. д. и т. д.

Ответы [ 4 ]

3 голосов
/ 10 августа 2011
if ($a['exposure'] == 1){
    echo "Mini";
}
elseif($a['exposure'] == 2){
    echo "Standard";
}
0 голосов
/ 10 августа 2011

** Еще один хороший способ сделать это - сохранить структуру таблицы в базе данных, которая связывает номер воздействия с его описанием. Таким образом, вы можете отобразить описание экспозиции прямо из вашей базы данных (вы также можете заполнить раскрывающееся меню на веб-формах из таблицыjection_info). Просто следуйте примеру SQL, чтобы увидеть, если вы понимаете. **

CREATE TABLE photo_clients ( id INT AUTO_INCREMENT ПЕРВИЧНЫЙ КЛЮЧ, client_name VARCHAR (100), выдержка TINYINT );

CREATE TABLEjection_info ( экспозиция INT AUTO_INCREMENT ПЕРВИЧНЫЙ КЛЮЧ, описание VARCHAR (100) );

INSERT INTO Открытость_инфо (описание) VALUES ('mini'), ('standard'), ('poster');

INSERT INTO photo_clients (имя клиента, экспозиция) ЗНАЧЕНИЯ («Джон Доу», 2), («Джейн Смит», 1), («Джонни Уокер», 3);

ВЫБРАТЬ a.client_name AS клиент, b.description AS экспозиция ОТ фото_клиентов a ,jection_info b ГДЕ a.exposure = b.exposure;

Вывод вышеприведенного оператора должен выглядеть примерно так:

client          exposure
------------------------
Jane Smith      mini
John Doe        standard
Johnny Walker   poster
0 голосов
/ 10 августа 2011

Может быть полезно хранить значения независимо, вместо того чтобы использовать (возможно) огромную структуру if:

$exposures = array(
    1    => 'Mini',
    2    => 'Standard',
    // and so forth
);

while($a = mysql_fetch_assoc($r)):
    echo $exposures[ $a['exposure'] ];
endwhile;

Только мои 0,02 доллара, чтобы сделать код немного более разборчивым.

0 голосов
/ 10 августа 2011
$labels = array(1 => 'Mini', 2 => 'Standart');
echo $labels[$a['exposure']];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...