Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2012 Откуда: Пермь
Помог: 1 раз(а)
Не нашел такой темы, где новички задавали бы вопросы, длинною в несколько предложений, а то зачем темы то плодить?
Я на php не больше недели, но мне помогает небольшой опыт на других языках, да и сам уже привык к стандартным конструкциям из языка к языку. Речь пойдет конечно не об этом. Да и больше это тема, сводится к тому что не хочу быть "быдлокодером".
Вот собственной персоной мой говнокод:
Цель сего чуда создания была такова: У меня было около 10 таблиц которые просто нужно было выдать виде таблицы для показа. Когда начал реализовывать это, то понял а что как дурак занимаюсь копипастом(написал один подобный фрагмент и размножил на несколько для вывода каждый раз отдельной таблицы) и вырос код до приличных размеров. Поставленное условие выполнялось, но мне не понравилось и стал писать функцию. В функцию лишь передавался указатель от SQL запроса, который обрабатывал assoc, от использование mysql_fetch_array отказался(он мне еще в добавок выдавал численный массив).
Вопрос мой в том, рисую шапку посредством цикла foreach, где значения шапки выдаются ключи массива. Допустим есть 2 ряда, то рисует он два раза шапку. Решение написал такое if ($logic), проверял была ли уже отображена шапка. Знаю можно как то лучше решить этот вопрос но не додумываюсь пока, видимо из за малого опыта работы с php еще.
Ушел читать Котерова дальше. Извините что столько воды в тексте, но хочу и делаю для этого все чтоб стать профессиональным php программистом, и самого начала не писать говнокод.
Все работает, но выдает варнинг:
Warning: mysql_field_name() [function.mysql-field-name]: Field 4 is invalid for MySQL result index 4 in Z:\home\php-test\www\php-output.php on line 22
Ясное дело, что такого поля нет, и он приводит к варнингу. Вид счет начинается с 0..3, пробовал блин и while, и for, все эта ошибка...
Теперь к несуществующим элементам массива не обращается.
Раньше надо спать ложится, а то глубокой ночью не мог дописать (-1), так что старайтесь ложится пораньше
Такие подобные конструкции используются для чего? Как я понимаю они используются для упрощения редактирования и чтения html кода заключенный в php файл?
Такие подобные конструкции используются для чего? Как я понимаю они используются для упрощения редактирования и чтения html кода заключенный в php файл?
нет endif и endwhile. все сделано умнее. чтоб можно было делать условие внутри условия которое в еще одном условии (то же самое while)
к примеру
if (условие) // первое условие
{
if (условие) действие; // второе условие (первое верно)
else действие; // второе условие неверно (первое верно)
}
else действие; // первое условие неверно
LIME
Отправлено: 20 Февраля, 2012 - 18:59:04
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
incker а что с if endif так нельзя?
Symby
Отправлено: 22 Февраля, 2012 - 20:05:26
Гость
Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2012 Откуда: Пермь
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
preg_match_all (Добавление)
Затупил, так не прокатит.
Но можно попытаться через preg_split()
Symby
Отправлено: 22 Февраля, 2012 - 20:52:48
Гость
Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2012 Откуда: Пермь
Помог: 1 раз(а)
IllusionMH Нечего)
Я свою проблему немного по другому решил, изначально не так думал. Вот что значит не правильно поставленная задача! )
Теперь что мне делать ниже с ключом 5, там начинается новый массив, он мне допустим если все элементы рекурсивно выводит(чтоб по вложенным массивам тоже проходил) то он мне выводит Array, какую мне проверку сделать что если он наталкивается на такое вставляет допустим слово "массив". Надеюсь поняли что хочу)
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
IllusionMH тут нужен был strpos() в цикле со смещением на негоже
тут для числа вхождений можно счетчик цикла использовать
но есть и ф-ция для этого substr_count() (Добавление)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.