Link werkt niet in afbeelding
Op mijn website probeer ik de verschillende tools en applicaties in te laden via mysql. Nu werkt het inladen goed en komen de plaatjes van de tools netjes naast elkaar op mijn website terecht. Echter zit ik toch met een probleem. Ik wil namelijk ook de link meesturen dat als je op het plaatje klikt je bij de tool terecht komt. Deze gegevens haal ik op met deze code uit mijn database:
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
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
<?
//-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
if (!@mysql_select_db("my_dennisvanduin", @mysql_connect("localhost", "programmas", "")))
{
echo "Er kan geen database connectie gemaakt worden.";
exit();
}
$soort1 = $_POST['zoeksoort'];
$groep1 = $_POST['zoekgroep'];
$vak1 = $_POST['zoekvak'];
//-- $_POST['zoekterm'] is de naam van het zoekveld in het formulier wat we
//-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:
$sql = "SELECT `img` FROM `programmas` WHERE `soort` = '$soort1' AND `groep` = '$groep1' AND `vak` = '$vak1'";
//-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
//-- kijken of er een resultaat is
$res = mysql_query($sql);
//-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
if (mysql_num_rows($res) >= 1)
{
//-- er is een resultaat gevonden, toon de resultaten via een while () loop
while ($row = mysql_fetch_array($res))
{
?>
<?php
echo '<A HREF="'.htmlspecialchars($row['link']).'"><img src="' .htmlspecialchars($row['img']). '"style=float:left" hspace=10 vspace=10 border=1; height= 30% width=30%;></A>'
?>
<!-- And so on-->
<?php
}
?>
<?php
}
//-- als er geen resultaat is gevonden, dus als het zoekwoord niet gevonden is:
else
{
echo '<p>Er is niets gevonden op jou zoeksoort: <b>' . $_POST['zoeksoort'] . '</b>
Er is niets gevonden op jou zoekgroep: <b>' . $_POST['zoekgroep'] . '</b>
Er is niets gevonden op jou vak: <b>' . $_POST['zoekvak'] . '</b></p>';
}
?>
//-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
if (!@mysql_select_db("my_dennisvanduin", @mysql_connect("localhost", "programmas", "")))
{
echo "Er kan geen database connectie gemaakt worden.";
exit();
}
$soort1 = $_POST['zoeksoort'];
$groep1 = $_POST['zoekgroep'];
$vak1 = $_POST['zoekvak'];
//-- $_POST['zoekterm'] is de naam van het zoekveld in het formulier wat we
//-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:
$sql = "SELECT `img` FROM `programmas` WHERE `soort` = '$soort1' AND `groep` = '$groep1' AND `vak` = '$vak1'";
//-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
//-- kijken of er een resultaat is
$res = mysql_query($sql);
//-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
if (mysql_num_rows($res) >= 1)
{
//-- er is een resultaat gevonden, toon de resultaten via een while () loop
while ($row = mysql_fetch_array($res))
{
?>
<?php
echo '<A HREF="'.htmlspecialchars($row['link']).'"><img src="' .htmlspecialchars($row['img']). '"style=float:left" hspace=10 vspace=10 border=1; height= 30% width=30%;></A>'
?>
<!-- And so on-->
<?php
}
?>
<?php
}
//-- als er geen resultaat is gevonden, dus als het zoekwoord niet gevonden is:
else
{
echo '<p>Er is niets gevonden op jou zoeksoort: <b>' . $_POST['zoeksoort'] . '</b>
Er is niets gevonden op jou zoekgroep: <b>' . $_POST['zoekgroep'] . '</b>
Er is niets gevonden op jou vak: <b>' . $_POST['zoekvak'] . '</b></p>';
}
?>
Maar nu werkt het plaatje wel, maar ik kan niet naar de juiste pagina gaan via het plaatje. De link staat in de database als bijvoorbeeld: /applicaties/reeksen.php
Een andere vraag die ik heb is: ik zou al mijn afbeeldingen altijd op dezelfde grote willen weergeven namelijk 30% breed en allemaal evenhoog. Maar als ik de plaatjes op 30% breed zit verschilt de hoogte omdat de plaatjes iet allemaal dezelfde breedte hebben. Als ik bij hight dan een waarde invul dan pakt hij deze wel maar dit gaat niet goed automatisch zodat ze ook netjes op de telefoon werken... De plaatjes krijgen dan rare verhoudingen.
Wie kan mij helpen?
Groetjes,
Dennis
Ps: Link naar de website zodat je het kan zien:
http://dennisvanduin.altervista.org/programmas.php
Klik meteen op zoek om 2 hits te krijgen.
Je HTML document klopt iig niet helemaal, hier zitten twee html openings- en sluitingstags in.
De reden dat je link niet werkt is omdat je in je query enkel de image-source opvraagt, voeg een argument toe aan je SELECT statement.
Gewijzigd op 21/09/2015 20:03:35 door Thomas van den Heuvel
Klopt maar dan is de breedte niet gelijk. De hoogte en breedte moet in pixels het zelfde zijn. Maar als ik 200*200 invul dan is dit niet mooi op de telefoon. Als ik 30% met 30% invul dan is de hoogte niet hetzelfde...
Als je wilt dat al je afbeeldingen even groot zijn zul je moeten zorgen dat... al je afbeeldingen even groot zijn :). Of je moet iets met een verborgen overflow doen ofzo, maar dan snij je dus stukken vna je afbeelding af...
Dan een kwestie van alle afbeeldingen gelijk maken... Bedankt!
Je script is wel lek.
Waarom maak je geen gebruik van MySQLi functies?
Mysqli wordt het nog ;) ben druk bezig ermee...