Форумы портала PHP.SU » » Работа с СУБД » Подскажите

Страниц (1): [1]
 

1. maragon - 13 Июня, 2011 - 15:50:04 - перейти к сообщению
Таков вопрос.
Скажем в файле profile.php есть строки, которые повторяются несколько раз(10-15раз).
идет селект, далее массив

Далее элементы которые повторяются потом и не раз.
Повторяются потому-что разные запросы - но компоненты, которые надо вывести теже (логин,пол и т.д.)
CODE (htmlphp):
скопировать код в буфер обмена
  1. if(!empty($row['login'])){ $login = $row['login'];} else { $login =  "Инкогнито"; }
  2. if(!empty($row['n'])){ $n = $row['n'];} else { $n =  0; }

Дык может дабы несколько раз не прописывать одно и тоже - можно сделать функцию?
Разжуйте, кто знает.
За ранее благодарен. Улыбка
2. OrmaJever - 13 Июня, 2011 - 15:55:40 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $row = mysql_fetch_array($result);
  2. function abc($param) {
  3.    $a['login'] = (!empty($row['login'])) ? $param['login'] : "Инкогнито";
  4.    $a['n'] = (!empty($row['n'])) ? $row['n'] ? 0;
  5.    return $a;
  6. }
  7. print_r(abc($row));

или не так понял?
3. maragon - 13 Июня, 2011 - 16:04:30 - перейти к сообщению
Попробывать - попробывал, суть - пока не разжувал.
Как после вывести рузультат? скажем в опред.месте нужно вывести логин, чуть ниже n.
Зачем спрашивается мне все это, вбить функцию в самый вэрх и использовать.
4. OrmaJever - 13 Июня, 2011 - 16:35:14 - перейти к сообщению
maragon пишет:
Как после вывести рузультат? скажем в опред.месте нужно вывести логи, чуть ниже n.

PHP:
скопировать код в буфер обмена
  1. list($login, $n) = abc($row);
  2. //чуть ниже
  3. echo $login;
  4. // а ещё ниже
  5. echo $n;
  6.  
5. maragon - 13 Июня, 2011 - 16:44:47 - перейти к сообщению
походу чуть чуть косанули с функцией.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. while($row = mysql_fetch_array($result))
  3. {                                                                              
  4. function abc($param) {
  5. $a['login'] = (!empty($param['login'])) ? $param['login'] : "Инкогнито";
  6. $a['n'] = (!empty($param['n'])) ? $param['n'] : "0";
  7. return $a;
  8. }
  9. print_r(abc($row)); // Array ( [login] => 222 [n] => 144 )
  10.  
  11. list($login, $n) = abc($row); //list молчит .. пустотит
  12. //чуть ниже
  13. echo $login;
  14. // а ещё ниже
  15. echo $n;
  16. }

или я что-то пропустил..??? (в функции $row)
6. OrmaJever - 13 Июня, 2011 - 16:54:18 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. function abc($param) {
  2. $a['0'] = (!empty($param['login'])) ? $param['login'] : "Инкогнито";
  3. $a['1'] = (!empty($param['n'])) ? $param['n'] : "0";
  4. return $a;
  5. }
  6.  
  7. while($row = mysql_fetch_array($result))
  8. {                                                                              
  9. print_r(abc($row)); // Array ( [login] => 222 [n] => 144 )
  10.  
  11. list($n, $login) = abc($row);  // list не работает с асоциативными масивами :( а так хотелось
  12. //чуть ниже
  13. echo $login;
  14. // а ещё ниже
  15. echo $n;
  16. }
7. maragon - 13 Июня, 2011 - 16:58:14 - перейти к сообщению
Ха-ха я рад! Огроменное спасибо за помощь. Буду все переписывать)
8. OrmaJever - 13 Июня, 2011 - 16:59:09 - перейти к сообщению
я подправил код
9. maragon - 13 Июня, 2011 - 17:00:36 - перейти к сообщению
liat(); Радость
(Добавление)
А как быть с if в функции.
CODE (htmlphp):
скопировать код в буфер обмена
  1. $a['2'] = (!empty($param['pol'])) ? $param['pol'] : "0";

проверил, есть ли запись в ячейке, далее нужно через иф вывести 1=мальчик, 2=девочка, 0=гермофр.. Хорошо
10. OrmaJever - 13 Июня, 2011 - 17:25:25 - перейти к сообщению
в list добавить 3 параметр
11. maragon - 13 Июня, 2011 - 17:26:24 - перейти к сообщению
ой, бред.. разобралсо)
(Добавление)
OrmaJever пишет:
в list добавить 3 параметр

Не, с этим все ясно) я чуть про другое имел в виду)
забыли. Улыбка

 

Powered by ExBB FM 1.0 RC1