Змінюй хід війни! Допомагай ЗСУ!
  • Знижка на баннерну рекламу 30%! Банер на всіх сторінках сайту, в мобільній та десктопній версії за 14 тис. грн на місяць. Статистика сайту. Контакт: kharkovforum.com@gmail.com

Помогите с PHP

  • Автор теми Автор теми annita1
  • Дата створення Дата створення

annita1

Привіт!
Статус: Офлайн
Реєстрація: 22.05.2009
Повідом.: 12
Помогите с PHP

Здравствуйте.Помогите, пожалуйста, сделать не сложную курсовую, нужно написать элементарный сайт для Тур агенства(туры по Украине).HTML-cтранички я ещё могу сделать,а вот с PHP у меня проблемы,а там должна быть возможность авторизироваться и поиск туров,гостиниц и т.п.в БД.
 
С каких это пор на курсовых дают делать сайты тур агенств? ))))
 
Гы, а у меня курсач по БД - сайт "Агенства недвижимости", как по мне, после с++, java и c# пхп довольно простой язык.
 
Гы, а у меня курсач по БД - сайт "Агенства недвижимости", как по мне, после с++, java и c# пхп довольно простой язык.

все джуны так говорят по причине слабой типизации. но когда они начинают генерить мегабайты шлака, хочется ******* их головой в монитор.
 
Здравствуйте.Помогите, пожалуйста, сделать не сложную курсовую, нужно написать элементарный сайт для Тур агенства(туры по Украине).HTML-cтранички я ещё могу сделать,а вот с PHP у меня проблемы,а там должна быть возможность авторизироваться и поиск туров,гостиниц и т.п.в БД.

А какая именно нужна помощь?
Написать? или помочь в определенном вопросе?:)
 
В интернете есть немало материалов по реализации авторизации пользователей на PHP и работе с MySQL. Вообще говоря, сайт подобного рода желательно делать на каком-нибудь фреймворке (Yii, CodeIgniter, PHPCake).
 
Если надо простой сайт, пишите в личку!
Помогу бесплатно.
 
Помогите пожалуйста с поиском в БД
у меня есть возможность искать туры по цене,но цена фиксирована(например если напишу 2000,выведет все туры кот 2000 стоят),а мне нужно чтоб цена искалась в дипазоне(от 1000 и до 2000,например)
вот текст кода,кот обрабатывает
<?xml version="1.0" encoding="windows-1251"?>
<?php
$arr=array($_POST['type'], $_POST['obl'], $_POST['gorod'], $_POST['pricemin'], $_POST['pricemax'], $_POST['term']);
$conn = mysql_connect ("localhost", "root", "");
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
mysql_select_db(semenyuk);


if(($arr[0]=='Все')&&($arr[1]=='Все')&&($arr[2]=='Все')&&($arr[3]=='')&&($arr[4]=='')&&($arr[5]=='')){
$q="SELECT * FROM tur WHERE count>0";
$res=mysql_query($q);}
else{
if(($arr[0]!='Все')&&($arr[1]=='Все')&&($arr[2]=='Все')&&($arr[3]=='')&&($arr[4]=='')){
$q="SELECT * FROM tur WHERE count>0 AND vid_tura='".$arr[0]."'";
$res=mysql_query($q);
}
else{
if(($arr[0]=='Все')&&($arr[1]!='Все')&&($arr[2]=='Все')&&($arr[3]=='')&&($arr[4]=='')){
$q="SELECT * FROM tur WHERE count>0 AND obl='".$arr[1]."'";
$res=mysql_query($q);
}
else{
if(($arr[0]=='Все')&&($arr[1]=='Все')&&($arr[2]!='Все')&&($arr[3]=='')&&($arr[4]=='')){
$q="SELECT * FROM tur WHERE count>0 AND gorod='".$arr[2]."'";
$res=mysql_query($q);
}
else{
if(($arr[0]=='Все')&&($arr[1]=='Все')&&($arr[2]=='Все')&&($arr[3]!='')&&($arr[4]=='')){
$q="SELECT * FROM tur WHERE count>0 AND price='".$arr[3]."'";
$res=mysql_query($q);
}
else{
if(($arr[0]=='Все')&&($arr[1]=='Все')&&($arr[2]=='Все')&&($arr[3]=='')&&($arr[4]!='')){
$q="SELECT * FROM tur WHERE count>0 AND term='".$arr[4]."'";
$res=mysql_query($q);
}
else{

$q="SELECT * FROM tur WHERE count>0 AND vid_tura='".$arr[0]."'AND obl='".$arr[1]."'AND gorod='".$arr[2]."'AND price=".$arr[3]."AND term='".$arr[4]."'";
$res=mysql_query($q);

}

}
}
}
}
}
if($res){
$h='';
$i=0;
$mass=array();
while ($row=mysql_fetch_array($res))
{
$mass[$i]=array($row["vid_tura"],$row["obl"],$row["gorod"],$row["price"],$row["term"],$row["count"],$row["id_t"]);
$i++;
}}
else
$h='<h3>В базе туров нет!</h3>';


