Zoeken in de database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lierop

Lierop

09/09/2004 07:44:00
Quote Anchor link
Ik heb een script gevonden en wil hem aan passen aan mijn situatie.
Wie kan en wil mij daarbij helpen?
Ik heb hier en daar al iets aan gepast, hier de volgende fouten:
Warning: main(connection.php): failed to open stream: No such file or directory in /home/radiobood/www/2.php on line 108

Warning: main(): Failed opening 'connection.php' for inclusion (include_path='.:/usr/share/pear') in /home/radiobood/www/2.php on line 108

Let wel ik ben een beginner en weet dus nog zeer weinig over PHP, wel als redelijk veel gelezen en geprobeerd.

In de datavase heb ik de volgende kolommen: ID, Soort, Merk, Chassis, Klacht en Oplossing.

Ik denk dat ik meer heb aan uitel dan een kant en klaar script.

Hier het script wat ik nu heb:

========================= zoekenInvoer.php ============================================

<HTML>

<HEAD>

<TITLE></TITLE>

</HEAD>

<HTML>

<BODY BGCOLOR=#E0FFFF>

<form method="post" action="../WINDOWS/Desktop/zoekenUitvoer.php?optie=zoeken">

<table>

<tr>

<td valign="top"><b>Zoeken op:</b></td>


<td> <select name="opZoeken">
<option value="0">vraag
<option value="1">antwoord
<option value="2">vraag en antwoord </select></td>

</tr>

<tr>

<td valign="top"><b>Zoekwoorden:</b></td>

<td><input type="text" name="zoektermen" size="30"> Verschillende zoekwoorden scheiden met spaties.</td>

</tr>

<tr>

<td><b>Hoe wilt u zoeken?</b></td>

<td>

<select name="optieZoeken">

<option value="0">alle zoekwoorden (AND)

<option value="1">enige zoekwoorden (OR)

</select>

</td>

</tr>

<tr>

<td colspan="2"><input type="submit" value="zoeken"></td>

</tr>

</table>



</form>

</BODY>

</HTML>

========================= connection.php ===============================================



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

function verbindt()

{
    @
mysql_connect("localhost","test","test") or Die (mysql_error());                        //login gegevens
    @mysql_select_db("reparatie",$db) or Die ("Error: " . mysql_error());                //database selectie


}

?>




======================= zoekenUitvoer.php ============================================

<HTML>

<HEAD>

<TITLE></TITLE>

</HEAD>

<BODY BGCOLOR=#E0FFFF>



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<?php

include("connection.php"); //script die de verbinding met uw database maakt

verbindt();



echo "<table align=left><TR>";



function
get_search_query($keywords,$table_name,$sort_column,$search_columns,$search_method) {

  /* $search_columns moet een array zijn */

  /* $search_method kan OR of AND        */



  /* Verwijder onnodige spaties en +/- tekens uit de string */
    $keywords          = trim($keywords);

  $keywords          = ereg_replace ('\+', "", $keywords);

  $keywords          = ereg_replace ('\-', "", $keywords);



  while (ereg('  ',$keywords)) {

    $keywords        = ereg_replace('  ',' ',$keywords);

  }




  /* Converteer de keywords naar een array en stel variabelen in */

  $keywords          = explode(' ',$keywords);

  $num_keywords      = count($keywords);

  $num_searchcolumn  = count($search_columns);

  $search_method     = strtoupper($search_method);



  /* Maak de query */

  $query = "SELECT * FROM $reparatie WHERE ";

  for ($i =0; $i < $num_keywords; $i++)

  {


      if ($i != 0)

        $query .= "$search_method ";

      $stringWoord = $keywords[$i];

    for ($j = 0; $j < $num_searchcolumn; $j++)

    {


        if ($j == 0)

            $query .= "( ";

        if ($j != 0)

            $query .= "OR ";

        $kolom = $search_columns[$j];

        $query .= "$kolom LIKE '%$stringWoord%' ";

    }


    $query .= ") ";

  }


  

  $query .= "ORDER BY '$sort_column' ASC";



  return $query;

}




$Merk = array ('vraag', 'antwoord'); //vul hier en op de 3de en 5de regel hieronder de velden waarop gezocht moet kunnen worden

    if ($_POST['opZoeken']==0)

        $Merk = array('vraag');

    else if ($_POST['opZoeken']==1)

        $Merk = array('antwoord');

    $keywords= $_POST['zoektermen'];

    $reparatie='vragen';  //vervangen door de tabelnaam waarop query moet gebeuren

    $postTypeZoeken = $_POST['optieZoeken'];

    $typeZoeken="";

    if ($postTypeZoeken == 0)

        $typeZoeken = "AND";

    else

        $typeZoeken = "OR";

    $querySearch = get_search_query($keywords,$table_name,'rubriek',$search_columns,$typeZoeken); //rubriek is de veldnaam waarop gesorteerd wordt. Pas deze evt. aan.

         $result = mysql_query($querySearch) or die("Probs query zoeken");

     $resultaten = mysql_num_rows($result); //aantal resultaten kun je in de regel eronder gebruiken



echo "<tr><td><font face=arial size=2><B>We hebben $resultaten resultaten in onze database gevonden:<P></td></tr>";



while($row=mysql_fetch_object($result))



{


echo "<tr><td><font face=arial size=2 color=black><B>Rubriek: $row->rubriek</B></td><tr><td><font face=arial size=2 color=blue><B>$row->vraag</B></td><tr><td><font face=arial size=2>$row->antwoord<P><HR width=100%></td></tr>";



    }




?>


</table>

</BODY>

</HTML>

Vr. groeten,
Gerard
 
PHP hulp

PHP hulp

15/01/2025 19:38:32
 
Ano Niem

Ano Niem

09/09/2004 08:38:00
Quote Anchor link
Als je nou eerst eens alleen de regels rondom 108 post.
Er is hier waarschijnlijk niemand die het hele script gaat zitten bekijken en dan nog eens tellen tot regel 108.

Verder staat er in de foutmelding dat de error in 2.php zit. Die staat hier dus niet tussen de scripts die jij heb gepost. Hier kan ik dus niets mee.
 
Micha

Micha

09/09/2004 08:43:00
Quote Anchor link
Warning: main(connection.php): failed to open stream: No such file or directory in /home/radiobood/www/2.php on line 108

Warning: main(): Failed opening 'connection.php' for inclusion (include_path='.:/usr/share/pear') in /home/radiobood/www/2.php on line 108

Ok, er wordt in je bestand 2.php dus connection.php geinclude, maar die bestaat niet.
Als je die dus aanmaakt, of je verwijderd de include, heb je deze error niet meer.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.