PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): « 1 [2]

> Найдено сообщений: 26
Xenox Отправлено: 09 Марта, 2015 - 16:10:06 • Тема: Как сделать, чтобы страница при переходе на нее скролилась в центр? • Форум: Напишите за меня, пожалуйста

Ответов: 6
Просмотров: 78
Можно попробовать
CODE (javascript):
скопировать код в буфер обмена
  1.   $(document).ready(function(){
  2.     $(document).scrollTop(($(document).height()/2));
  3.   });
  4.  
Xenox Отправлено: 05 Марта, 2015 - 16:07:40 • Тема: Как передать массив через <form> • Форум: Вопросы новичков

Ответов: 13
Просмотров: 690
Т.е. как вариант можно попробовать в notepad преобразовать в "UTF8 без bom". Спасибо! Буду пробовать
Xenox Отправлено: 05 Марта, 2015 - 15:48:10 • Тема: Как передать массив через <form> • Форум: Вопросы новичков

Ответов: 13
Просмотров: 690
[quote=exlant]
если хоть один любой символ будет выведет в браузер перед стартом сессии, то будет ошибка headers alredy sent!
/quote]

Т.е. к примеру если бы у меня был какой то html код перед открывающим тегом php сессии бы не работали?
(Хм глупый вопрос)

Нее это не мой код, это я так на работе быстро написал для примера,
вечером попробую убрать все лишнее перед <?php

Спасибо за подсказку!

P.S. препод сказал что на нормальном сервере все будет ок, типа это косяки денвера
Xenox Отправлено: 05 Марта, 2015 - 15:23:42 • Тема: Как передать массив через <form> • Форум: Вопросы новичков

Ответов: 13
Просмотров: 690
Т.е. я к примеру на второй странице использую такой код:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. session start()
  4.  
  5. $_SESSION['a'] = $_POST['a'];
  6. $_SESSION['b'] = $_POST['b'];
  7. $_SESSION['c'] = $_POST['c'];
  8.  
  9. ?>
  10. <form>
  11. какие то инпуты
  12. </form>
  13.  
  14.  
  15.  