mysql_free_result($res);
mysql_close($conn);
?>
 
Заранее предупреждение: я ни разу не PHP-программист, поэтому правильности синтаксиса не гарантирую. Кроме того, наверняка в PHP уже есть стандартная библиотека, которая делает то, что нужно, однако я не знаю какая.

Идея: собирать условие запроса по частям на основании параметров.

Получается примерно такой код (если Вы всё таки хотите параметры зачем-то загонять в массив $arr):
Код:
$arr=array($_POST['type'], $_POST['obl'], $_POST['gorod'], $_POST['pricemin'], $_POST['pricemax'], $_POST['term']);
$conn = mysql_connect ("localhost", "root", "");
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
mysql_select_db(semenyuk);

$q="SELECT * FROM tur WHERE count>0";

if ($arr[0]!='Все') {
	$q .= " AND vid_tura='".$arr[0]."'";
}

if ($arr[1]!='Все') {
	$q .= " AND obl='".$arr[1]."'";
}

if ($arr[2]!='Все') {
	$q .= " AND gorod='".$arr[2]."'";
}

if ($arr[3]!='') {
	$q .= " AND price>=".$arr[3];
}


if ($arr[4]!='') {
	$q .= " AND price<=".$arr[4];
}

if ($arr[5]!='Все') {
	$q .= " AND term='".$arr[5]."'";
}

$res=mysql_query($q);

if($res){
	$h='';	
	$i=0;
	$mass=array();
	while ($row=mysql_fetch_array($res))
	{
		$mass[$i]=array($row["vid_tura"],$row["obl"],$row["gorod"],$row["price"],$row["term"],$row["count"],$row["id_t"]);
		$i++;
	}
}
else
	$h='<h3>В базе туров нет!</h3>';


mysql_free_result($res);
mysql_close($conn);
 
Заранее предупреждение: я ни разу не PHP-программист, поэтому правильности синтаксиса не гарантирую. Кроме того, наверняка в PHP уже есть стандартная библиотека, которая делает то, что нужно, однако я не знаю какая.

Идея: собирать условие запроса по частям на основании параметров.
Лучше так
Код:
SELECT 
    * 
FROM 
    tur 
WHERE 
    count>0
    AND IF('$arr[0]'<> 'Все', vid_tura='$arr[0]', 1)
    AND ....
    AND ....

Ну и неплохо-бы добавить после $arr=array($_POST['type'], $_POST['obl'], $_POST['gorod'], $_POST['pricemin'], $_POST['pricemax'], $_POST['term']); хотя бы это:
Код:
foreach($arr as $k=>$v) $arr[$k]=mysql_escape_string($v);
 
Останнє редагування:
Заранее предупреждение: я ни разу не PHP-программист, поэтому правильности синтаксиса не гарантирую. Кроме того, наверняка в PHP уже есть стандартная библиотека, которая делает то, что нужно, однако я не знаю какая.

Идея: собирать условие запроса по частям на основании параметров.

Получается примерно такой код (если Вы всё таки хотите параметры зачем-то загонять в массив $arr):
Код:
$arr=array($_POST['type'], $_POST['obl'], $_POST['gorod'], $_POST['pricemin'], $_POST['pricemax'], $_POST['term']);
$conn = mysql_connect ("localhost", "root", "");
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
mysql_select_db(semenyuk);

$q="SELECT * FROM tur WHERE count>0";

if ($arr[0]!='Все') {
	$q .= " AND vid_tura='".$arr[0]."'";
}

if ($arr[1]!='Все') {
	$q .= " AND obl='".$arr[1]."'";
}

if ($arr[2]!='Все') {
	$q .= " AND gorod='".$arr[2]."'";
}

if ($arr[3]!='') {
	$q .= " AND price>=".$arr[3];
}


if ($arr[4]!='') {
	$q .= " AND price<=".$arr[4];
}

if ($arr[5]!='Все') {
	$q .= " AND term='".$arr[5]."'";
}

$res=mysql_query($q);

if($res){
	$h='';	
	$i=0;
	$mass=array();
	while ($row=mysql_fetch_array($res))
	{
		$mass[$i]=array($row["vid_tura"],$row["obl"],$row["gorod"],$row["price"],$row["term"],$row["count"],$row["id_t"]);
		$i++;
	}
}
else
	$h='<h3>В базе туров нет!</h3>';


mysql_free_result($res);
mysql_close($conn);

Спасибо!!!Вчера именно так и написала,сработало.
 
Назад
Зверху Знизу