Jucausii.Net - Just play it!
[TUTORIAL]Formular de cautare in PHP & MySql - Printable Version

+- Jucausii.Net - Just play it! (https://jucausii.net/forum)
+-- Forum: Zona IT & Web / IT & Web Area (https://jucausii.net/forum/forum-169.html)
+--- Forum: Resurse, stiinte si tehnologie / Resources , Science and Technology (https://jucausii.net/forum/forum-171.html)
+---- Forum: Platforme Web / Web platform (https://jucausii.net/forum/forum-173.html)
+----- Forum: PHPBB (https://jucausii.net/forum/forum-204.html)
+------ Forum: Tutoriale / Tutorials (https://jucausii.net/forum/forum-205.html)
+------ Thread: [TUTORIAL]Formular de cautare in PHP & MySql (/thread-2324.html)



[TUTORIAL]Formular de cautare in PHP & MySql - ra!z0r - 01-12-2015

Deci sa incepem:
Conectarea la baza de date
Pentru a afisa rezultatele din baza de date avem nevoie de o baza de date cu o tabela pe care o vom numi filme(in cazul meu).Vom crea un fisier config.php,in acest fisier vom introduce:

Code:
Code:
<?php
$db_host = "localhost";
$db_user = "user";
$db_password = "parola";
$db = "bazadedate";
//Conectarea la baza de date
mysql_connect($db_host,$db_user,$db_password) or die
("Legatura cu baza de date nu poate fi stabilita!");
  mysql_select_db($db) or die
  ("Baza de date nu exista!");
?>

Pentru acest exemplu vom considera ca tabela filme contine 4 campuri:Id(cheia primara cu atributul auto_increment),name,rls_name si an.
Dupa ce ati introdus codul de mai sus in config.php creem fisierul cautare.php care o sa contina:


Code:
Code:
<html>

<head>

<title>Cautare filme</title>

</head>

<body>

<?php include('config.php'); ?>
<?php
$termencautare = $_POST['q'];
$query = mysql_query("SELECT * FROM filme WHERE name LIKE  '%$termencautare%' OR rls_name LIKE '%$termencautare%' ORDER by id DESC"); //name LIKE  '%$termencautare%' OR rls_name LIKE '%$termencautare%' acesta e codul ca sa caute dupa nume in romana sau dupa numele original
while ($post = mysql_fetch_array($query))
{
  echo '', $post['name'], '(', $post['rls_name'], ')<br />An:', $post['an'], '<br />'; //Numele filmului in romana,numele original si anul.Asta o sa arate la rezultat
}
if (mysql_num_rows($query) == 0)
{
  echo '<p>Niciun film gasit!</p>';
}
?>

<form name="search" method="post">
                                    
   <input type="text" name="q" value="" />

   <div align="center">
<tr><td><input type="reset" value="Reset" /></td><td><input type="submit" value="Cauta!" /></td></tr>
   </div>
   </form>


</body>

</html>

Baza de date o sa arate cam asa:

Code:
Code:
Code:
--
-- Table structure for table `filme`
--

CREATE TABLE `filme` (
  `id` int(11) NOT NULL auto_increment,
  `name` text collate latin1_general_ci NOT NULL,
  `rls_name` text collate latin1_general_ci NOT NULL,
  `an` text collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=32 ;

--
-- Dumping data for table `filme`
--

INSERT INTO `filme` VALUES(1, 'De neoprit', 'Unstoppable', '2010');
INSERT INTO `filme` VALUES(2, 'Din nou la 17 ani', '17 again', '2009');
INSERT INTO `filme` VALUES(3, 'Iute ca glontul', 'Faster', '2010');
INSERT INTO `filme` VALUES(4, '13', 'Thirteen', '2010');
INSERT INTO `filme` VALUES(5, 'American Psycho', 'American Psycho', '2000');