Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 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
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
20 Страницы  « < 12 13 14 15 16 > »   
Reply to this topicStart new topic
Ответов(260 - 279)
Dreyk
Oct 12 2011, 16:06
  
Пост #261



Репутация:   120  
Постоялец
***

Группа: Пользователи
Сообщений: 1 305
С нами с: 13-October 06


кавычки вокруг $date поставь

Сообщение отредактировал Dreyk - Oct 12 2011, 16:06
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Glavar
Oct 12 2011, 16:38
  
Пост #262



Репутация:   10  
Активист
*

Группа: Пользователи
Сообщений: 379
С нами с: 11-May 08


(Dreyk @ Oct 12 2011, 16:06) Перейти к цитате

кавычки вокруг $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");
dash2.gif

Сообщение отредактировал Glavar - Oct 12 2011, 17:29
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Glavar
Nov 7 2011, 13:13
  
Пост #263



Репутация:   10  
Активист
*

Группа: Пользователи
Сообщений: 379
С нами с: 11-May 08


Добрый день! buba.gif
Подскажите как решить задачку:
есть в таблице 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
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Hunter7
Nov 7 2011, 20:47
  
Пост #264



Репутация:   20  
Активист
*

Группа: Пользователи
Сообщений: 236
С нами с: 21-June 07


mysql_query(" ... ORDER BY (DATE(datestart)+ INTERVAL timelnght DAY) , datestart");
через запятую перечисляются сортировки...
TIME(...) погоды не делает, развечто замедлит запрос
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
wm.morgun
Dec 15 2011, 10:00
  
Пост #265



Репутация:   53  
Активист
*

Группа: Пользователи
Сообщений: 259
С нами с: 26-April 07


(Glavar @ Nov 7 2011, 13:13) Перейти к цитате

Добрый день! buba.gif
Подскажите как решить задачку:
есть в таблице 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;
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
psyhonut
Sep 16 2012, 20:58
  
Пост #266



Репутация:   12  
Дух


Группа: Пользователи
Сообщений: 96
С нами с: 5-January 10


(wm.morgun @ Dec 15 2011, 11:00) Перейти к цитате

триггером, например:

Не слушай его. Триггеры - это предпоследнее, о чем надо думать, когда реализуешь такой функционал.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
psyhonut
Sep 16 2012, 21:11
  
Пост #267



Репутация:   12  
Дух


Группа: Пользователи
Сообщений: 96
С нами с: 5-January 10


(Glavar @ Oct 11 2011, 21:30) Перейти к цитате

$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;


Ой, я некрофил :-)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
wm.morgun
Sep 23 2012, 22:30
  
Пост #268



Репутация:   53  
Активист
*

Группа: Пользователи
Сообщений: 259
С нами с: 26-April 07


(psyhonut @ Sep 16 2012, 21:58) Перейти к цитате

Не слушай его. Триггеры - это предпоследнее, о чем надо думать, когда реализуешь такой функционал.

Действительно, триггеры последнее, о чем надо думать, ведь для начала, желательно, предложить свой вариант ;-)

Сообщение отредактировал wm.morgun - Sep 23 2012, 22:31
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
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 файл.
В чем может быть проблема?

блин я туплю...все работает.sad.gif

Сообщение отредактировал YoGi - Nov 25 2012, 16:30
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-RC-
Nov 25 2012, 17:26
  
Пост #270



Репутация:   424  
bifurcated person
*****

Группа: Пользователи
Сообщений: 6 519
С нами с: 24-December 08


а зачем trim используешь?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
YoGi
Nov 25 2012, 19:11
  
Пост #271



Репутация:   39  
Активист
*

Группа: Пользователи
Сообщений: 435
С нами с: 21-March 08


(-RC- @ Nov 25 2012, 17:26) Перейти к цитате

а зачем trim используешь?


немного подкорректировать введенные данные, пробелы поубирать...

тут другой вопрос возник, база в utf8, передаю через форму данные, а данные в базу отображаются в виде знаков вопроса, менял на cp1251 такая же фигня...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
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
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-RC-
Nov 25 2012, 19:55
  
Пост #273



Репутация:   424  
bifurcated person
*****

Группа: Пользователи
Сообщений: 6 519
С нами с: 24-December 08


(YoGi @ Nov 25 2012, 19:11) Перейти к цитате

немного подкорректировать введенные данные, пробелы поубирать...

тут другой вопрос возник, база в 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'");

(Spectral @ Nov 25 2012, 19:16) Перейти к цитате

Выполняю десериализацию JSON. Где посмотреть, что за класс получился? Подскажите IDE, где можно остановить по чекпоинту и увидеть окружение, в т. ч содержимое переменных.

ps Попроще, чем Eclipse, Zend.. а то там со средой дольше разбираться, чем писать.

phpEd наверное покажется таким же злым? )

Сообщение отредактировал -RC- - Nov 25 2012, 19:53
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
YoGi
Nov 26 2012, 9:15
  
Пост #274



Репутация:   39  
Активист
*

Группа: Пользователи
Сообщений: 435
С нами с: 21-March 08


(-RC- @ Nov 25 2012, 19:55) Перейти к цитате

нужно проверить 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, все нормально sad.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-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'");
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Vo1
Nov 27 2012, 15:49
  
Пост #276

Благодарности: 749

Репутация:   147  
Старожил
****

Группа: Пользователи
Сообщений: 2 396
С нами с: 10-November 06


(-RC- @ Nov 26 2012, 10:48) Перейти к цитате

в пхп пропиши

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() smile.gif

Сообщение отредактировал Vo1 - Nov 27 2012, 15:49
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-RC-
Nov 27 2012, 16:51
  
Пост #277



Репутация:   424  
bifurcated person
*****

Группа: Пользователи
Сообщений: 6 519
С нами с: 24-December 08


ну просто были бы кракозяблики, а "??????" это когда с mysql не может забрать в нужной кодировке
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
YoGi
Nov 27 2012, 21:30
  
Пост #278



Репутация:   39  
Активист
*

Группа: Пользователи
Сообщений: 435
С нами с: 21-March 08


(Vo1 @ Nov 27 2012, 15:49) Перейти к цитате

это выполняет SET NAMES utf8

помоему у него дело в том, что нету <meta http-equiv="content-type" content="text/html; charset=utf-8" />
или php header() smile.gif


charset прописывал smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
iProphet
Nov 28 2012, 0:11
  
Пост #279



Репутация:   39  
Активист
*

Группа: Пользователи
Сообщений: 358
С нами с: 5-September 09


Сохраните файл в кодировке utf-8
И проверьте в какой кодировки у Вас таблицы в mysql

Если у вас только кирилица и латиница то сделайте все в cp1251

Я всегда держу в голове что кодировка должна быть везде одинаковой: файл, база, http
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
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 ""; ?>

User is offlineProfile CardPM
Go to the top of the page
+Quote Post

20 Страницы  « < 12 13 14 15 16 > » 
Reply to this topicStart new topic

 



- Упрощённая версия
Сейчас: 25th November 2024 - 8:40
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст.