van html pagina's naar php pagina's
Pagina: « vorige 1 2 3 4 volgende »
ik dacht eigenlijk dat je dat nodig zou kunnen hebben voor een zoekfunctie. Stel dat je alle berichten zou willen hebben waar "brand" in voorkomt ofzo, dat je dan een opsomming van berichten krijgt, links dus naar de pagina's
ik weet eigenlijk dus niet precies hoe het zoeken gaat, vandaar hier over trefwoorden.
het zou inprincipe hetzelfde moeten gaan werken als de zoekfunctie hier bij phphulp.nl dacht ik...
Hoe dit moet weet ik niet, maar ik hoor het graag.
Steven:
...Het is beter als je niet trefwoorden gebruikt, maar dat het woord in het document zelf word opgezocht. ...
lijkt me inderdaad een veel betere oplossing.
Misschien dat een andere php-er die deze post leest het antwoord weet en het gewoon hier kan delen :-)
het zou een beetje jammer zijn als deze topic alleen maar tussen Steven Weijdt en mezelf zou blijven...
ik ben benieuwd wie ons ;-) hiermee zou kunnen helpen.
Ja maar we zijn nu een beetje van de titel van deze topic afgedwaalt;) ik denk nie dat iemand hierop gaat reageren.
Heb niet het hele topic gelezen, maar een zoekfunctie werkt (meestal?) met een database, dus je hele site waarin je zoekt zit in een database. En daarin zoek je.
Stel je voor dat een tekst 3000 tekens bevat, hoe kan je die dan invoegen in de database, en daarin zoeken?
Mysql.com:
TINYTEXT
A TEXT column with a maximum length of 255 (28 – 1) characters.
TEXT[(M)]
A TEXT column with a maximum length of 65,535 (216 – 1) characters.
A TEXT column with a maximum length of 255 (28 – 1) characters.
TEXT[(M)]
A TEXT column with a maximum length of 65,535 (216 – 1) characters.
Dat wil zeggen, dat is toch een flinke pagina...
Gewijzigd op 20/11/2005 01:06:00 door Willem Jan Z
zackat:
lijkt me inderdaad een veel betere oplossing.
Misschien dat een andere php-er die deze post leest het antwoord weet en het gewoon hier kan delen :-)
het zou een beetje jammer zijn als deze topic alleen maar tussen Steven Weijdt en mezelf zou blijven...
ik ben benieuwd wie ons ;-) hiermee zou kunnen helpen.
Misschien dat een andere php-er die deze post leest het antwoord weet en het gewoon hier kan delen :-)
het zou een beetje jammer zijn als deze topic alleen maar tussen Steven Weijdt en mezelf zou blijven...
ik ben benieuwd wie ons ;-) hiermee zou kunnen helpen.
Zoeken in MySQL is een verhaal op zich. Je kunt op teksten zoeken met het keyword LIKE.
Bijv:
Als je wilt zoeken, en je wilt de resultaten kunnen sorteren op relevantie, dan kun je een FULLTEXT search doen. Dan moet je wel eerst een fulltext-index aanmaken op de velden waarin je gaat zoeken. Het nadeel daarvan is weer, dat een FULLTEXT zoekactie alleen HELE woorden vindt. Als je zoekt op 'boot', dan vindt hij 'duikboot' dus niet. Als je versie van MySQL nieuw genoeg is (weet niet precies) dan kun je een BINAIRY FULLTEXT search doen, waarmee hij weer wèl delen van woorden vindt. In jouw geval zou ik het dus gewoon op de eerste manier doen, met LIKE.
En als je de varaiblen uit de quotes houdt is het nog beter ;)
Jullie feedback is dus wel degelijk van toepassing op deze topic omdat nu blijkt dat mijn tabel structuur aangepast moet worden, om het zoeken later mogelijk te maken.
in mijn tabel komt
zackat:
`trefwoord` text NOT NULL,
te vervallen en daarvoor in de plaats komt:
Willem-Jan:
dit klopt toch?
Ter verduidelijking voor mezelf, hier nog even een vraag over: Plaats je in dit veld je hele pagina tekst? Ja of nee, is voldoende. Zoeken en eventueel aanpassen van kolom, indexeren ofzo kan natuurlijk ook achteraf. (?)
@Steven Weijdt (en anderen) ik denk dat je datgene wat je wou uitleggen nogsteeds kan doen:
;-)
Mysql.com:
TEXT[(M)]
A TEXT column with a maximum length of 65,535 (216 – 1) characters.
TEXT[(M)]
A TEXT column with a maximum length of 65,535 (216 – 1) characters.
dit klopt toch?
Ter verduidelijking voor mezelf, hier nog even een vraag over: Plaats je in dit veld je hele pagina tekst? Ja of nee, is voldoende. Zoeken en eventueel aanpassen van kolom, indexeren ofzo kan natuurlijk ook achteraf. (?)
@Steven Weijdt (en anderen) ik denk dat je datgene wat je wou uitleggen nogsteeds kan doen:
Steven:
Ik ben nu iemand anders aan het uitleggen hoe je links uit een database kan krijgen. (bij hem voor verschillende artikelen, bij jou voor verschillende nieuwtjes).
......
Ik ben nu iemand anders aan het uitleggen hoe je links uit een database kan krijgen. (bij hem voor verschillende artikelen, bij jou voor verschillende nieuwtjes).
......
;-)
Jup, zal ik nog doen vandaag. (als ik de tijd heb)
Code (php)
1
<?php require_once('webwinkel_connect.php');/*moet je vervangen voor je database connection*/ ?>
Code (php)
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
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
<?php
if(empty($_GET['Artikel']) && empty($_GET['Merk'])){
header("Location: index.php");
}/*dit kan je weglaten, tenzij je delen opsplitst in artikelen en merken*/
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_get_products = 10;/*hier kan je invullen hoeveel producten er moeten worden weergegeven*/
$pageNum_get_products = 0;
if (isset($_GET['pageNum_get_products'])) {
$pageNum_get_products = $_GET['pageNum_get_products'];
}
$startRow_get_products = $pageNum_get_products * $maxRows_get_products;
mysql_select_db($database_webwinkel_connect, $webwinkel_connect);
$query_get_products = "SELECT Product.Name, Product.Description, Product.`path`, Product.ID FROM Product WHERE artikel='".$_GET['Artikel']."' AND merk='".$_GET['Merk']."'";
$query_limit_get_products = sprintf("%s LIMIT %d, %d", $query_get_products, $startRow_get_products, $maxRows_get_products);
$get_products = mysql_query($query_limit_get_products, $webwinkel_connect) or die(mysql_error());
$row_get_products = mysql_fetch_assoc($get_products);
if (isset($_GET['totalRows_get_products'])) {
$totalRows_get_products = $_GET['totalRows_get_products'];
} else {
$all_get_products = mysql_query($query_get_products);
$totalRows_get_products = mysql_num_rows($all_get_products);
}
$totalPages_get_products = ceil($totalRows_get_products/$maxRows_get_products)-1;
$queryString_get_products = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_get_products") == false &&
stristr($param, "totalRows_get_products") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_get_products = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_get_products = sprintf("&totalRows_get_products=%d%s", $totalRows_get_products, $queryString_get_products);
?>
if(empty($_GET['Artikel']) && empty($_GET['Merk'])){
header("Location: index.php");
}/*dit kan je weglaten, tenzij je delen opsplitst in artikelen en merken*/
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_get_products = 10;/*hier kan je invullen hoeveel producten er moeten worden weergegeven*/
$pageNum_get_products = 0;
if (isset($_GET['pageNum_get_products'])) {
$pageNum_get_products = $_GET['pageNum_get_products'];
}
$startRow_get_products = $pageNum_get_products * $maxRows_get_products;
mysql_select_db($database_webwinkel_connect, $webwinkel_connect);
$query_get_products = "SELECT Product.Name, Product.Description, Product.`path`, Product.ID FROM Product WHERE artikel='".$_GET['Artikel']."' AND merk='".$_GET['Merk']."'";
$query_limit_get_products = sprintf("%s LIMIT %d, %d", $query_get_products, $startRow_get_products, $maxRows_get_products);
$get_products = mysql_query($query_limit_get_products, $webwinkel_connect) or die(mysql_error());
$row_get_products = mysql_fetch_assoc($get_products);
if (isset($_GET['totalRows_get_products'])) {
$totalRows_get_products = $_GET['totalRows_get_products'];
} else {
$all_get_products = mysql_query($query_get_products);
$totalRows_get_products = mysql_num_rows($all_get_products);
}
$totalPages_get_products = ceil($totalRows_get_products/$maxRows_get_products)-1;
$queryString_get_products = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_get_products") == false &&
stristr($param, "totalRows_get_products") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_get_products = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_get_products = sprintf("&totalRows_get_products=%d%s", $totalRows_get_products, $queryString_get_products);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<table width="70%">
<tr>
<td width="27%">
<img src="" width="100" height="100" align="left" border="0"/></td>
<td width="73%" align="left" valign="top"><strong></strong>
<br /><br />
<br /><br />vanaf €
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$id= $row_get_products['ID'];
$query_get_price = "SELECT Maat.Prijs FROM Maat WHERE Maat.Id='$id'";
$get_price = mysql_query($query_get_price, $webwinkel_connect) or die(mysql_error());
$row_get_price = mysql_fetch_assoc($get_price);
echo $row_get_price['Prijs'];
?>
$id= $row_get_products['ID'];
$query_get_price = "SELECT Maat.Prijs FROM Maat WHERE Maat.Id='$id'";
$get_price = mysql_query($query_get_price, $webwinkel_connect) or die(mysql_error());
$row_get_price = mysql_fetch_assoc($get_price);
echo $row_get_price['Prijs'];
?>
<hr />
</td>
</tr>
</table>
<table>
<tr><td>Geen producten gevonden</td></tr>
</table>
<table border="0" width="50%" align="center">
<tr>
<td width="23%" align="center">
<a href="
Code (php)
1
<?php printf("%s?pageNum_get_products=%d%s", $currentPage, 0, $queryString_get_products); ?>
First
</td>
<td width="31%" align="center">
<a href="
Code (php)
Previous
</td>
<td width="23%" align="center">
Code (php)
1
<?php if ($pageNum_get_products < $totalPages_get_products) { // Show if not last page ?>
<a href="
Code (php)
Next
</td>
<td width="23%" align="center">
Code (php)
1
<?php if ($pageNum_get_products < $totalPages_get_products) { // Show if not last page ?>
<a href="
Code (php)
1
<?php printf("%s?pageNum_get_products=%d%s", $currentPage, $totalPages_get_products, $queryString_get_products); ?>
Last
</td>
</tr>
</table>
</body>
</html>
Je moet de database gegevens vervangen door die van jou, ook de query moet je aanpassen, en de layout.
lekker zitte klusse ;-)
misschien ietsie pietsie te voor datgene waar ik het voor nodig heb...
haha kan kloppen, ligt eraan hoeveel nieuws berichten je op 1 pagina zichtbaar laat.
Het is geen moeilijk script, als je het wil gebruiken en je hebt er hulp bij nodig moet je het ff zeggen dan help ik je.
ik denk dat het beter is dat ik iets moet gaan maken wat dichter aansluit op datgene wat voor mij van toepassing is.
zackat:
Zou dus een pagina met laatste nieuws willen hebben en in een database alle nieuws willen opslaan.
Op twee manieren zou ik dan een pagina uit de database willen hebben door:
1.een opsomming van beschikbare nieuwspagina's op te geven
2. een zoekfunctie op trefwoorden ofzo?
?
Op twee manieren zou ik dan een pagina uit de database willen hebben door:
1.een opsomming van beschikbare nieuwspagina's op te geven
2. een zoekfunctie op trefwoorden ofzo?
?
..enne punt twee is deels komen te vervallen; wordt zoekfunctie op basis van tekst in $bericht
...je bent nog steeds welkom :-) aangezien je een die-hard knutselaar bent ;-)
cheers!