Ciao a tutti
Ho un problema in uno script php che mi deve generare degli overlay in jquery in base a delle informazioni ricavate da un database mysql.
Lo script è il seguente:
Codice PHP:
<?php
error_reporting(E_ALL);
require_once '../database_connection.php';
$query = "SELECT * FROM rubrica;";
$result = mysql_query($query);
$i = mysql_num_rows($result);
$n=0;
$apri=""; $chiudi = ""; $box=""; $overlay="";
?>
<HTML>
<HEAD>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
<style type="text/css">
<?php for ($l=0; $l<=$i; $l++) {
$apri = $apri."apri{$l}, "; }
$apri = substr(trim($apri), 0, strlen($apri)-1);
echo $apri;?>{ font-size:18px; font-family:Verdana, Geneva, sans-serif; float:right; margin-right:50px;}
<?php for ($l=0; $l<=$i; $l++) {
$chiudi = $chiudi."chiudi{$l}, "; }
$chiudi = substr(trim($chiudi), 0, strlen($chiudi)-1);
echo $chiudi; ?>{ font-size:18px; color:#000; font-weight:bold; position:absolute; right:2%; top:0%; cursor:pointer;}
<?php for ($l=0; $l<=$i; $l++) {
$overlay = $overlay."overlay{$l}, "; }
$overlay = substr(trim($overlay), 0, strlen($overlay)-1);
echo $overlay; ?> {
background:#000;
position:fixed;
top:0px;
bottom:0px;
left:0px;
right:0px;
z-index:100;
cursor:pointer;
/*Trasperenza cross browser*/
opacity: .7; filter: alpha(opacity=70);
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}
<?php for ($l=0; $l<=$i; $l++) {
$box = $box."box{$l}, "; }
$box = substr(trim($box), 0, strlen($box)-1);
echo $box; ?>{ width:600px; height:400px; background-color:#FFF; display:none; z-index:+300; position:absolute; left:30%; top:20%; -moz-border-radius: 15px; -webkit-border-radius: 15px;
border-radius: 15px;}
</style>
<TITLE>Prova</TITLE>
</HEAD>
<BODY>
<?php while ($row = mysql_fetch_array($result)) {
echo "<p class='apri{$n}'>Apri il primo overlay</p>".
"<script type='text/javascript'>".
"$(document).ready(function() {".
"".
" $('.apri{$n}').click(".
" function(){".
" $('#overlay{$n}').fadeIn('fast');".
" $('#box{$n}').fadeIn('slow');".
" });".
" ".
" $('.chiudi{$n}').click(".
" function(){".
" $('#overlay{$n}').fadeOut('fast');".
" $('#box{$n}').hide();".
" });".
" ".
" //chiusura emergenza ".
" $('#overlay{$n}').click(".
" function(){".
" $(this).fadeOut('fast');".
" $('#box{$n}').hide();".
" });".
" ".
" ".
" ".
" }); ".
"".
"</script>".
"<div class='overlay{$n}' id='overlay{$n}' style='display:none;'>".
"<div id='box{$n}'>".
"<h2 class='titolo_box'>Questo è un overlay</h2>".
" <p class='testo-box'>Questo è il primo overlay</p>".
" <p class='testo-box'>Prova</p>".
" <hr />".
" <p class='chiudi{$n}'>X</p>".
"</div> ".
"</div>";
$n++;
};
?>
</BODY>
</HTML>
Quando vado ad eseguire la pagina il debugger jquery mi dice che manca una "}" qua :
codice:
function(){ $(this).fadeOut('fast'); $('#box2').hide();}
anche se il codice javascript in se è giusto (provato in una pagina html). Non so proprio dove può essere l'errore!!