mam kilka plików i wszystko prawie chodzi z wyjątkiem onloada.
Chcę, aby po załadowaniu strony index.php, załadował się od razu plik table.php (tworzy nową tabelę z danymi w bazie danych) i wyświetlił tablicę (temu służy kod po jedynym DIV w index.php).
Na razie to działa tak, że po wywołaniu strony nie pokazuje się nic, ale po jej przeładowaniu (odświeżam) pokazuje się załadowana tabela.
Próbowałem już różnych alternatyw z onload i plikiem onload.js, ale nic nie pomaga.
* Przy dołączaniu
Kod
onload="onload.js"
w body, robi sie potrójna tabelka, tak jakby ładowało plik table.php trzy razy;)* unload z pliku onload.js działa poprawnie, czyli kasuje tabelę po wyjściu ze strony.
*po 1 załadowaniu strony działa funkcja table- w bazie powstaje tabela, jest tylko problem z pokazaniem tabeli.
Będę wdzięczny, jak ktoś mi wskaże źródło problemu.
Pliki:
index.php
<!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=utf-8" /> <title>Employee</title> <link rel="stylesheet" type="text/css" media="screen" href="styl.css" /> <script src="jquery-1.7.1.js" type="text/javascript"></script> <script src="custom.js" type="text/javascript"></script> <script type="text/javascript" src="onload.js"></script> </head> <body> <div></div> <?php require_once ('module.class.php'); $Db = new Module; $Db->magic(); $Db->connect(); $action = 'load'; $action = $_GET['action']; if($action == 'load') { $Db->select("SELECT * FROM employee"); $Db->ShowAllEmp(); } ?> </body> </html>
onload.js
$(document).ready(function () { $("div").load('table.php'); }); $(window).unload( function () { $("div").load('drop.php'); } );
table.php
<?php // require_once ('module.class.php'); $Db = new Module; $Db->magic(); $Db->connect(); $Db->query("CREATE TABLE employee (`id` INT AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR (30), `surname` VARCHAR (30), `age` INT, `profession` VARCHAR (30), `experience` INT )"); $Db->query("INSERT INTO employee (name, surname, age, profession, experience) VALUES ( 'Jan', 'Kowalski', '42', 'handlowiec', '5'), ('Piotr', 'Kononowicz', '22', 'stazysta', '0'), ('Lucjan', 'Gawlinski', '31', 'informatyk', '2'), ('Katarzyna', 'Oles', '28', 'recepcjonistka', '3')"); ?>
fragment module.class.php
Kod
....
public function ShowAllEmp()
{
if ($this->result)
{
while($row = mysql_fetch_assoc($this->result))
{
$out[]=$row;
}
echo '<table id="tab"><tr><th>Id</th><th>Name</th><th>Surname</th><th>Age</th><th>Profession</th><th>Experience</th><th>Delete</th></tr>';
foreach ($out as $art)
{
echo '<tr>';
echo '<td>'.$art['id'].'</td>';
echo '<td>'.htmlspecialchars($art['name'],ENT_QUOTES).'</td>';
echo '<td>'.htmlspecialchars($art['surname'],ENT_QUOTES).'</td>';
echo '<td>'.$art['age'].'</td>';
echo '<td>'.htmlspecialchars($art['profession'],ENT_QUOTES).'</td>';
echo '<td>'.$art['experience'].'</td>';
echo '<td><form method="post" action=""><input type="hidden" name="id" value="'.$art['id'].'" /><input class="del" type="submit" value="" title="Delete" /></form></td>';
echo '</tr>';
}
}
}
....
public function ShowAllEmp()
{
if ($this->result)
{
while($row = mysql_fetch_assoc($this->result))
{
$out[]=$row;
}
echo '<table id="tab"><tr><th>Id</th><th>Name</th><th>Surname</th><th>Age</th><th>Profession</th><th>Experience</th><th>Delete</th></tr>';
foreach ($out as $art)
{
echo '<tr>';
echo '<td>'.$art['id'].'</td>';
echo '<td>'.htmlspecialchars($art['name'],ENT_QUOTES).'</td>';
echo '<td>'.htmlspecialchars($art['surname'],ENT_QUOTES).'</td>';
echo '<td>'.$art['age'].'</td>';
echo '<td>'.htmlspecialchars($art['profession'],ENT_QUOTES).'</td>';
echo '<td>'.$art['experience'].'</td>';
echo '<td><form method="post" action=""><input type="hidden" name="id" value="'.$art['id'].'" /><input class="del" type="submit" value="" title="Delete" /></form></td>';
echo '</tr>';
}
}
}
....