met een zoekpagina meerder rijen zoeken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Erik m

erik m

22/11/2015 13:10:56
Quote Anchor link
hallo
ik heb een zoekpagina maar daar mee kan ik maar op 1 rij zoeken. kunnen iemand mij helpen om met deze bestaande pagina op meerder rijen te zoeken. hij werkt wel verder maar dan op 1 rij.


<title>Search</title>
<center><h2>zoeken latijnse namen</h2></center>
<br>
<body bgcolor="#00FF33" text="#000000">
</body>
<center><form name="form" action="search.php" method="get">
<input type="text" name="q" />
<input type="submit" name="Submit" value="Search" />
</form>
<a href="searchnl.php">zoeken nederlandse namen </a></center>
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
<?php


$user
="****";
$password="*****";
$database="*****";
$host="*****";

  // Get the search variable from URL

  $var = @$_GET['q'] ;
  $trimmed = trim($var); //trim whitespace from the stored variable

// rows to return

$limit=10;

// check for an empty string and display a message.
if ($trimmed == "")
  {

  echo "<p>Please enter a search...</p>";
  exit;
  }


// check for a search parameter
if (!isset($var))
  {

  echo "<p>We dont seem to have a search parameter!</p>";
  exit;
  }


//connect to your database
mysql_connect("$host","$user","$password"); //(host, username, password)

//specify database

mysql_select_db("$database") or die("Unable to select database"); //select which database we're using

// Build SQL Query  

$query = "select * from plantdb where plantnaam like \"%$trimmed%\"  
  order by plantnaam"
;

 $numresults=mysql_query($query);
 $numrows=mysql_num_rows($numresults);

// If we have no results, offer a google search as an alternative

if ($numrows == 0)
  {

  echo "<h4>Results</h4>";
  echo "<p>Sorry, your search: &quot;" . $trimmed . "&quot; returned zero results</p>";

// google
 echo "<p><a href=\"http://www.google.com/search?q="
  . $trimmed . "\" target=\"_blank\" title=\"Look up
  "
. $trimmed . " on Google\">Click here</a> to try the
  search on google</p>"
;
  }


// next determine if s has been passed to script, if not use 0
  if (empty($s)) {
  $s=0;
  }


// get results
  $query .= " limit $s,$limit";
  $result = mysql_query($query) or die("Couldn't execute query");

// display what the person searched for
echo "<p>You searched for: &quot;" . $var . "&quot;</p>";

// begin to show results set
echo "Results";
$count = 1 + $s ;

// now you can display the results returned
  while ($row= mysql_fetch_array($result)) {
  $title = $row["plantnaam"];
  $url = $row["link"];

  echo "<br>$count.)&nbsp;<a href=\"$url\">$title</a><br><hr>" ;
  $count++ ;
  }


$currPage = (($s/$limit) + 1);

//break before paging
  echo "<br />";

  // next we need to do the links to other results
  if ($s>=1) { // bypass PREV link if s is 0
  $prevs=($s-$limit);
  print "&nbsp;<a href=\"$PHP_SELF?s=$prevs&q=$var\">&lt;&lt;
  Prev 10</a>&nbsp&nbsp;"
;
  }


// calculate number of pages needing links
  $pages=intval($numrows/$limit);

// $pages now contains int of pages needed unless there is a remainder from division

  if ($numrows%$limit) {
  // has remainder so add one page
  $pages++;
  }


// check to see if last page
  if (!((($s+$limit)/$limit)==$pages) && $pages!=1) {

  // not last page so give NEXT link
  $news=$s+$limit;

  echo "&nbsp;<a href=\"$PHP_SELF?s=$news&q=$var\">Next 10 &gt;&gt;</a>";
  }


$a = $s + ($limit) ;
  if ($a > $numrows) { $a = $numrows ; }
  $b = $s + 1 ;
  echo "<p>Showing results $b to $a of $numrows</p>";
  
?>
 
PHP hulp

PHP hulp

21/05/2024 07:13:56
 
Thomas van den Heuvel

Thomas van den Heuvel

22/11/2015 15:19:19
Quote Anchor link
Je bedoelt wellicht dat je maar in één kolom kunt zoeken in je database?

Of zit het probleem in de paginering?

Of een combinatie van beide?

Verder:
- mysql_ functies verdwijnen binnenkort, gebruik MySQLi of PDO
- input filtering ontbreekt
- output escaping ontbreekt
- indicatie(s) van character encodering(en) ontbreekt
- je query is vatbaar voor SQL injectie
- je code is niet bepaald leesbaar, mede door de naamgeving van je variabelen en het schots en scheef inspringen
- zou dit codefragment een volledig, kloppend HTML document moeten voorstellen, of is dit onderdeel van een groter geheel?
 



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.