MYSQL record in javascript gebruiken

Status
Niet open voor verdere reacties.

karstlei1979

Gebruiker
Lid geworden
29 jan 2002
Berichten
18
Ik ben bezig met een stuk code waarbij ik de mouseover functie gebruik.
Als ik de mouseover aanroep moet hij een tekst weergeven in een div.
Dit werkt allemaal prima. Maar nu wil ik een variabele vanuit mysql weergeven in deze div.

De code die ik tot nu toe heb!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Single Mouseover</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript"><!--

function writetext(what){
document.getElementById('textarea').innerHTML=''+what+'';
}
function notext(){
document.getElementById('textarea').innerHTML='';
}
//-->
</script>

<script type="text/javascript" src="thumbnailviewer2.js" defer="defer"></script>
<link rel="stylesheet" href="css/style.css" type="text/css" />
</head>

<body>

<?php

include 'inc/connect.inc.php';

$qryhomepage = "SELECT * FROM home";

$homepage = mysql_query($qryhomepage) or die(mysql_error());
while ($row = mysql_fetch_array($homepage))

{

$titel = $row['titel'];
$tekst = $row['tekst'];
}


echo '<div id="textarea">'.$tekst.'</div>';

echo '<div id="large"><div id="loadarea" style="width: 600px">Hier komt alles te staan over de eerste pagina. Scroll over de plaatjes en alles veranderd!</div></div>';
echo '<div id="strip">';


echo '<a href="images/81.jpg" rel="enlargeimage::mouseover" rev="loadarea"><img src="images/thumbnailer3.php?bestand=81.jpg" onmouseover="writetext('.$tekst.'></a>';

?>


<a href="images/82.jpg" rel="enlargeimage::mouseover" rev="loadarea"><img src="images/thumbnailer3.php?bestand=82.jpg" onmouseover="writetext('Dit is foto 2 van alles.')"></a>
<a href="images/83.jpg" rel="enlargeimage::mouseover" rev="loadarea"><img src="images/thumbnailer3.php?bestand=83.jpg" onmouseover="writetext('Dit is foto 3 van het geheel.')"></a>
<a href="images/84.jpg" rel="enlargeimage::mouseover" rev="loadarea"><img src="images/thumbnailer3.php?bestand=84.jpg" onmouseover="writetext('Dit is foto 4 van het geheel.')"></a>

</div>


</body>
</html>


wie kan me helpen
 
Ik neem aan dat dit al een poging is?
PHP:
echo'
<img src="images/thumbnailer3.php?bestand=81.jpg" onmouseover="writetext('.$tekst.'>
';

Probeer dit eens
PHP:
echo'
<img src="images/thumbnailer3.php?bestand=81.jpg" onmouseover="writetext(\''.$tekst.'\')" >
';
Daarnaast zul je altijd het laatste resultaat maar kunnen weergeven met je huidige code. Aangezien je telkens de variabelen $titel en $tekst overschrijft.
 
Was al geprobeerd.

Bedankt voor je reactie, maar dit had ik al een keer geprobeerd.
Ik weet het echt niet meer!!

zit met handen in het haar!!

ik hoor wel weer.

bedankt
 
Laatst bewerkt:
Wat staat er in je database?

Laten we daar eens mee beginnen.

Welke velden zijn er, wat bevat zo'n veld?
 
iets verbeterd.

Hij haalt gegevens nu wel uit de database. En heb het nu als onderstaand
Kan gewoon html code gebruiken in $tekst. maar zodra ik een link gebruik <img scr> of <http> link dat is het mis. <u><b> en dat soort dingen wil wel.

database ziet er als volgt uit:

CREATE TABLE `winkel` (
`id` int(11) NOT NULL auto_increment,
`catagorie` text,
`titel` longtext,
`tekst` longtext,
PRIMARY KEY (`id`)
)

de code als volgt nu:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Single Mouseover</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript"><!--

function writetext(what){
document.getElementById('textarea').innerHTML=''+what+'';
}
function notext(){
document.getElementById('textarea').innerHTML='';
}
//-->
</script>

<script type="text/javascript" src="thumbnailviewer2.js" defer="defer"></script>
<link rel="stylesheet" href="css/style.css" type="text/css" />
</head>

<body>
<?php


include 'inc/connect.inc.php';

$qryhomepage = "SELECT * FROM winkel ORDER BY id DESC";

$homepage = mysql_query($qryhomepage) or die(mysql_error());
while ($row = mysql_fetch_array($homepage))

{
}
echo '</div>';
echo '<div id="textarea">'.$row['tekst'].'</div>';
echo '<div id="large"><div id="loadarea" style="width: 600px">Hier komt alles te staan over de eerste pagina. Scroll over de plaatjes en alles veranderd!</div></div>';

echo '<div id="strip">';


$qryhomepage = "SELECT * FROM winkel ORDER BY id DESC";

$homepage = mysql_query($qryhomepage) or die(mysql_error());
while ($row = mysql_fetch_array($homepage))

{
echo '<a href="images/'.$row['id'].'.jpg" rel="enlargeimage::mouseover" rev="loadarea"><img src="images/thumbnailer3.php?bestand='.$row['id'].'.jpg" onmouseover="writetext(\''.$row['tekst'].'\')" ></a>';
}
echo '</div>';

?>



</body>
</html>

kan je me helpen?
 
Dus je eerste probleem is nu verholpen?

Wat gebeurd er precies wanneer je HTML-code gebruikt? Kijk anders in je database of het daar wel juist in is gekomen.
 
Ik heb dit probleem zelf al een keer gehad, je kunt namelijk geen quotes en nog wat characters gebruiken in de tekst die in een html atribuut staat.

Daarvoor heb ik dit gedaan:

P.S
Ik weet dat de functie een foute naam heeft. javaSafe slaat nergens op maar zo heb ik het nou eenmaal genoemd.

PHP:
echo'
<img src="images/thumbnailer3.php?bestand=81.jpg" onmouseover="writetext(\''.javaSafe($tekst).\''>
';

PHP:
/*----- Javascript in HTML attribute safe -----*/

$javascript_escape_map = array (
  chr(34) => "\\x22",
  chr(38) => "\\x26",
  chr(39) => "\\x27",
  chr(60) => "\\x3c",
  chr(62) => "\\x3e",
  chr(160) => "\\xa0",
  chr(161) => "\\xa1",
  chr(162) => "\\xa2",
  chr(163) => "\\xa3",
  chr(164) => "\\xa4",
  chr(165) => "\\xa5",
  chr(166) => "\\xa6",
  chr(167) => "\\xa7",
  chr(168) => "\\xa8",
  chr(169) => "\\xa9",
  chr(170) => "\\xaa",
  chr(171) => "\\xab",
  chr(172) => "\\xac",
  chr(173) => "\\xad",
  chr(174) => "\\xae",
  chr(175) => "\\xaf",
  chr(176) => "\\xb0",
  chr(177) => "\\xb1",
  chr(178) => "\\xb2",
  chr(179) => "\\xb3",
  chr(180) => "\\xb4",
  chr(181) => "\\xb5",
  chr(182) => "\\xb6",
  chr(183) => "\\xb7",
  chr(184) => "\\xb8",
  chr(185) => "\\xb9",
  chr(186) => "\\xba",
  chr(187) => "\\xbb",
  chr(188) => "\\xbc",
  chr(189) => "\\xbd",
  chr(190) => "\\xbe",
  chr(191) => "\\xbf",
  chr(192) => "\\xc0",
  chr(193) => "\\xc1",
  chr(194) => "\\xc2",
  chr(195) => "\\xc3",
  chr(196) => "\\xc4",
  chr(197) => "\\xc5",
  chr(198) => "\\xc6",
  chr(199) => "\\xc7",
  chr(200) => "\\xc8",
  chr(201) => "\\xc9",
  chr(202) => "\\xca",
  chr(203) => "\\xcb",
  chr(204) => "\\xcc",
  chr(205) => "\\xcd",
  chr(206) => "\\xce",
  chr(207) => "\\xcf",
  chr(208) => "\\xd0",
  chr(209) => "\\xd1",
  chr(210) => "\\xd2",
  chr(211) => "\\xd3",
  chr(212) => "\\xd4",
  chr(213) => "\\xd5",
  chr(214) => "\\xd6",
  chr(215) => "\\xd7",
  chr(216) => "\\xd8",
  chr(217) => "\\xd9",
  chr(218) => "\\xda",
  chr(219) => "\\xdb",
  chr(220) => "\\xdc",
  chr(221) => "\\xdd",
  chr(222) => "\\xde",
  chr(223) => "\\xdf",
  chr(224) => "\\xe0",
  chr(225) => "\\xe1",
  chr(226) => "\\xe2",
  chr(227) => "\\xe3",
  chr(228) => "\\xe4",
  chr(229) => "\\xe5",
  chr(230) => "\\xe6",
  chr(231) => "\\xe7",
  chr(232) => "\\xe8",
  chr(233) => "\\xe9",
  chr(234) => "\\xea",
  chr(235) => "\\xeb",
  chr(236) => "\\xec",
  chr(237) => "\\xed",
  chr(238) => "\\xee",
  chr(239) => "\\xef",
  chr(240) => "\\xf0",
  chr(241) => "\\xf1",
  chr(242) => "\\xf2",
  chr(243) => "\\xf3",
  chr(244) => "\\xf4",
  chr(245) => "\\xf5",
  chr(246) => "\\xf6",
  chr(247) => "\\xf7",
  chr(248) => "\\xf8",
  chr(249) => "\\xf9",
  chr(250) => "\\xfa",
  chr(251) => "\\xfb",
  chr(252) => "\\xfc",
  chr(253) => "\\xfd",
  chr(254) => "\\xfe",
  chr(255) => "\\xff",
);

function javaSafe($input, $quote="'")
{
  global $javascript_escape_map;
  return str_replace(array_keys($javascript_escape_map), $javascript_escape_map, $input);
}
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan