php / sql search form geeft fout op lijn 17:

Status
Niet open voor verdere reacties.

rutgah90

Gebruiker
Lid geworden
29 jun 2011
Berichten
16
hallo, ik ben bezig met een script voor school project.
website is zo goed als klaar, alleen ik wil graag als extra een zoek functie er in hebben.

tot nu toe heb ik dit:

PHP:
<h2>Search Form</h2>

<form name="search" method="post" action="<?=$PHP_SELF?>">
  Seach for: <input type="text" name="find" /> in
  <Select NAME="field">
  <Option VALUE="ID">ID medewerkers</option>
  <Option VALUE="Naam">medewerkers naam</option>
  <Option VALUE="Username">medewerkers Username</option>
  </Select>

  <input type="hidden" name="searching" value="yes" />
  <input type="submit" name="search" value="Search" />
</form>

<?php
  if ($searching =="yes"){
  echo "<h3>Search Results</h3><p>";
  if ($find == ""){
  echo "<p>Please Enter a search term";
  exit;
  }
  
  // connect sql + zoek geldeelte
	include ("include/sql.php");
  $find = strtoupper($find);
  $find = strip_tags($find);
  $find = trim ($find);

  // select from * = everything where *fieldname* upper *zoek functie*
  $query = mysql_query("SELECT * FROM beheerders, hardware, incidentenbeheer, medewerkers, software, probleembeheer WHERE upper($field) LIKE'%$find%'");
  while($result = mysql_fetch_array($query)){
  echo $result['ID'];
  echo "<br>";
  // echo $result['Naam'];
  echo "<br>";
  echo "<br>";
  echo $result['Username'];
  echo "<br>";
  echo "<br>";
  echo "<br>";
  }

  $matches=mysql_num_rows($query);
  if ($matches == 0){
  echo "We hebben helaas niet kunnen vinden, probeer het nogmaals.<br><br>";
  }

  echo "<b>Gezocht op:</b> " .$find;
  }
?>

het include bestand:
PHP:
<?php
$host = "***";
$user = "***"; // je username
$pass = "***"; // je wachtwoord
$dbas = "***"; // je database-naam
 
// connect naar database
if(mysql_connect($host, $user, $pass)) {
  // selecteer database
  mysql_select_db($dbas) or die(mysql_error());
} else {
  // connecten naar database is mislukt
  echo "Failed to connect to database.";
  exit;
}
?>

het include bestand werkt ook gewoon op andere pagina's dus daar zal de fout wel niet in zitten
heb even de data vervangen voor "***"

hopelijk kan iemand mij helpen.

mvg
RutgerV

ps dit is mijn SQL database opzet:

[sql]-- phpMyAdmin SQL Dump
-- version 3.5.2.2
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Dec 13, 2012 at 01:53 PM
-- Server version: 5.0.91-community
-- PHP Version: 5.2.17

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `rvondeling_php`
--

-- --------------------------------------------------------

--
-- Table structure for table `Beheerders`
--

