Result in link stoppen ?
Ik ben bezig met mijn foto zoek script.
Wat ik wil, heb ik namelijk niet op google kunnen vinden.
Het script dat ik heb werkt goed, maar geeft elk result weer.
In het result, maak ik gebruik van de id van de foto.
Maar elk result, geeft een aparte link.
Nou wil ik alle resultaten in een link stoppen.
Hier is mijn stukje script,
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
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
<?php
include 'connect.php';
// error melding.
error_reporting(E_ALL);
ini_set('display_errors', 1);
// einde error.
if( isset($_POST['zoekterm']) && !empty($_POST['zoekterm']) ) {
$query = "SELECT * FROM `fotoalbum` WHERE naam_foto LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%' AND text_foto LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%' AND tag LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%'";
$sql = mysql_query($query) or die (mysql_error());
$aantal = mysql_num_rows($sql);
$aantal = $aantal;
if ($aantal1 == 0)
{
echo "Er zijn <b>geen</b> resultaten gevonden op <span class='schuin'><strong>$_POST[zoekterm]</strong></span> !<br>";
}
else
{
echo "<b>$aantal items gevonden</b><br><br>";
// toon result.
while ($obj = mysql_fetch_assoc($sql)) {
echo "<a href=index.php?titel=result&id=$obj->id.>$_POST[zoekterm] : $obj->tag</a><br />";
}
// einde result.
}
}
?>
<br />
<form action="index.php?titel=zoek" method="post">
Zoek op deze site
<input type="text" name="zoekterm" value=""/>
<input type="submit" name="verzenden" value=" zoeken "/>
</form>
<br />
include 'connect.php';
// error melding.
error_reporting(E_ALL);
ini_set('display_errors', 1);
// einde error.
if( isset($_POST['zoekterm']) && !empty($_POST['zoekterm']) ) {
$query = "SELECT * FROM `fotoalbum` WHERE naam_foto LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%' AND text_foto LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%' AND tag LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%'";
$sql = mysql_query($query) or die (mysql_error());
$aantal = mysql_num_rows($sql);
$aantal = $aantal;
if ($aantal1 == 0)
{
echo "Er zijn <b>geen</b> resultaten gevonden op <span class='schuin'><strong>$_POST[zoekterm]</strong></span> !<br>";
}
else
{
echo "<b>$aantal items gevonden</b><br><br>";
// toon result.
while ($obj = mysql_fetch_assoc($sql)) {
echo "<a href=index.php?titel=result&id=$obj->id.>$_POST[zoekterm] : $obj->tag</a><br />";
}
// einde result.
}
}
?>
<br />
<form action="index.php?titel=zoek" method="post">
Zoek op deze site
<input type="text" name="zoekterm" value=""/>
<input type="submit" name="verzenden" value=" zoeken "/>
</form>
<br />
Wie kan mij even hiermee op weg helpen.
Gewijzigd op 07/05/2013 20:48:42 door Arthur Heijmen
Even wat opmerkingen:
- Variabelen buiten quotes. Dit zou je immers na 3 jaar wel moeten weten ;-)
- $aantal1 klinkt niet echt als een duidelijke variabele... Houd het logisc, duidelijk en overzichtelijk.
- Gebruik geen mixed upper-/lowercase HTML. Dus geen <B> maar <b>
- Gebruik bij voorkeur mysql_fetch_assoc, i.p.v. mysql_fetch_object.
- Lijn 26 klopt niet helemaal.
- Gebruik geen <? tags, maar de volledige <?php tags.
Gewijzigd op 07/05/2013 20:32:56 door - Ariën -
Maar wat ik bedoel is, Als ik op de site van mij naar bischop zoek,
krijg ik twee resultaten.
Die twee wil ik dan in een hyperlink stoppen, en door sturen naar de result pagina.
Dan kan je toch een link maken met: items.php?product1=42&product2=24, en dan laat je een query lopen waar je met een query zoals dit beiden kan zoeken:
Code (php)
1
2
3
2
3
SELECT dit, dat, zus, zo
FROM tabel_naam
WHERE id IN ($_GET['product1'],$_GET['product2'])
FROM tabel_naam
WHERE id IN ($_GET['product1'],$_GET['product2'])
Uiteraard is dit pseudocode, en moet je de boel nog escapen en netjes opbouwen.
Dit bedoel je dus?
Gewijzigd op 07/05/2013 20:45:01 door - Ariën -
dat is meer iets voor op de result pagina.
Kan je wat concreter zijn en eventueel een voorbeeld geven wat je wilt bereiken?
Gewijzigd op 07/05/2013 20:48:37 door - Ariën -
Deze resultaten dan door te sturen naar de result pagina, zoals in regel 27.
Alleen regel 27 stuurt nu maar een foto id door.
Kijk anders even op mijn siteGothmaster
Ga na de zoek pagina en type in bishop
Gewijzigd op 07/05/2013 20:59:24 door Arthur Heijmen
Eh, je bent dan toch al op de resultspagina? Heb je anders een online voorbeeld om het duidelijker te maken?
Arthur Heijmen op 07/05/2013 20:38:13:
Oke aar.
Maar wat ik bedoel is, Als ik op de site van mij naar bischop zoek,
krijg ik twee resultaten.
Die twee wil ik dan in een hyperlink stoppen, en door sturen naar de result pagina.
Maar wat ik bedoel is, Als ik op de site van mij naar bischop zoek,
krijg ik twee resultaten.
Die twee wil ik dan in een hyperlink stoppen, en door sturen naar de result pagina.
Ik heb de code iets aangepast zodat het werkt met mysqli.
Daar werk ik mee dus neem me dat niet kwalijk.
Ook heb ik de code iets aangepast zodat als je op zoeken hebt gedrukt dat het zoek formulier weg gaat.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
ini_set('display_errors', 1);
switch ($_GET['action']) {
default: ?>
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
ini_set('display_errors', 1);
switch ($_GET['action']) {
default: ?>
<form action="test.php?action=zoek" method="post">
Zoek op deze site
<input type="text" name="zoekterm" value=""/>
<input type="submit" name="verzenden" value=" zoeken "/>
</form>
<br />
<!-- End main page -->
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
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
<?php break;
case 'zoek':
define('SHADOW_CMS', 1);
include 'config.php';
$mysqli = new mysqli($host, $username, $password, $db);
if(isset($_POST['zoekterm']) && !empty($_POST['zoekterm']) ) {
$query = "SELECT * FROM `shadow_pages` WHERE title LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%'";
$result = $mysqli->query($query) or die (mysql_error());
$aantal = $result->num_rows;
if (mysqli_num_rows($result) == 0)
{
echo "Er zijn <B>geen</B> resultaten gevonden op <span class='schuin'><strong>$_POST[zoekterm]</strong></span> !<br>";
}
else
{
echo "<b>$aantal items gevonden</b><br><br>";
// toon result.
while ($row = $result->fetch_assoc()) {
echo "<a href=test.php?pagina=result&id=".$row["get_title"].">$_POST[zoekterm] : $row[title]</a><br />";
}
// einde result.
}
}
break;
}
?>
case 'zoek':
define('SHADOW_CMS', 1);
include 'config.php';
$mysqli = new mysqli($host, $username, $password, $db);
if(isset($_POST['zoekterm']) && !empty($_POST['zoekterm']) ) {
$query = "SELECT * FROM `shadow_pages` WHERE title LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%'";
$result = $mysqli->query($query) or die (mysql_error());
$aantal = $result->num_rows;
if (mysqli_num_rows($result) == 0)
{
echo "Er zijn <B>geen</B> resultaten gevonden op <span class='schuin'><strong>$_POST[zoekterm]</strong></span> !<br>";
}
else
{
echo "<b>$aantal items gevonden</b><br><br>";
// toon result.
while ($row = $result->fetch_assoc()) {
echo "<a href=test.php?pagina=result&id=".$row["get_title"].">$_POST[zoekterm] : $row[title]</a><br />";
}
// einde result.
}
}
break;
}
?>
Ik heb van de zoek pagina gelijk de result pagina gemaakt.
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
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
<?php
include 'connect.php';
// error melding.
error_reporting(E_ALL);
ini_set('display_errors', 1);
// einde error.
if( isset($_POST['zoekterm']) && !empty($_POST['zoekterm']) ) {
$query = "SELECT * FROM `fotoalbum` WHERE naam_foto LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%' AND text_foto LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%' AND tag LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%'";
$sql = mysql_query($query) or die (mysql_error());
$aantal = mysql_num_rows($sql);
$aantal = $aantal;
if ($aantal == 0)
{
echo "Er zijn <b>geen</b> resultaten gevonden op <span class='schuin'><strong>$_POST[zoekterm]</strong></span> !<br>";
}
else
{
echo "<b>$aantal items gevonden</b><br><br>";
// toon result.
echo '<div class=img-blok>';
while ($obj = mysql_fetch_object($sql)) {
$image_path = 'album/' . $obj->naam_foto ;
list($width, $height, $type, $attr)= getimagesize($image_path);
echo "<a title='$obj->text_foto' :afbeeldings grote = $width x $height in pixels' rel='example_group' href='album/$obj->naam_foto'><img src='album/thumb/$obj->foto_klein' alt='$obj->tag' class='img' height='100px' /></a> ";
}
echo '</div>';
// einde result.
}
}
?>
<br />
<form action="index.php?titel=zoek" method="post">
Zoek op deze site
<input type="text" name="zoekterm" value=""/>
<input type="submit" name="verzenden" value=" zoeken "/>
</form>
<br />
include 'connect.php';
// error melding.
error_reporting(E_ALL);
ini_set('display_errors', 1);
// einde error.
if( isset($_POST['zoekterm']) && !empty($_POST['zoekterm']) ) {
$query = "SELECT * FROM `fotoalbum` WHERE naam_foto LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%' AND text_foto LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%' AND tag LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%'";
$sql = mysql_query($query) or die (mysql_error());
$aantal = mysql_num_rows($sql);
$aantal = $aantal;
if ($aantal == 0)
{
echo "Er zijn <b>geen</b> resultaten gevonden op <span class='schuin'><strong>$_POST[zoekterm]</strong></span> !<br>";
}
else
{
echo "<b>$aantal items gevonden</b><br><br>";
// toon result.
echo '<div class=img-blok>';
while ($obj = mysql_fetch_object($sql)) {
$image_path = 'album/' . $obj->naam_foto ;
list($width, $height, $type, $attr)= getimagesize($image_path);
echo "<a title='$obj->text_foto' :afbeeldings grote = $width x $height in pixels' rel='example_group' href='album/$obj->naam_foto'><img src='album/thumb/$obj->foto_klein' alt='$obj->tag' class='img' height='100px' /></a> ";
}
echo '</div>';
// einde result.
}
}
?>
<br />
<form action="index.php?titel=zoek" method="post">
Zoek op deze site
<input type="text" name="zoekterm" value=""/>
<input type="submit" name="verzenden" value=" zoeken "/>
</form>
<br />
ps, zitten nog wel paar kleine foutjes in, maar die ga ik oplossen.
Gewijzigd op 07/05/2013 21:29:30 door Arthur Heijmen
Ik heb een ander voorbeeld voor je,
Als je wilt kan ik deze online plaatsen om te testen.
hier is de code :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
ini_set('display_errors', 1);
define('SHADOW_CMS', 1);
include 'config.php';
$mysqli = new mysqli($host, $username, $password, $db);
switch ($_GET['action']) {
default: ?>
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
ini_set('display_errors', 1);
define('SHADOW_CMS', 1);
include 'config.php';
$mysqli = new mysqli($host, $username, $password, $db);
switch ($_GET['action']) {
default: ?>
<form action="test.php?action=zoek" method="post">
Zoek op deze site
<input type="text" name="zoekterm" value=""/>
<input type="submit" name="verzenden" value=" zoeken "/>
</form>
<br />
<!-- End main page -->
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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
<?php break;
case 'zoek':
if(isset($_POST['zoekterm']) && !empty($_POST['zoekterm']) ) {
$query = "SELECT * FROM `shadow_pages` WHERE title LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%'";
$result = $mysqli->query($query) or die (mysql_error());
$aantal = $result->num_rows;
if (mysqli_num_rows($result) == 0)
{
echo "Er zijn <B>geen</B> resultaten gevonden op <span class='schuin'><strong>$_POST[zoekterm]</strong></span> !<br>";
}
else
{
echo "<b>$aantal items gevonden</b><br><br>";
// toon result.
while ($row = $result->fetch_assoc()) {
echo "<a href=test.php?action=result&id=".$row["get_title"].">$_POST[zoekterm] : $row[title]</a><br />";
}
// einde result.
}
}
break;
case 'result' :
function get_content($id = 'zoek') {
global $mysqli;
if($id != "zoek"):
$id = mysqli_real_escape_string($mysqli, $id);
$sql = "SELECT * FROM shadow_pages WHERE get_title='$id' ";
else:
$sql = "SELECT * FROM shadow_pages WHERE get_title='home' ";
endif;
$result = $mysqli->query($sql) or die(mysqli_error($mysqli));
if(mysqli_num_rows($result) !=0):
$content = "";
while (($row = $result->fetch_assoc()) !==null){
$content = "<h1>". $row['title'] ."</h1>";
$content .= $row['body'];
}
else :
$content = "Er zijn <B>geen</B> resultaten gevonden op <span class='schuin'><strong>$_POST[zoekterm]</strong></span> !<br>";
endif;
return $content;
}
if(isset($_GET['id'])) :
$content = get_content($_GET['id']);
else :
$content = get_content($_GET['id'] = "home");
endif;
echo $content;
break;
}
?>
case 'zoek':
if(isset($_POST['zoekterm']) && !empty($_POST['zoekterm']) ) {
$query = "SELECT * FROM `shadow_pages` WHERE title LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%'";
$result = $mysqli->query($query) or die (mysql_error());
$aantal = $result->num_rows;
if (mysqli_num_rows($result) == 0)
{
echo "Er zijn <B>geen</B> resultaten gevonden op <span class='schuin'><strong>$_POST[zoekterm]</strong></span> !<br>";
}
else
{
echo "<b>$aantal items gevonden</b><br><br>";
// toon result.
while ($row = $result->fetch_assoc()) {
echo "<a href=test.php?action=result&id=".$row["get_title"].">$_POST[zoekterm] : $row[title]</a><br />";
}
// einde result.
}
}
break;
case 'result' :
function get_content($id = 'zoek') {
global $mysqli;
if($id != "zoek"):
$id = mysqli_real_escape_string($mysqli, $id);
$sql = "SELECT * FROM shadow_pages WHERE get_title='$id' ";
else:
$sql = "SELECT * FROM shadow_pages WHERE get_title='home' ";
endif;
$result = $mysqli->query($sql) or die(mysqli_error($mysqli));
if(mysqli_num_rows($result) !=0):
$content = "";
while (($row = $result->fetch_assoc()) !==null){
$content = "<h1>". $row['title'] ."</h1>";
$content .= $row['body'];
}
else :
$content = "Er zijn <B>geen</B> resultaten gevonden op <span class='schuin'><strong>$_POST[zoekterm]</strong></span> !<br>";
endif;
return $content;
}
if(isset($_GET['id'])) :
$content = get_content($_GET['id']);
else :
$content = get_content($_GET['id'] = "home");
endif;
echo $content;
break;
}
?>
Maar voor de zekerheid, zal ik die van jou ook proberen.
Wie weet heb ik daar meer aan.
gewoon dit even replacen :
$content = "<h1>". $row['title'] ."</h1>";
$content .= $row['body'];
voor :
$content = "<h1>". $row['title'] ."</h1>";
$content .= $row['body'];
$content .= "<hr />
<p>Ga terug naar de <a href=\"test.php\">zoekpagina</a>.</p>";