Mine sisusse
Otsi siit
  • Rohkem valikuid...
Otsi tulemusi mis sisaldab...
Otsi tulemusi...
Jälgi teemat sisse logides  
Külaline .Siim.

Õpetus: Kuidas teha mysql baasil lingikogu?

Soovitatud postitused

Külaline .Siim.

Mõtlesin et panen selle õppetuse siia õppetuse alla häkki mõnda ikka huvitab see :)

 

kõige pealt teeme tabeli lingikogu

CREATE TABLE `lingikogu` (
`11` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nimi` VARCHAR( 255 ) NOT NULL ,
`url` VARCHAR( 255 ) NOT NULL ,
`klikke` INT( 11 ) NOT NULL ,
`admin` INT( 11 ) NOT NULL
);

 

nüüd on meil vaja 3 faili:

lingikogu.php

lingiadmin.php

ja

klikk.php

 

alustame failist lingikogu.php:

[b]Lingikogu:[/b]


$hostname="$localhost"; //serveri nimi
$username="kasutaja"; //sinu mysql kasutaja
$password="parool"; //sinu mysql parool
$database="andmebaas"; //sinu mysql databse
$db = mysql_connect($hostname,$username,$password);
mysql_select_db($database,$db);//loome andmebaasiga ühenduse
$sqlcmd="select * from lingikogu where admin='1'";//võtam andmebaasis välja need lingid mille adminn on üle vaadanud
$result=mysql_query($sqlcmd);
$n=1;//anname meie järjekorra numbrile esimese väärtuse, milleks on loomulikult üks
while($myrow=mysql_fetch_array($result))//teeme while tsükkli mille ajal siis võtame mysqlist infot välja
{
echo"$n. [url="klikk.php?id=$myrow[id]"]$myrow[nimi][/url] ($myrow[klikke] klikki)
";
//anname oma lingile kuju, aga link ise läheb lehele klikk.php koos lingi IDga
$n++;//ja suurendame oma järjekorra numbrit ühe võrra
}
?>

[b]Lingi lisamine:[/b]
if($nimi && $url)//kui muutujatel on väärtused olemas sisestame nad baasi
{

$nimi=htmlspecialchars($nimi);//keelame html ja php kasutamise igaksjuhuls
$url=htmlspecialchars($url);
$sisestus="insert into lingikogu values(0, '".addslashes($nimi)."', '".addslashes($url)."', 0, 0)";
mysql_query($sisestus,$db);//sisestame väärtused tabelisse
echo '
Link on lisatud ning lähiajal vaatab selle administraator üle.
Täname lingi eest!


';
//anname kasutajale teate ning suuname ta samale lehele, et kui refreshi teha siis ei hakkaks linki topelt lisama
}
?>
</pre><form action="<?php%20echo%20%24php_self;%20?>" method="post">
Lingi nimi:
URL:

</form> [/html]<p></p><p> </p><p>nii nüüd jõuame failini lingiadmin.php</p><p></p><div>[html]$hostname="$localhost"; //serveri nimi
$username="kasutaja"; //sinu mysql kasutaja
$password="parool"; //sinu mysql parool
$database="andmebaas"; //sinu mysql databse
$db = mysql_connect($hostname,$username,$password);
mysql_select_db($database,$db);//loome andmebaasiga ühenduse

if($a==aktiveeri) { $qq="update lingikogu set admin='1' where id='$id'";
mysql_query($qq,$db);//kui a=aktiveeri siis teeme antud lingi aktiivseks
}
elseif($a==deaktiveeri) { $qq="update lingikogu set admin='0' where id='$id'";
mysql_query($qq,$db);//kui a=deaktiveeri siis teema antu lingi inaktiivseks
}
elseif($a==kustuta) { $qq="delete from lingikogu where id='$id'";
mysql_query($qq,$db);//kui a=kustuta siis kustutame tabelist antud lingi
}
elseif($a==muuda) {//kui a=muuda siis kuvame muutmis formi
if(isset($links))//kui formist on info saadetud siis lisame ta andmebaasi
{
$qq="update lingikogu set nimi='".addslashes($nimi)."', url='".addslashes($url)."' where id='$id'";
mysql_query($qq,$db);

}
else
//kui formist pole infot tulnud kuvame formi ennast koos antud lingi infoga
{
$qq="select * from lingikogu where id='$id'";
$qv=mysql_query($qq);
$qqq=mysql_fetch_array($qv);

echo"[align=center]
Lingi nimi:
URL:

";
}

}
$sqlcmd="select * from lingikogu order by admin";
$result=mysql_query($sqlcmd);//võtame tabelist info ning inaktiivsed(uuemad) on ees pool
echo'[align=center]
bgcolor=#cccccc>*Aktiveeri /Deaktiveeri[b]NIMI:[/b][b]URL[/b][b]Muuda/Kustuta?[/b]

d>';//anname tabeli alguse
$n=1;//anname järjekorra numbrile esimese väärtuse
while($myrow=mysql_fetch_array($result))//ja kuvame tabelist saadud info järjekorras
//koos linkidega vastavatele tegevustele
{
echo"$n";
if($myrow[admin]==0) echo"aktiveeri";
//kui link on aktiivne siis kuvame lingi deaktiivseks muutmiseks ja vastupidi
elseif($myrow[admin]==1) echo"deaktiveeri";
echo "$myrow[nimi][url="$myrow[url]>$myrow[url]";
$n++;//suurendame järjekorra numbrit ühe võrra
}
echo'';//sulgeme tabeli

?>

 

ja nüüd kõige lihtsam fail klikk.php, mis loeb lingile tehtud klikke:

$hostname="$localhost"; //serveri nimi
$username="kasutaja"; //sinu mysql kasutaja
$password="parool"; //sinu mysql parool
$database="andmebaas"; //sinu mysql databse
$db = mysql_connect($hostname,$username,$password);
mysql_select_db($database,$db);//loome andmebaasiga ühenduse

$qq="update lingikogu set klikke=klikke+1 where id='$id'";//suurendame lingi klikki arve ühe võrra kus id on vastav
mysql_query($qq,$db);
$sqlcmd="select url from lingikogu where id='$id'";//otsime selle url aadressi tabelist üles
$result=mysql_query($sqlcmd);
$link=mysql_fetch_array($result);
echo "";//ja suuname kasutaja koheselt sinna lehele
?> 

 

parooliga kaitsmmine teheke ise juurde, ma kasutan mysql ja sessioni süsteemi ja selle lisamine oleks teinud koodi väga pikaks, tehke mõni lihtsam vast.

Muudetud liikme .Siim.'i poolt

Jaga seda postitust


Postituse link
Share on other sites
Külaline .Siim.
Author of the topic Postitas
Miks siis seda vaja on? Kustuta seda osa ära. Sa ei jaga päris hästi ikka.

 

Vooremäe ära tuli ennast siin targamks tegam las ta ola kui ei kõlba ära loe ega vaata

Jaga seda postitust


Postituse link
Share on other sites

Kasuta PHP tage esimeses postituses, mitte HTML.

 

Samuti, lingi jaoks kasuta "Text" mitte "Varchar", miks? Sest lingi pikkus võib vabalt olla üle 255 ;)

 

Samuti, igal real võiks olla ikkagi ID, see väga hea asi, kuna kui tulevikus seda arendama hakata, saab seda väga hästi ära kasutada.

Ühte asja ei jaga isegi mina välja:

Koodis on sul admini all selline Query osa: where id='$id'

Kuid andmebaasi luues pole mitte "id" tulp vaid "11". Sa ikka kontrolli enda script üle ennem.

Jaga seda postitust


Postituse link
Share on other sites
Külaline
This topic is now closed to further replies.
Jälgi teemat sisse logides  

×
×
  • Loo uus...

Oluline informatsioon

Selle veebisaidi paremaks muutmiseks oleme teie seadmesse paigutanud küpsised . Võite kohandada oma küpsiste seadeid , vastasel juhul eeldame, et te olete küpsiste kasutamisega nõus kui jätkate veebisaidil sirvimist.. Palun lugege läbi Kasutustingimused ja Privaatsuspoliitika.