а в третьей странице тогда точно так же вывожу?
к примеру
PHP:
скопировать код в буфер обмена
  1.  
  2. session start()
  3. $query = mysqli_query("INSERT INTO data (a, b, c) VALUES ('{$_SESSION['a'] }',"{$_SESSION['b']}','{$_SESSION['c']')");
  4. session_destroy();
  5.  
Xenox Отправлено: 05 Марта, 2015 - 14:56:07 • Тема: Как передать массив через <form> • Форум: Вопросы новичков

Ответов: 13
Просмотров: 690
Всем спасибо за советы!! Воспользуюсь советом imediasun. А по поводу того зачем мне это нужно, цель: есть три страницы html, в 1 вводятся одни данные и передаються во вторую форму, во второй во второй вводятся еще данные, а первые записываются в массив, и передаються в 3 форму и записываются в бд... Я сначала хотел сделать все это на 1 странице, использовав ajax просто подменять дивы, но препод сказал мол "Ты в ajax ладу не дашь, а тебе еще нужно что бы все это работало в IE 8x+ так что делай 3 страницы и не парь мне мозги."
Может не оч понятно обьяснил, но как то так.

P.S. А по поводу сессий я их тоже не использую по совету препода, потому что денвер выдает ошибку что то типа headers alredy sent, ну я там читал что можно что то изменить в php.ini но пока не лез туда, решил сначала с этим разобраться.
Xenox Отправлено: 05 Марта, 2015 - 02:33:43 • Тема: Как передать массив через <form> • Форум: Вопросы новичков

Ответов: 13
Просмотров: 690
В общем понял все такие придется создать несколько инпутов, все равно спасибо! и сорри что засоряю форум тривиальными вопросами( тему можно закрыть или удалить
Xenox Отправлено: 05 Марта, 2015 - 02:11:22 • Тема: Как передать массив через <form> • Форум: Вопросы новичков

Ответов: 13
Просмотров: 690
Здравствуйте!! Такой вопрос возник, можно ли передать массив через форму? Т.е. к примеру
переменную я передаю так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <form action="" method="POST">
  2. <input type="hidden" value"<?php $var ?>">
  3. <input type="sumbit" value="OK">
  4. </form>
  5.  

А как на счет массива?? К примеру из 5ти элементов? Или прийдется создавать 5 инпутов типа hidden?? Заранее спасибо!
Xenox Отправлено: 04 Марта, 2015 - 11:18:28 • Тема: Сайт гостиницы. • Форум: Напишите за меня, пожалуйста

Ответов: 6
Просмотров: 98
Спасибо за критику!
а по поводу wordrpess, тут сама суть была что бы не использовать CMS
Xenox Отправлено: 04 Марта, 2015 - 10:10:42 • Тема: Сайт гостиницы. • Форум: Напишите за меня, пожалуйста

Ответов: 6
Просмотров: 98
Благодарствую!! Сам бы такой запрос не составил. Я просто подумал что стоит разбить на несколько таблиц, потому что если все в одной будет храниться то она будет слишком большая...
Xenox Отправлено: 04 Марта, 2015 - 01:16:49 • Тема: Сайт гостиницы. • Форум: Напишите за меня, пожалуйста

Ответов: 6
Просмотров: 98
Спасибо большое! Буду исправляться!
Цитата:
потом читая дальше еще увидел, что и сама функция как бы не очень и нужна, так как ее функционал можно полностью переложить в запрос к БД.

Если не сложно хотелось бы увидеть как примерно должен выглядеть такой запрос, чисто для саморазвития.
Цитата:
вообще непонятно зачем с начало переводить в формат 'd-m-Y', используя притом функцию strtotime($d1), а потом нигде не использовав переменные переводить опять в timestamp, первые две строчки вообще не нужны!


за этот ответ отдельное спасибо) только сейчас понял, раньше думал для того что бы сравнить 2 даты их нужно привести к одинаковому формату т.е. d-m-Y и только потом перевести в метку времени Unix
Xenox Отправлено: 03 Марта, 2015 - 21:11:53 • Тема: Сайт гостиницы. • Форум: Напишите за меня, пожалуйста

Ответов: 6
Просмотров: 98
Доброго времени суток! Не пинайте слишком сильно)
Не давно возникла такая задача, требуется написать сайт для гостиницы.
С задачей я справился, но хотелось бы получить конструктивную критику, уверен что можно было бы как то проще сделать, если не сложно откликнитесь, не очень давно учусь php, учителей ни каких не было, поэтому хотелось бы услышать ваше мнение

Грубо говоря имеется 6 номеров и пользователь может заброниронировать себе номер, исходя из даты, он указывает дату заезда, и дату съезда, ну и соответственно мне нужно проверить какие номера свободны на эти даты. Предоставить пользователю выбор и записать его данные в БД.
создал БД с таблицами:
users - поля: id, name, surname и т.д.
oneRooms - поля: id, date1, date2, id_user, id number. (Просто предполагается что будут одно-двух-трехкомнатные номера, но пока написал для однокомнатных)
numbers - поля: id_number, adress, kvadrature, about_number (здесь просто храняться данные о каждом номере)
далее приступил к самой реализации:

функция которая проверяет попадает не пересекаются ли даты:
PHP:
скопировать код в буфер обмена
  1. function find_number($d1, $d2, $fd1, $fd2){
  2.        
  3.         $d1 = date('d-m-Y', strtotime($d1)); //Даты привожу к формату дд-мм-гггг
  4.         $d2 = date('d-m-Y', strtotime($d2));
  5.         $d1 = strtotime($d1); //перевожу для сравнения
  6.         $d2 = strtotime($d2);
  7.         $fd1 = strtotime($fd1);
  8.         $fd2 = strtotime($fd2);
  9.         if($d1 <= $fd1 && $fd1 <= $d2){  
  10.                 return false;
  11.         }elseif($d1 <= $fd2 && $fd2 <= $d2){
  12.                 return false;
  13.         }elseif ($fd1 <= $d1 && $d1 <= $fd2){
  14.                 return false;
  15.         }elseif ($fd1 <= $d2 && $d2 <= $fd2){
  16.                 return false;
  17.         }else return true;
  18.                                
  19.  
  20. }              
  21.        


затем

PHP:
скопировать код в буфер обмена
  1. function bron_form(){
  2.        
  3.         $query = mysql_query("SELECT * FROM onerooms");
  4.         $row = mysql_fetch_assoc($query);
  5.        
  6.         if (empty($_POST['date1']) && empty($_POST['date2'])){
  7.                
  8.                        
  9.                                        
  10.                                        
  11.                                        
  12.                                         //Вывожу форму ввода дат. Ссылаюсь на этуже страницу
  13.                                        
  14.                                        
  15.                                        
  16.                 }else{
  17.                         //Получаю все записи из таблицы
  18.                         $result = mysql_query("SELECT * FROM onerooms");
  19.                         $num_rows = mysql_num_rows($result);
  20.                         $i = 1;
  21.                         while($row = mysql_fetch_assoc($result)){
  22.                                 if (!find_number($row['date1'], $row['date2'], $_POST['date1'], $_POST['date2'])){
  23.                                         $zant[$i] = $row['id_number'];$i++;//Получаю массив занятых номеров
  24.                                 }
  25.                         }
  26.                         $dat = array('1', '2', '3', '4', '5', '6'); //создаю массив для сравнения
  27.                         $result = array_unique($zant); //удаляю дублирующиеся номера
  28.                         if(!empty($zant)){
  29.                                 $result = array_diff($dat, $zant); // Получаю массив свободных номеров
  30.                         }else{$result = $dat;}
  31.                        
  32.                        
  33.                        
  34.                         sort($result); //Сортирую его
  35.                
  36.                        
  37.                         //Ну и вывожу соответственно
  38.                         echo"<h3>Доступные номера:</h3><br>
  39.  
  40.                         <div class='info-one-Rooms'>   
  41.                         <h5>Однокомнатные:</h5>
  42.                                 <hr>
  43.                        
  44.                        
  45.                         ";  for($i = 1; $i <= sizeof($result); $i++){
  46.                                 print_number($i);} echo "
  47.                        
  48.  
  49.                 </div>  ";
  50.                
  51.                
  52.                 }      


ну и на последок функция вывода(она наверно не нужна, но пусть будет)

PHP:
скопировать код в буфер обмена
  1. function print_number($id_number){
  2.        
  3.         connect_db();
  4.         $query = mysql_query("SELECT * FROM Numbers WHERE id=$id_number");
  5.         $row = mysql_fetch_assoc($query);
  6.        
  7.         echo ("<div id='maindiv".$id_number."' class='maindiv'>
  8.                                
  9.                                 <div id='info".$id_number."' class='info' style='height:65px'>
  10.                                        
  11.                                         <a href='images/OneRooms/".$id_number."/1.png' class='example2'><img alt='' src='images/OneRooms/".$id_number."/1.png' align='left'/></a>
  12.                                         <p><form action='bron.php' method='POST'><input type='submit' value='Выбрать'><input type='hidden' value='".$id_number."' name='numberRoom'><input type='hidden' value='1' name='typeRoom'><input type='hidden' value='1' name='date1'><input type='hidden' value='1' name='date2'></form></p>
  13.                                         <p>".$row['adress']."</p>
  14.                                        
  15.                                         <p>".$row['price']."р.</p>
  16.                                        
  17.                                        
  18.                                         <div id='hide_info".$id_number."' class='hide_info'>
  19.                                        
  20.                                         <p>".$row['plas']."</p>
  21.                                         <p>".$row['text']."</p>
  22.                                                 <a href='images/OneRooms/".$id_number."/1.png' class='example2'><img alt='' src='images/OneRooms/".$id_number."/2.png' align='left'/></a>
  23.                                                 <a href='images/OneRooms/".$id_number."/1.png' class='example2'><img alt='' src='images/OneRooms/".$id_number."/3.png' align='left'/></a>
  24.                                         </div>
  25.                                
  26.                                        
  27.                                        
  28.                                 </div>
  29.                                 <span id='about".$id_number."' class='about' onclick=\"one_Rooms('#hide_info".$id_number."', '#maindiv".$id_number."', '#about".$id_number."')\">Подробнее</span>
  30.                         </div><br><br>
  31.                 <hr>");
  32.        
  33. }


все работает, я рад что получилось, но так же понимаю что это "все работает" до поры до времени, потому что в теории таблица будет oneRooms будет увеличиваться и при 1-100-1000 записях будет работать все медленнее,в планах сделать, что бы скрипт сравнивал и текущюю дату с датой сьезда, и если текущая дата больше, то удалял эту запись из БД. Ну вот вроде все) жду критики

Страниц (2): « 1 [2]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB