PHP + SQL system wycieczek

0

Witam,
Mam pewien problem. Chcę dodać kilka wycieczek do bazy danych. Na podstawie formularza (PHP) użytkownik (czyli np. ja) wypełnia co lubi robić, jakie atrakcje preferuje, jakim budżetem dysponuje itp. i po kliknięciu wyszukaj wyświetla te wycieczki z bazy danych (oczywiście na postawie tego co wypełnił w formularzu). Jest jakiś sposób jak to zrobić?
Z góry dziękuję za odpowiedż.

1

Jest to do zrobienia, ale sądząc po Twoim pytaniu - nie masz zielonego pojęcia jak to ugryźć, więc raczej nie jesteś gotowy do samodzielnej realizacji :(

1
  1. tworzysz standardowy formularz HTML, który przesyła dane GETem lub POSTem na jakiś konkretny adres.
  2. pod tym konkretnym adresem przyjmujesz dane i przeprowadzasz walidację.
  3. tworzysz zapytanie SQL, które na podstawie przesłanych danych wyszukuje odpowiednie pozycje w bazie.
  4. jeśli masz jakiś konkretny problem z którymś z powyższych kroków to wklejasz kod który już napisałeś na forum i otrzymujesz pomoc :)
0

Dlatego piszę na tym forum żeby się nauczyć jak to zrobić i potrzebuję kogoś kto by był w stanie mi pomóc

Najpierw musiałbyś zacząć od podstaw. Ale to trochę potrwa. W każdym razie - pytanie nie powinno brzmieć "jak zrobić system wycieczek" ale "chcę się nauczyć podstaw PHP - od czego mam zacząć". Następnie, jak poczujesz się pewniej w tym temacie, możesz zacząć ogarniać SQL. Ale i tak jest to temat na dobre kilka tygodni (i nie piszę o zrobieniu tego na poziomie zawodowym, a jedynie przyzwoitym).

0

@youmound: ze spokojem, najpierw niech OP ogarnie PHP, a dopiero potem niech idzie na głębszą wodę, jaką jest SQL. Wprawdzie sam SQL (na poziomie podstawowym) nie jest mega trudny, ale i tak w opisanym przypadku PHP stanowi taką bazę, którą można potem rozszerzać.

0

@cerrato,

ale co Ty chcesz od PHP tutaj ?

<form action="?" method="POST">
<input type="text" name="budzet" />
<input type="submit" name="wyslij" value="wyslij mnie!" />
</form>

if (isset($_POST['wyslij'])
{
$budzet = $_POST['budzet'];

// i tu wchodzi SQL i szukamy po budżecie :O czy nas stać na te wycieczki na wyspy GOŁA GOŁA 
}
0

ale co Ty chcesz od PHP tutaj ?

Robiąc "byle jak", żeby tylko poszło to można w kilku linijkach się zmieścić...
Ale do tego by się przydała jakaś paginacja wyników, możliwość określania dodatkowych parametrów, tworzenie sesji, może jakiś koszyk/schowek do wsadzenia wybranych ofert, być może jakaś porównywarka, zabezpieczenie przez XSS i tak dalej. Oczywiście - można mieć to głęboko gdzieś i zrobić na odwal, ale żeby to miało ręce i nogi to jednak trochę trzeba przysiąść do tematu. Poza tym - część z podanych przeze mnie rzeczy dotyczy dodatkowej funkcjonalności, ale są i tak podstawy (chociażby podany XSS czy SQL-injection), które powinny być odpowiednio potraktowane.

0

Mozesz poćwiczyć na tym przykladzie. Szybko napisane wiec nie ma tam zadnych wodotrysków.
Nie jest to na SQL ale jak nie znasz podstaw to zacznij od tego.

<?php
         
			function Formularz($s)
	  {
	   $s  = "<form ACTION=".$_SERVER['SCRIPT_NAME']." method='post'>";
		$s .= "<input TYPE='text' name='fraza'>";
		$s .= "<input TYPE='submit' value='szukaj'>";
		 return $s;
	  };

	      if(!function_exists('SearchWords'))
			{
			function SearchWords($fi,$c,$f)
	  {
	    $foo = file($c.'/'.$fi);

			   $match = 0;
				
				for($tmp=0;$tmp<count($foo);$tmp++)
		 {

				 list($link, $opis ,$klucze) = explode('|', $foo[$tmp]);
			

				 if(stristr($klucze, $f))
				 {
				
            print "<li>";
				print "Url: <a href=" . $link . ">" . $link . "</a><br>";
				print "Opis: <i>" . $opis . "</i><br />";
				print 'Znaleziono: ' . str_replace($f,'<font color=red>'.$f.'</FONT>', $klucze) . '<br />';
				print "</li><hr width='200' align='left' noshade size='1'>\n";

             $match++;
				 
				 }
				 


		 };
		 
		 if($match == FALSE){
		 
		 exit('Nie znalazlem <b><u>' . $f . '</u></b>');
		 
		 }

		 };
};

(!$_POST['fraza']) ? print Formularz(@$s) : SearchWords('baza.txt','katalog_do_pliku',$_POST['fraza']);
?>

Utwórz katalog o nazwie 'katalog_do_pliku' bądz jakikolwiek inny tylko zmien nazwe w tej linijce i analogicznie plik 'baza.txt'

   (!$_POST['fraza']) ? print Formularz(@$s) : SearchWords('baza.txt','katalog_do_pliku',$_POST['fraza']);

W pliku 'baza.txt' zawartosc wyglada nastepująco: [oczywiscie to masz skopiowac i wkleic do tego pliku a najlepiej wklepac ręcznie coby były entery]

index.php|opis 1asas|klucz1, klucz2, klucz3, klucz4a
lol.php|opis 2|klucz11, klucz22, ce, dupa, klucz3, klucz78
asd.php|opis 3|kl1, kl2, kl3, kl4, klucz21222345

Przyklad wyszuka cale istniejące frazy bądz ich część: 'klucz2', 'klu', 'kl' itd...
W przypadku gdy nic nie znajdzie dostajesz stosowne info.
Milej zabawy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1