Не много обо всем. От рыбалки до вышивания крестиком.
qwertyua
- qwertyua
- Сообщений: 983
- Зарегистрирован: Ср дек 12, 2012 22:31:23
- Откуда: Киев
- Авто: Nissan Qashqai, 1.6, mt, SE, 2012
Re: PHP MySQL
Чт май 05, 2016 23:33:37
Викторович писал(а):qwertyua писал(а):If ($rw->dt_alert < $dt_cur ):
Так нельзя?
пробовал. не работает.
А после while у $rw->dt_alert есть значение? Если перед if сделать echo?
igor'OK
- igor'OK
- Сообщений: 2158
- Зарегистрирован: Ср фев 13, 2008 12:02:45
- Откуда: Забугорье
Re: PHP MySQL
Пт май 06, 2016 00:01:51
Наверное как-то так
- Код:
$rs = mysql_query('....');
if(mysql_num_rows($rs)) {
while($rw = mysql_fetch_object($rs)) {
echo ($rw->dt_alert);
}
} else {
//.....
}
Викторович
- Викторович
- Сообщений: 2040
- Зарегистрирован: Чт июн 07, 2007 12:14:39
- Откуда: Киев
Re: PHP MySQL
Пт май 06, 2016 09:16:04
igor'OK
Сделал так:
<?
$dt_cur = date("Ymd");
$qr= "SELECT min(dt_alert) AS dt_alert FROM alerts WHERE idusr=$idusr AND dt_alert<$dt_cur";
$rs = mysql_query($qr);
if(mysql_num_rows($rs)) {
while($rw = mysql_fetch_object($rs)){
echo ( '
<table height="25" align="center" width="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#3e779d">
<tr>
<td colspan="0" height="15"></td>
</tr>
<tr>
<td height="19" width="7%" align="center" bgcolor="#65a9d7" class="txtclient" style="BORDER-RIGHT: #E7F0F9 1px solid; BORDER-TOP: #B7CDE3 0px solid; BORDER-LEFT: #B7CDE3 0px solid; BORDER-BOTTOM: #65a9d7 px solid;"><font color="#FFFFFF"><b>Дата</b></font></td>
<td height="19" width="100%" align="center" bgcolor="#65a9d7" class="txtclient" style="BORDER-RIGHT: #E7F0F9 0px solid; BORDER-TOP: #B7CDE3 0px solid; BORDER-LEFT: #B7CDE3 0px solid; BORDER-BOTTOM: #65a9d7 px solid;"><font color="#FFFFFF"><b>Мои текущие напоминания</b></font></td>
</tr>
');
}
}
?>
В echo запихнул тот HTML который должен выводиться при условии что в таблице будет дата меньше текущей. Т.е. заменил то что было раньше echo ($rw->dt_alert); на HTML. Но если echo ($rw->dt_alert); выводилась когда условие выполнялось и не выводилось когда даты меньше текущей не было, то HTML выводиться всегда. Независимо от того есть дата меньше текущей в таблице или нет.
Почему так?
Викторович
- Викторович
- Сообщений: 2040
- Зарегистрирован: Чт июн 07, 2007 12:14:39
- Откуда: Киев
Re: PHP MySQL
Пт май 06, 2016 15:28:55
Вот так работает:
<?
$dt_cur = date("Ymd");
$qr= "SELECT min(dt_alert) AS dt_alert FROM alerts WHERE idusr=$idusr AND dt_alert<$dt_cur";
$rs = mysql_query($qr);
while($rw = mysql_fetch_object($rs)){
if ($rw->dt_alert > 0)
{
echo ( ' HTML');
}
}
?>
Коряво или нормально?
healix
- healix
- Сообщений: 10721
- Зарегистрирован: Сб фев 09, 2008 11:03:48
- Откуда: Киев
- Авто: Qashqai 1.6 Tekna 2007, Ford Kuga 2017 FWD МТ6 2.0 TDCi 150
Re: PHP MySQL
Пт май 06, 2016 17:07:42
Можно соптимизировать
- Код:
$res = mysql_query("SELECT * FROM alerts WHERE idusr = $idusr AND dt_alert < curdate() limit 1");
if( $res && mysql_num_rows($res) )
echo('HTML');
Викторович
- Викторович
- Сообщений: 2040
- Зарегистрирован: Чт июн 07, 2007 12:14:39
- Откуда: Киев
Re: PHP MySQL
Пт май 06, 2016 21:13:59
healix писал(а):Можно соптимизировать
Круто))) работает
Спасибо!!!!!!!
Викторович
- Викторович
- Сообщений: 2040
- Зарегистрирован: Чт июн 07, 2007 12:14:39
- Откуда: Киев
Re: PHP MySQL
Пт июн 03, 2016 09:52:38
Коллеги,
вот еще вопрос. У меня окно с календарем открывается следующим кодом:
<td><input name="dt_alert" type="text" class="inpDate_plan" value="{DT_ALERT}" readonly onClick="if (document.layers) getMouseLoc; else if (document.all) getMouseLoc(); window.open('../common/cl.php?fnm=sale_plan{I}&enm=dt_alert', 'wow','top=100, left=600, width=230, height=190, scrollbars=no')" onMouseOver=" sActive(this)" onMouseOut="clrActive(this)"></td>
тут задано положение открытия этого окна.
А хочется что бы окно открывалось рядом с кликом курсора. 2 дня гуглю. Ни чего не нашел. Нашел много информации о том как определять координаты курсора. А вот как потом по ним позиционировать окно не нашел.
Помогите с решением.
Нужно открывать окошко рядом с кликом мыши.
igor'OK
- igor'OK
- Сообщений: 2158
- Зарегистрирован: Ср фев 13, 2008 12:02:45
- Откуда: Забугорье
Re: PHP MySQL
Пт июн 03, 2016 20:52:10
Окну можно задать координаты, где оно должно открыться, например window.open('...', '...', 'top=100,left=100');
Тут можно узнать какие вообще возможности есть у window.open
http://www.w3schools.com/jsref/met_win_open.aspНО координат курсора недостаточно для вычисления положения открываемого окна, так как они относительны левого верхнего угла документа, а нам надо относительно всего экрана. Тебе понадобится положение окна браузера относительно экрана, тоесть координаты самого браузера, их можно взять у объекта window (window.screenX && window.screenY).
Тут есть более подробное объяснение где и когда их брать
http://stackoverflow.com/questions/5040 ... javascriptИмея все эти цифры можно посчитать координаты нового окна, правда там еще могут быть куча панелей у браузера, для большей точности прийдется повозиться с разницей размера окна и документа чтобы узнать размер панелей браузера, возможно есть более точный способ это сделать
Я бы советовал избегать popup windows вообще если это возможно
Викторович
- Викторович
- Сообщений: 2040
- Зарегистрирован: Чт июн 07, 2007 12:14:39
- Откуда: Киев
Re: PHP MySQL
Пн авг 01, 2016 09:19:16
опять нужна помощь...
Создал тестовую страничку. Там 9 полей из них одно это селект но сделаный на скрипте.
Все подключил и работает. Но есть одно НО.
Селект растягивает поля над собой и под собой.
Т.е. ставлю длина селекта 100% он растягивается как бы на нужную ширину, но увеличивает верхнее и нижнее текстовое поле.
А мне нужно что бы все три поля в одной колонке были одинаковые по ширине.
Присоеденил архив. Тав все. Скрипты стили и пхп страничка.
Посмотрите может получится выравнять все это.
Спасибо.
- Вложения
-
- test.zip
- (42.5 KiB) Скачиваний: 90
Викторович
- Викторович
- Сообщений: 2040
- Зарегистрирован: Чт июн 07, 2007 12:14:39
- Откуда: Киев
Re: PHP MySQL
Пт ноя 03, 2017 09:28:56
igor'OK
Посмотри пожалуйста код:
<?
if($act=='Deltask'):
$qr = "DELETE FROM task WHERE id=$idtask";
$rs = mysql_query($qr);
$qr = "SELECT * FROM task_images WHERE idtask=$idtask";
$rs = mysql_query($qr);
while($rw = mysql_fetch_object($rs)){
$imgnm = $sql->SOne('task_images', 'nm', 'idtask', $idtask);
unlink("$path_img$imgnm");}
$qr = "DELETE FROM task_images WHERE idtask=$idtask";
$rs = mysql_query($qr);
?>
В моей клиентской базе к задаче я привязываю несколько кртинок.
При удалении задачи из базы, запись о задаче удаляется, запись в базе данных о картинках удаляется, а вот из папки с картинками удаляется только первая прикрепленная к задаче. А хочу что бы все картинки привязанные к одной задачи удалялись.
Помоги пожалуйста.
igor'OK
- igor'OK
- Сообщений: 2158
- Зарегистрирован: Ср фев 13, 2008 12:02:45
- Откуда: Забугорье
Re: PHP MySQL
Вс ноя 05, 2017 03:57:28
Меня смущает эта строчка, она типа должна возвращать имя файла для удаления, возможно возвращает не то что надо
- Код:
$imgnm = $sql->SOne('task_images', 'nm', 'idtask', $idtask);
Эта строчка удаляет файл с диска
- Код:
unlink("$path_img$imgnm");
Попробуй перед ней добавить
- Код:
echo "$path_img$imgnm; ";
чтобы понятно какие файлы она пытается удалить
Внизу можешь добавить
- Код:
exit;
чтобы остановить выполнение скрипта (предотвратить переадресацию если она там есть)
Викторович
- Викторович
- Сообщений: 2040
- Зарегистрирован: Чт июн 07, 2007 12:14:39
- Откуда: Киев
Re: PHP MySQL
Вт ноя 07, 2017 11:03:30
igor'OK
Вот так заработало!!!!
$qr = "SELECT * FROM task_images WHERE idtask=$idtask";
$rs = mysql_query($qr);
while($rw = mysql_fetch_object($rs)){
$imgnm = array($rw->nm);
foreach ($imgnm as $filename){
unlink("$path_img$filename");
}}
Проблема была таки в строке:
$imgnm = $sql->SOne('task_images', 'nm', 'idtask', $idtask);
возращала только имя (nm) первого файла из привязанных к задаче. И его же удаляла. Остальные файлы к задаче оставались в папке.
Теперь удаляет все файлы привязанные к idtask.
Спасибо за наводку!!!
Викторович
- Викторович
- Сообщений: 2040
- Зарегистрирован: Чт июн 07, 2007 12:14:39
- Откуда: Киев
Re: PHP MySQL
Чт ноя 16, 2017 13:47:07
igor'OK
Еще вопрос...
на странице клиента выводится много табличек. Когда таблички большие, то много приходится крутить прокурутку страницы.
Сделал кнопки скрыть / показать. Кнопки работают, но для каждой таблицы есть свой скрипт и свои id кнопки и id для <tr> которые скрываются.
Не могу это сделать правильно, что бы был один скрипт и только разные id для кнопок и <tr> которые скрываются.
Может ты сможешь помочь.
Сейчас для двух таблиц это выглядит так:
<script>
$(function () {
$('#btnplan').click(function () {
$(this).text($('.plan').is(':visible') ? 'Показать' : 'Скрыть');
$('.plan').toggle();
});
});
</script>
<script>
$(function () {
$('#btnсont').click(function () {
$(this).text($('.cont').is(':visible') ? 'Показать' : 'Скрыть');
$('.cont').toggle();
});
});
</script>
<html>
<span id="btnсont" class="btn">Скрыть</span>
<tr class="cont" style="display:yes">
<td>...</td>
...
</tr>
<span id="btnplan" class="btn">Скрыть</span>
<tr class="plan" style="display:yes">
<td>...</td>
...
</tr>
igor'OK
- igor'OK
- Сообщений: 2158
- Зарегистрирован: Ср фев 13, 2008 12:02:45
- Откуда: Забугорье
Re: PHP MySQL
Пт ноя 17, 2017 01:12:30
На Ангуларе это бы выглядело гораздо проще, советую
- Код:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
<div ng-app>
<button ng-click="showAdditionalRows=!showAdditionalRows">{{showAdditionalRows ? 'Hide' : 'Show'}} Additional Rows</button>
<table>
<tbody>
<tr>
<td>row 1</td>
<td>row 1</td>
<td>row 1</td>
<td>row 1</td>
</tr>
<tr ng-show="showAdditionalRows">
<td>row 2</td>
<td>row 2</td>
<td>row 2</td>
<td>row 2</td>
</tr>
<tr>
<td>row 3</td>
<td>row 3</td>
<td>row 3</td>
<td>row 3</td>
</tr>
<tr ng-show="showAdditionalRows">
<td>row 4</td>
<td>row 4</td>
<td>row 4</td>
<td>row 4</td>
</tr>
</tbody>
</table>
</div>
Викторович
- Викторович
- Сообщений: 2040
- Зарегистрирован: Чт июн 07, 2007 12:14:39
- Откуда: Киев
Re: PHP MySQL
Пт ноя 17, 2017 10:37:27
igor'OK
Спасибо.
разобрался.
получилось.
Действительно так проще.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.