'password,
Минусы как бы очевидны:нет, не очевидны, по крайней мере миллионам разрабов
1 Код становится трудно читаем. По месту использования не всегда понятно что имеется ввиду под Order::load() - \Framework\Sale\Order::load или \Vendor\Project\Sale\Order::load - приходится проматывать к верху файла.Вам как разрабу должно быть в принципе фиолетово, какой из пакетов используется, если они соблюдают один интерфейс. Если не соблюдают, при том что называются одинаково, значит все пошло не так задолго до проблем с определением пакета...
2 Код становиться длиннее - там где было бы просто:Код становится длиннее в проектах где 2 контроллера и в них по 1 экшену. Там где Extension::load будет вызываться больше одного раза, очевидно экономия на эксплуатации клавиатуры заметно увеличивается. А в больших проектах создание объекта может (и будет) повторяться многократно.
\Framework\Main\UI\Extension::load([ 'vendor.module.components.cabinet.personal' ]);
приходится писать:
use \Framework\Main\UI\Extension;
Extension::load([ 'vendor.module.components.cabinet.personal' ]);
4 Код становиться замусоренным, так как верхушки файлов запросто превращаются во что-то вроде:Если не обращать внимание на отсутствие пункта 3, то... нет, не могу не обращать внимание, вот же торопыга....
И хрен его знает используются импортированные классы ниже ещё или уже нет, ведь никто не убирает этот мусор.Хрен не знает, а ИДЕ замечательно знает и даже подсвечивает серым цветом неиспользуемые.
В теле цыкла происходит обращение к таблицам базы данных,Запросы в цикле - зло, нельзя заниматься фигней ради фигни. Переписать код на 1 нормальный запрос, и уже с выборкой работать. Тогда код будет выполняться за приемлемое время и никаких костылей не понадобится. Понимаю что "так проще". Но так делать нельзя.
При проверке var_dump($country_id); мне приходит массив с значением NULLОк, а проверить таким же способом $_POST что мешало?
Так у вас получается что ВСЕ опции при старте уже выделены... кроме того - откройте код странички и посмотрите что у вас в value попадает, не факт что там есть значения.echo "<option =". $row["id"] . "selected>" . $row["name"] . "</option>";
$search = _string($_POST['search_string']);
$sql = '
SELECT *
FROM `chat`
WHERE `user_id` IN (
SELECT `id`
FROM `users`
WHERE `login` LIKE "'.$search.'%"
)
ORDER BY `time`
DESC '; // делаем запрос отдельной строкой,
var_dump($sql);
//вставив в него переменную убеждаемся что там ерунда
//пишем нормально
$search = $_POST['search_string'].'%';
$sql = '
SELECT *
FROM `chat`
WHERE `user_id` IN (
SELECT `id`
FROM `users`
WHERE `login` LIKE ?
)
ORDER BY `time`
DESC ';
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('s', $search);
$chat_result = $stmt->execute();
while ( $row = $chat_result->fetch_assoc() ) {
echo $row['user_id'].'<hr>';
}
Вопрос старый, но ответа я на него, внятного, найти не смог.Не особо искали?
Cтоит ли использовать новостной движок CUTENEWS.RU?В общем случае - нет, движки без поддержки сообщества и без обновлений по сути бесполезны. По этому какой бы крутой движок не был "внутри", весь смысл в работе на постоянной основе и поддержке, а это без распространенности не бывает. Так что ответ - не стоит.
Если лучше подключить другой, можете порекомендовать простой бесплатный движок с гайдом подключения?Если вы не программист, то скорее всего вордпресс - ваш выбор. Гайды на установку есть как на офф. сайте, так и на миллионе сторонних ресурсов. Очень распространен и имеет большое сообщество, регулярно выходят обновления.
type:'inline'
,Вот к примеру была функция check_category - вообще ничего не записывала:
$sql = "SELECT category_id,name FROM {$prefixTables}category_description WHERE name='".iconv('UTF-8', 'UTF-8', trim($str['category']))."'";
$res = $pdo->query($sql);
while($row = $res->fetch())
{
$category_id = $row['category_id'];
}
or die(mysqli_error());
... прям ностальгия по началу нулевых...какая у тебя ошибка выдается, если отвалилось соединение с БД? а если не хватает ОЗУ? где эта ошибка выводится? В логах PHP? На самой странице, где выполняется код? У меня такие ошибки никогда не выводились. Я догадывался о них интуитивно. Как раз таки пробуя менять лимиты.Все ошибки логируются, если специально не выключать логи. По этому чтобы знать что за ограничение у вас сработало, не надо тыкать пальцем в небо и молиться Линусу Торвальдсу, надо просто посмотреть что конкретно произошло и решать конкретную проблему.
Но такие ошибки не выводятся. Я подумал, может, дело в настройках apache / nginx. Но ты сказал PHP.Хостер может запретить изменение настроек сервера через ini_set, так что это ни о чем не говорит. В логах в любом случае ошибка отразится.
$arSelect = array(); // создали массив
while($region = $dbItems->fetch()) {
/*в $arSelect лежит список регионов*/
$arSelect = array( //еще раз создали НОВЫЙ массив???
$region["ID"] => $region["NAME"]
); // каждую итерацию здесь будет новый массив с 1 элементом
// логично что в конце выполнения тут будет только значение последней итерации
}
Надеюсь вы знаете как добавить элемент в массив?