Przedszkolak
Postów: 1
Data rejestracji: 30.01.2007 23:26
|
Strona : http://www.lonowa...
W bazie danych jest utworzona tabela 'absolwenci' o strukturze:
`ID` mediumint(9)
`ROK` year(4)
`IMIE` text
`NAZWISKO` text
`ADRES` text
rekordów około 6000
i chciałbym napisać prostą wtyczkę, która pozwoli:
- odszukać i wyświetlić listę absolwentów z danego roku
- odszukać i wyświetlić absolwenta o podanym imieniu lub nazwisku wraz z rokiem ukończenia
- dodać "hurtowo" kilkuset nowych absolwentów z listy będącej jakimkolwiek plikem zewnętrznym
- poprawiać już istniejący wpis
Na razie mam tyle:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>Wyszukiwarka absolwentów</title>
<style type="text/css">
A:LINK, A:VISITED, A:ACTIVE {
font-family : Verdana;
color : #000000;
text-decoration : none;
}
A:HOVER {
font-family : Verdana;
color : #000000;
text-decoration : underline;
}
</style>
</head>
<body>
<center>Baza danych absolwentów<br>
Liceum Ogólnokształc±cego im. Henryka Sienkiewicza<br>
w Nowej Rudzie<p>
Apn 2005 (c)<p></center>
<form method="POST" action="?">
<p align="center"><font face="Verdana"><span style="font-size: 10px">Wpisz rok lub nazwisko<br>
</span></font><br>
<input type="text" name="q" size="20" style="font-family : Verdana; font-size:10px"> <input type="submit" value="Wyszukaj" name="B1" style="font-family : Verdana; font-size:10px"></p>
</form>
<p align="center">
<?
header ("Content-Type: text/html; charset=iso-8859-2");
include "absolwenci.php";
if($txt) echo '<div align="center"><table border="0" width="70%" id="table1" cellspacing="0" cellpadding="0" style="font-family : Verdana; font-size:10px" >'.$txt.'</table> </div>';
?></p>
</body>
</html>
oraz inkludowany skrypt:
<?
if($_POST['q']){
$q=$_POST['q'];
}else{
$q=$_GET['q'];
}
$win=array('ą','ś','ź','Ą','Ś','Ź');
$iso=array('±','¶','Ľ','ˇ','¦','¬');
function dopasuj_do_bazy($q){
global $win;
global $iso;
$male=array('q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m');
$duze=array('Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M');
$q=str_replace($iso,$win,$q);
$q=explode(" ", $q);
$i=0;
while($q[$i]){
$ret .= str_replace($male,$duze,substr($q[$i],0,1)).str_replace($duze,$male,substr($q[$i],1))." ";
$i++;
}
return substr($ret,0,strlen($ret)-1);
}
include "config.php"
$err="Proszę wprowadzić rok w formie RRRR lub imię i nazwisko";
$err2="Nie znaleziono nikogo takiego w bazie";
$sql = mysql_connect ($db_host, $db_user, $db_pass);
mysql_select_db($db_name);
if($q){
if(!ereg("[0-9]", $q)){
$q=explode(" ", dopasuj_do_bazy($q));
$query = "SELECT * FROM `absolwenci` WHERE (`IMIE` LIKE '".$q[0]."%' || `NAZWISKO` LIKE '".$q[0]."%')";
$i=1;
while($q[$i]){
$query .= "&& (`IMIE` LIKE '".$q[$i]."%' || `NAZWISKO` LIKE '".$q[$i]."%')";
$i++;
}
}elseif(ereg("[0-9]{4}", $q)){
$query = "SELECT * FROM `absolwenci` WHERE `ROK` = '".$q."' ";
}else{
die($err);
}
unset($txt);
$query_exec = mysql_query($query);
while($line = mysql_fetch_array($query_exec)){
$txt .= "<tr><td width=\"44%\" align=\"right\"><a href=\"?q=".$line['ROK']."\">".$line['ROK']."</a></td><td width=\"1%\"></td><td width=\"55%\">".str_replace($win,$iso,$line['IMIE'])." ".str_replace($win,$iso,$line['NAZWISKO'])."</td></tr>";
}
if(!$txt) echo ($err2);
}
?>
czy da się to jakoś przerobić na infusiona?
//Przedszkolaki chyba chcą podwyższyć poziom;), przenoszę - jantom
Edytowane przez jantom dnia 31.01.2007 10:03:15
|