DROP TABLE IF EXISTS `beheerders`;
CREATE TABLE IF NOT EXISTS `beheerders` (
`BH_ID` int(5) NOT NULL,
`BH_Naam` text NOT NULL,
`BH_Achternaam` text NOT NULL,
`BH_Mail` varchar(50) NOT NULL,
`geboortedatum` INT(10) NOT NULL,
`BH_Username` text NOT NULL,
`BH_wachtwoord` varchar(10) NOT NULL,
PRIMARY KEY (`BH_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `Hardware`
--

DROP TABLE IF EXISTS `hardware`;
CREATE TABLE IF NOT EXISTS `hardware` (
`HW_ID` int(5) NOT NULL auto_increment,
`HW_Naam` varchar(20) NOT NULL,
`HW_Omschrijving` varchar(255) NOT NULL,
`HW_Aanschafdatum` date NOT NULL,
`HW_Afschrijfdatum` date NOT NULL,
`HW_Locatie` varchar(25) NOT NULL,
`HW_Gebruiker` text NOT NULL,
`HW_Randapparatuur` varchar(255) NOT NULL,
PRIMARY KEY (`HW_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `Incidentenbeheer`
--

DROP TABLE IF EXISTS `incidentenbeheer`;
CREATE TABLE IF NOT EXISTS `incidentenbeheer` (
`IB_ID` INT(5) NOT NULL,
`IB_Naam` text NOT NULL,
`IB_Onderwerp` varchar(30) NOT NULL,
`IB_Datum_Melding` DATE NOT NULL,
`IB_Datum_Opgelost` DATE NOT NULL,
`IB_Gebruiker` text NOT NULL,
`IB_Prio` INT(1) NOT NULL,
`IB_invoer_vak` Varchar(255) NOT NULL,
`IB_impact` INT(2) NOT NULL,
`IB_Omschrijving` Varchar(255) NOT NULL,
`IB_Afdeling` text NOT NULL,
PRIMARY KEY (`IB_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `Medewerkers`
--

DROP TABLE IF EXISTS `medewerkers`;
CREATE TABLE IF NOT EXISTS `medewerkers` (
`ID` int(5) NOT NULL auto_increment,
`Naam` text NOT NULL,
`Achternaam` text NOT NULL,
`Mail` varchar(50) NOT NULL,
`geboortedatum` INT(10) NOT NULL,
`Username` varchar(6) NOT NULL,
`Wachtwoord` varchar(10) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `Software`
--

DROP TABLE IF EXISTS `software`;
CREATE TABLE IF NOT EXISTS `software` (
`SW_ID` int(5) NOT NULL auto_increment,
`SW_Naam` text NOT NULL,
`SW_Omschrijving` varchar(255) NOT NULL,
`SW_Aanschafdatum` date NOT NULL,
`SW_Verloopdatum` date NOT NULL,
`SW_Serial` int(50) NOT NULL,
`SW_Opmerkingen` varchar(50) NOT NULL,
PRIMARY KEY (`SW_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `Probleembeheer`
--

DROP TABLE IF EXISTS `probleembeheer`;
CREATE TABLE IF NOT EXISTS `probleembeheer` (
`PB_ID` INT(5) NOT NULL,
`PB_Naam` text NOT NULL,
`PB_Onderwerp` varchar(30) NOT NULL,
`PB_Datum_Melding` DATE NOT NULL,
`PB_Datum_Opgelost` DATE NOT NULL,
`PB_Gebruiker` text NOT NULL,
`PB_Prio` INT(1) NOT NULL,
`PB_invoer_vak` Varchar(255) NOT NULL,
`PB_impact` INT(2) NOT NULL,
`PB_Omschrijving` Varchar(255) NOT NULL,
`PB_Afdeling` text NOT NULL,
PRIMARY KEY (`PB_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
[/sql]
 
Laatst bewerkt door een moderator:
Ik mis hier volgens mij een accolade sluiten :)
PHP:
if ($searching =="yes"){
  echo "<h3>Search Results</h3><p>";
  if ($find == ""){
  echo "<p>Please Enter a search term";
  exit;
  }

Moet dit niet dit zijn:
PHP:
if ($searching =="yes"){
  echo "<h3>Search Results</h3><p>";
}
  if ($find == ""){
  echo "<p>Please Enter a search term";
  exit;
  }
 
ten eerste hartelijk dank, maar nee, de } sluiten staat op lijn 51.
 
ondertussen heb ik hem iets aangepast, want sql gedeelte was niet helemaal goed kwam ik achter.
maar heb nog steeds de zelfde fout:

Code:
<h2>Search Form</h2>

<form name="search" method="post" action="<?=$PHP_SELF?>">
  Seach for: <input type="text" name="find" /> in
  <Select NAME="field">
  <Option VALUE="ID">ID medewerkers</option>
  <Option VALUE="Naam">medewerkers naam</option>
  <Option VALUE="Username">medewerkers Username</option>
  </Select>

  <input type="hidden" name="searching" value="yes" />
  <input type="submit" name="search" value="Search" />
</form>

<?php
  if ($searching =="yes"){{
  echo "<h3>Search Results</h3><p>";
  }
  if ($find == ""){
  echo "<p>Please Enter a search term";
  exit;
  }
  
  // connect sql + zoek geldeelte
	include ("include/sql.php");
  $find = strtoupper($find);
  $find = strip_tags($find);
  $find = trim ($find);

  // select from * = everything where *fieldname* upper *zoek functie*
   $query = mysql_query("
   SELECT beheerders, hardware, incidentenbeheer, medewerkers, software, probleembeheer 
   FROM  ID, Naam, Achternaam, Mail, geboortedatum, Username, Wachtwoord
   WHERE upper($field) 
   LIKE'%$find%'");
  while($result = mysql_fetch_array($query)){
  echo $result['ID'];
  echo "<br>";
  // echo $result['Naam'];
  echo "<br>";
  echo "<br>";
  echo $result['Username'];
  echo "<br>";
  echo "<br>";
  echo "<br>";
  }

  $matches=mysql_num_rows($query);
  if ($matches == 0){
  echo "We hebben helaas niet kunnen vinden, probeer het nogmaals.<br><br>";
  }

  echo "<b>Gezocht op:</b> " .$find;
  }
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan