Вопросы по PHP |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6829-й день
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua |
Вопросы по PHP |
Glavar |
Dec 12 2010, 20:35
Пост
#1
|
Репутация: 10 Активист Группа: Пользователи Сообщений: 379 С нами с: 11-May 08 |
Доброго время суток!
1. Скажите как мне обрезать первых 7 знаков, а остальные занести в базу? 2. У меня есть максимальное число голосов припустим 50, как мне присвоить ему 1 место 15 глосов - 5 место 43 голоса - 2 место 28 голосов - 3 место 24 - 4 место и т.д. и что бы место записывалось и обновлялось автоматически в базе данных? Тема для обговорення мови програмування PHP, всі сторонні коментарі будуть видалятися, а їх автори отримувати % Сообщение отредактировал BoyKot - Feb 3 2011, 13:22 |
Dreyk |
Oct 12 2011, 16:06
Пост
#261
|
Репутация: 120 Постоялец Группа: Пользователи Сообщений: 1 305 С нами с: 13-October 06 |
кавычки вокруг $date поставь
Сообщение отредактировал Dreyk - Oct 12 2011, 16:06 |
Glavar |
Oct 12 2011, 16:38
Пост
#262
|
Репутация: 10 Активист Группа: Пользователи Сообщений: 379 С нами с: 11-May 08 |
кавычки вокруг $date поставь незнаю почему, но сработало только так: $lastdate = strtotime($_POST[lastdate]); $date = date('Y-m-d H:i:s', $lastdate); $all_news_bs = mysql_query("SELECT * FROM news WHERE $date>date ORDER BY date DESC"); Сообщение отредактировал Glavar - Oct 12 2011, 17:29 |
Glavar |
Nov 7 2011, 13:13
Пост
#263
|
Репутация: 10 Активист Группа: Пользователи Сообщений: 379 С нами с: 11-May 08 |
Добрый день!
Подскажите как решить задачку: есть в таблице 2 поля: 1. datestart = "2011-11-11 11:11:11" (DATE TIME) - поле отвечает за дату старта 2. timelnght = 90 (INT) - поле отвечает за количество дней Задача: отсортировать записи по дате окончания (2011-11-[11+90] 11:11:11"), а между собой потом по времени. Как такое сделать в Mysql запросе? P.S. mysql_query(" ... ORDER BY (DATE(datestart)+ INTERVAL timelnght DAY) AND TIME(datestart)"); но AND TIME(datestart) - все отсортировует только по времени и не учитывает сортировки перед ним Сообщение отредактировал Glavar - Nov 7 2011, 13:49 |
Hunter7 |
Nov 7 2011, 20:47
Пост
#264
|
Репутация: 20 Активист Группа: Пользователи Сообщений: 236 С нами с: 21-June 07 |
mysql_query(" ... ORDER BY (DATE(datestart)+ INTERVAL timelnght DAY) , datestart");
через запятую перечисляются сортировки... TIME(...) погоды не делает, развечто замедлит запрос |
wm.morgun |
Dec 15 2011, 10:00
Пост
#265
|
Репутация: 53 Активист Группа: Пользователи Сообщений: 259 С нами с: 26-April 07 |
Добрый день! Подскажите как решить задачку: есть в таблице 2 поля: 1. datestart = "2011-11-11 11:11:11" (DATE TIME) - поле отвечает за дату старта 2. timelnght = 90 (INT) - поле отвечает за количество дней Задача: отсортировать записи по дате окончания (2011-11-[11+90] 11:11:11"), а между собой потом по времени. Как такое сделать в Mysql запросе? P.S. mysql_query(" ... ORDER BY (DATE(datestart)+ INTERVAL timelnght DAY) AND TIME(datestart)"); но AND TIME(datestart) - все отсортировует только по времени и не учитывает сортировки перед ним Если делаются сортировки по дате окончания, то надо эту дату окончания хранить в отдельном поле, плюс иметь индекс по этому полю. Если надо иметь период отдельным полем и делать по ней сортировки, то обновлять одно из полей (дату конца или период) триггером, например: DELIMITER // CREATE TRIGGER dateend_insert BEFORE INSERT ON table_name FOR EACH ROW BEGIN SET NEW.dateend = DATE(NEW.datestart) + INTERVAL NEW.timelnght DAY; END;// CREATE TRIGGER dateend_update BEFORE UPDATE ON table_name FOR EACH ROW BEGIN SET NEW.dateend = DATE(NEW.datestart) + INTERVAL NEW.timelnght DAY; END;// DELIMITER; |
psyhonut |
Sep 16 2012, 20:58
Пост
#266
|
Репутация: 12 Дух Группа: Пользователи Сообщений: 96 С нами с: 5-January 10 |
|
psyhonut |
Sep 16 2012, 21:11
Пост
#267
|
Репутация: 12 Дух Группа: Пользователи Сообщений: 96 С нами с: 5-January 10 |
$all_news_bs = mysql_query("SELECT * FROM news WHERE $date > date ORDER BY date DESC LIMIT 5"); где date -> DateTime Ты когда показываешь свой код, показывай сюда, как выглядит запрос после интерпретации. Т.е. типа так: $query = "SELECT * FROM news WHERE $date > date ORDER BY date DESC LIMIT 5"; $all_news_bs = mysql_query($query); echo $query; И показывай кроме строки $query = "SELECT * FROM news WHERE $date > date ORDER BY date DESC LIMIT 5"; еще и то, что будет после echo $query; Ой, я некрофил :-) |
wm.morgun |
Sep 23 2012, 22:30
Пост
#268
|
Репутация: 53 Активист Группа: Пользователи Сообщений: 259 С нами с: 26-April 07 |
|
YoGi |
Nov 25 2012, 15:47
Пост
#269
|
Репутация: 39 Активист Группа: Пользователи Сообщений: 435 С нами с: 21-March 08 |
Подскажите, есть пример:
форма для отправки данных в базу: <html> <head> <title> </title> <link href ="подключение css"/> </head> <body> <div id="header"></div> <div id="content"> <h1>!!!!!!</h1> <p>заполните форму</p> <form action="scripts/create_user.php" method ="POST"> <fieldset> <label for="name" > name :</label> <input type = "text" name='atm' size="50"/></br> <label for="city" > city :</label> <input type = "text" name='city' size="50"/></br> <label for="street" > street :</label> <input type = "text" name='street' size="50"/></br> <label for="number" > number :</label> <input type = "text" name='number' size="50"/></br> <label for="note" > note :</label> <input type = "text" name='note' size="50"/></br> </fieldset> </br> <fieldset class="center"> <input type = "submit" value="отправить" /> <input type = "reset" value="очистить" /> </fieldset> </form> </div> <div id="footer"></div> </body> </html> есть файл который обрабатывает форму: require 'Z:\home\localhost\www\user\scripts\database_connection.php''; $name=trim($_POST['name']); $city=trim($_POST['city']); $street=trim($_POST['street']); $number=trim($_POST['number']); $note=trim($_POST['note']); $insert_sql = "INSERT INTO user_run (name, city, street, number, note) VALUES('$name','$city','$street','$number','$note')"; mysql_query($insert_sql) or die(mysql_error()); по идее все правильно, но данные не заносятся в базу, и после нажатия отправить просто открывается php файл. В чем может быть проблема? блин я туплю...все работает. Сообщение отредактировал YoGi - Nov 25 2012, 16:30 |
-RC- |
Nov 25 2012, 17:26
Пост
#270
|
Репутация: 424 bifurcated person Группа: Пользователи Сообщений: 6 519 С нами с: 24-December 08 |
а зачем trim используешь?
|
YoGi |
Nov 25 2012, 19:11
Пост
#271
|
Репутация: 39 Активист Группа: Пользователи Сообщений: 435 С нами с: 21-March 08 |
|
Spectral |
Nov 25 2012, 19:16
Пост
#272
|
Благодарности: 2565 Репутация: 3108 Кошки-это хорошо Группа: Модеры Сообщений: 21 482 С нами с: 2-July 07 |
Выполняю десериализацию JSON. Где посмотреть, что за класс получился? Подскажите IDE, где можно остановить по чекпоинту и увидеть окружение, в т. ч содержимое переменных.
ps Попроще, чем Eclipse, Zend.. а то там со средой дольше разбираться, чем писать. Сообщение отредактировал Spectral - Nov 25 2012, 19:17 |
-RC- |
Nov 25 2012, 19:55
Пост
#273
|
Репутация: 424 bifurcated person Группа: Пользователи Сообщений: 6 519 С нами с: 24-December 08 |
немного подкорректировать введенные данные, пробелы поубирать... тут другой вопрос возник, база в utf8, передаю через форму данные, а данные в базу отображаются в виде знаков вопроса, менял на cp1251 такая же фигня... нужно проверить MySQL connection collation в my.cf должно быть тогда: [mysqld] character-set-server=utf8 collation-server=utf8_unicode_ci а лучше так init-connect="SET NAMES utf8" также если нет доступа к my.cf или ты не админ сервера, то сделай после подключения к бд mysql_query ("set character_set_client='utf8'"); mysql_query ("set character_set_results='utf8'"); mysql_query ("set collation_connection='utf8_unicode_ci'"); Выполняю десериализацию JSON. Где посмотреть, что за класс получился? Подскажите IDE, где можно остановить по чекпоинту и увидеть окружение, в т. ч содержимое переменных. ps Попроще, чем Eclipse, Zend.. а то там со средой дольше разбираться, чем писать. phpEd наверное покажется таким же злым? ) Сообщение отредактировал -RC- - Nov 25 2012, 19:53 |
YoGi |
Nov 26 2012, 9:15
Пост
#274
|
Репутация: 39 Активист Группа: Пользователи Сообщений: 435 С нами с: 21-March 08 |
нужно проверить MySQL connection collation в my.cf должно быть тогда: [mysqld] character-set-server=utf8 collation-server=utf8_unicode_ci а лучше так init-connect="SET NAMES utf8" также если нет доступа к my.cf или ты не админ сервера, то сделай после подключения к бд mysql_query ("set character_set_client='utf8'"); mysql_query ("set character_set_results='utf8'"); mysql_query ("set collation_connection='utf8_unicode_ci'"); phpEd наверное покажется таким же злым? ) в my.cnf прописано init-connect="SET NAMES utf8", сервер локальный, так что права есть, база и таблицы в utf8, игрался с разными кодировками, или при передаче в базе знаки вопроса, или отображаются только цифры. когда пишу запрос через phpmyadmin, все нормально |
-RC- |
Nov 26 2012, 9:48
Пост
#275
|
Репутация: 424 bifurcated person Группа: Пользователи Сообщений: 6 519 С нами с: 24-December 08 |
в пхп пропиши
mysql_query ("set character_set_client='utf8'"); mysql_query ("set character_set_results='utf8'"); mysql_query ("set collation_connection='utf8_unicode_ci'"); |
Vo1 |
Nov 27 2012, 15:49
Пост
#276
|
Благодарности: 749 Репутация: 147 Старожил Группа: Пользователи Сообщений: 2 396 С нами с: 10-November 06 |
в пхп пропиши mysql_query ("set character_set_client='utf8'"); mysql_query ("set character_set_results='utf8'"); mysql_query ("set collation_connection='utf8_unicode_ci'"); это выполняет SET NAMES utf8 помоему у него дело в том, что нету <meta http-equiv="content-type" content="text/html; charset=utf-8" /> или php header() Сообщение отредактировал Vo1 - Nov 27 2012, 15:49 |
-RC- |
Nov 27 2012, 16:51
Пост
#277
|
Репутация: 424 bifurcated person Группа: Пользователи Сообщений: 6 519 С нами с: 24-December 08 |
ну просто были бы кракозяблики, а "??????" это когда с mysql не может забрать в нужной кодировке
|
YoGi |
Nov 27 2012, 21:30
Пост
#278
|
Репутация: 39 Активист Группа: Пользователи Сообщений: 435 С нами с: 21-March 08 |
|
iProphet |
Nov 28 2012, 0:11
Пост
#279
|
Репутация: 39 Активист Группа: Пользователи Сообщений: 358 С нами с: 5-September 09 |
Сохраните файл в кодировке utf-8
И проверьте в какой кодировки у Вас таблицы в mysql Если у вас только кирилица и латиница то сделайте все в cp1251 Я всегда держу в голове что кодировка должна быть везде одинаковой: файл, база, http |
YoGi |
Nov 29 2012, 20:36
Пост
#280
|
Репутация: 39 Активист Группа: Пользователи Сообщений: 435 С нами с: 21-March 08 |
ясно спс, читаю Маклафлина пытаюсь что нибудь простенькое сделать, возник небольшой затык:
<? require 'подключение бд'; $search=$_POST['search']; if (!$search){ echo 'введите имя'; } $select_query = "SELECT*FROM users WHERE name LIKE '%$search%'"; $result=mysql_query($select_query); $row = mysql_fetch_array($search); $name=$row['name']; $surname=$row['surname']; $email=$row['email']; $note=$row['note']; ?> <html> <head> <title></title> </head> <body> <div id="header"></div> <div id="content"> <div class="cards_profile"> <h1>заголовок</h1> <p> <? echo "<table border=1>"; echo "<tr><td>$name</td>,<td>$surname</td>,<td>$email</td>,<td>$note</td></tr>"; echo "</table>"; ?> </p> </div> </div> <div id="footer"></div> </body> </html> по идее ввожу через форму имя, запросом выбираю всю инфу из строчки где есть это имя, делаю из полученной инфы массив, присваиваю значениям переменные и вывожу их ... но что то ничерта не выходит, выводится только : "; echo "$name,$surname,$email,$note,"; echo ""; ?> |
Упрощённая версия | Сейчас: 25th November 2024 - 8:40 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |