Dinamik içerik ihtiyacı
Web artık statik değil; dinamik. Web bilgi içeriği büyüdükçe
Web sitelerini daha dinamik hale getirme ihtiyacı da var. 1000 olan e-dükkan düşün
ürün. Sahibi 1.000 Web sayfası (her Ürün için bir tane) oluşturmak zorundadır ve
her şey değiştiğinde, sahibi tüm bu sayfaları değiştirmek zorundadır. Ah!!!
İçeriği yaratan ve sunan tek bir sayfaya sahip olmak daha kolay olmaz mıydı
bağlı olarak, bir veritabanında saklanan ürünler hakkında bilgi fly
müşteri isteği mi?
Günümüzde siteler sürekli değiştirmek ve up-to-date haber, bilgi sağlamak zorunda,
stok fiyatları ve özelleştirilmiş sayfalar. PHP ve SQL sitenizi yapmak için iki yolu vardır
dinamik.
PHP PHP son derece güçlü, sunucu tarafı, açık kaynak kodlu bir betik dilidir
esnek ve aslında eğlenceli öğrenmek için. PHP ayrıca çapraz platform, yani PHP
komut Unix, Linux veya NT sunucusu üzerinde çalışacaktır.
MySQL SQL veritabanları ile etkileşim için standart sorgu dilidir. MySQL
bir açık kaynak, az ya da çok ücretsiz ve son derece hızlı SQL veritabanı sunucusu.
MySQL de çapraz platformdur.
Apache sunucu rutinlerini yükleme
Önce Linux ortamında Apache server rutinlerini kuracağız. Yüklemek
bu paketler sunucunuza kök erişimi gerekir. Başka biri barındırıyorsa
siteniz, yöneticiden sizin için yüklemelerini isteyin.
Apache’yi yüklemek nispeten basittir. Önce Apache arşivini indirin,
apache_x.x.xx.tar.gz (indirdiğim en son apache_1 idi.3.14.katran.GZ) itibaren
Apache sitesi ve /tmp/src dizininde kaydedin. O dizine git:
# cd / tmp / src/
Dosyaları komutla ayıklayın:
# gunzip-dc apache_x.x.xx.tar.GZ / tar xv
bu x’leri sürüm numaranızla değiştirin. Olmuştur dizine değiştirin
oluşturuyordu:
# cd apache_x.x.xx
Şimdi Apache yapılandırmak ve yüklemek için komutları yazın:
# ./ configure — prefix=/usr / local / apache — enable-module = so
# yapmak
# make install
Bu, Apache’yi /usr/local/apache dizinine kuracaktır. Apache yüklemek istiyorsanız
farklı bir dizine /usr/local/Apache’yi önekdeki dizininizle değiştirin. Bu
! Apache yüklü.
Varsayılan sunucu adını gerçek bir değere değiştirmek isteyebilirsiniz. Gürültü
bu, httpd’yi açın.conf dosyası (/usr/local/apache/conf adresinde bulunur) ve başlangıç çizgisini bulun
ServerName ile. ServerName localhost olarak değiştirin.
Yüklemenizi test etmek için Apache HTTP sunucunuzu çalıştırarak başlatın:
# / usr / local / apache/bin / apachectl başlangıç
“Httpd başladı” gibi bir mesaj görmelisiniz. Web tarayıcınızı açın ve yazın
“http://localhost /” konum çubuğunda (localhost’u ayarlarsanız sunucuadı ile değiştirin
farklı). Hoş bir karşılama sayfası görmelisiniz.
MySQL Yükleme
Sonra MySQL geliyor. Aynı prosedürü takip edeceğiz (bu x’leri tekrar değiştiriyoruz
bizim sürüm numarası). Kaynağı MySQL sitesinden indirin ve /tmp/src’ye kaydedin.
Bulduğum en son sürüm mysql-3.22.32 idi.katran.gz.
# cd / tmp / src/
# gunzip-dcz-x.xx.xx.tar.GZ / tar xv
# cd mysql-x.xx.xx
# ./ configure — prefix=/usr / local / mysql
# yapmak
# make install
MySQL yüklü. Şimdi hibe tabloları oluşturmanız gerekir:
# /mysql_install_db komut
Sonra MySQL sunucusunu başlatın:
# / usr / local / bin / safe_mysqld &
Ve yazarak kurulumunuzu test edin:
mysql-uroot-p
Şifre isteminde Enter tuşuna basın. Böyle bir şey görmelisin:
MySQL monitor’a hoş geldiniz. Komutlar ; veya \g ile sona erer.
MySQL bağlantı kimliğiniz sunucu sürüm 3.22.34’e 5
Yardım için ‘yardım’ yazın.
mysql>
Bunu görürseniz, MySQL düzgün çalışıyor. Yapmazsanız, MySQL yüklemeyi deneyin
tekrar. MySQL sunucu durumunu görmek için durum yazın. İstemi çıkmak için çıkın yazın.
PHP’yi yükleme
PHP’yi yüklemek için benzer bir prosedürü takip edeceğiz. Indirin ve kaynak kaydetmek
PHP site için / tmp / src:
# cd / tmp / src/
# gunzip-dc php-x.x.xx.tar.GZ / tar xv
# cd php-x.x.xx
# ./ configure — with-mysql=/usr/local/mysql –with-apxs=/usr/local/apache/bin/apxs
# yapmak
# make install
İni dosyasını uygun dizine kopyalayın:
# cp php.ini-dist / usr/local/lib / php.ını
Httpd’yi açın.metin düzenleyicinizdeki conf (muhtemelen / usr / local / apache / conf dizininde bulunur) ve
aşağıdaki gibi görünen bir bölüm bulun:
# Ve PHP 4 için.x, kullanım:
#
# AddType uygulama / x-httpd-php .php
# AddType application / x-httpd-php-source .phps
Bu # S’yi AddType satırından önce kaldırın, böylece şöyle görünür:
# Ve PHP 4 için.x, kullanım:
#
AddType uygulama / x-httpd-php .php .phtml
AddType application / x-httpd-php-source .phps
Dosyanızı kaydedin ve Apache’yi yeniden başlatın:
# / usr / local / apache / bin / apachectl durağı
# / usr / local / apache/bin / apachectl başlangıç
Sonra PHP düzgün yüklü olup olmadığını test edin. Bir metin düzenleyicisinde aşağıdaki kodu yazın
ve test olarak kaydedin.web sunucunuz tarafından erişilebilen bir dizinde php:
< HTML>
<?php
phpinfo();
?>
< / HTML>
Konsol chmod 775 test yazarak yürütülebilir dosyanın iznini ayarlayın.php,
ve sonra tarayıcınızla görüntüleyin. Çevrenin ayrıntılı bir açıklamasını görmelisiniz
PHP’DEKİ değişkenler aşağıdaki görüntüye benzer. Yapmazsanız, PHP yüklü değildi
düzgün. Yeniden yüklemeyi deneyin. PHP bilgilerinde bir bölüm “MySQL” olduğundan emin olun; değilse,
MySQL bağlantısı çalışmaz.
İlk senaryo
Geleneği takiben, “Merhaba Dünya” örneği ile kodlamaya başlayacağız. Metninizi ateşleyin
düzenleyici ve aşağıdaki kodu yazın:
< HTML>
<?php
echo ” Merhaba Dünya”;
?>
< / HTML>
Dosyayı ilk olarak kaydedin.php ve tarayıcıda görüntülemek (izin ayarlamak için unutmayın
chmod 775 ilk). Sayfa “Merhaba Dünya”gösterir. Bu sayfanın HTML kaynağını görüntüle
tarayıcınız aracılığıyla. Sadece metin Merhaba Dünya göreceksiniz. Bu oldu
PHP kodu işlediğinden ve kod PHP’YE “Merhaba” dizesini çıkarmasını söyledi
Dünya.” <Fark ettin mi?php ve ?>. Bunlar sınırlayıcılardır ve bir PHP bloğu içine alır
kod. <?php, PHP’YE bunu PHP kodu olarak takip eden tüm satırları işlemesini söyler ve ?> söylüyor
PHP işleme durdurmak için. Bu kapsamın ötesinde tüm satırlar HTML olarak geçirilir
tarayıcı.
İlk veritabanı
Şimdi PHP düzgün çalışıyor ve ilk komut dosyası oluşturduk, en ilk oluşturalım
veritabanı ve biz onunla ne yapabileceğini görmek. Konsola bırakın ve aşağıdakileri yazın
komut:
mysqladmin-uroot create learndb
Bu, kullanmamız için “learndb” adlı bir veritabanı oluşturur. Burada olduğunu varsaydık
kök kullanıcı. Başka bir kullanıcı olarak oturum açtıysanız, mysqladmin komutunu kullanın
– uusername-pyourpassword kullanıcı adı yerine, learndb oluşturun ve
sırasıyla kullanıcı adı ve şifre ile yourpassword. Sitenizi barındırıyorsanız
bir hosting şirketi aracılığıyla, muhtemelen mysqladmin çalıştırmak için izniniz yok. bunda
durum, sunucu yöneticinizden sizin için veritabanı oluşturmasını istemeniz gerekir.
Sonra bu veritabanında tablolar yaratacak ve bazı bilgiler gireceğiz. Konsola git.
Tür:
mysql
Böyle bir şey görmelisin:
MySQL monitor’a hoş geldiniz. Komutlar ; veya \g ile sona erer.
MySQL bağlantı kimliğiniz sunucu sürüm 3.22.34’e 5
Yardım için ‘yardım’ yazın.
Tür:
LEARNDB’Yİ bağla
Tablo personeli oluşturma
(
ıd int değil NULL AUTO_INCREMENT,
firstname varchar (25),
lastname varchar (20),
nick varchar(12),
e-posta varchar (35),
maaş int,
Birincil anahtar (ıd),
Benzersiz kimliği (ıd)
);
Personel değerlerine (‘1′,’John’,’Lever’,’John’, ‘john@everywhere.net’, ‘75000’);
Personel değerlerine (‘2′,’Camilla’,’Anderson’,’Rose’, ‘rose@flower.com’, ‘66000’);
Bu, 5 alana sahip bir tablo oluşturur ve bazı bilgileri koyar.
Benim görüşüm nerede?
Şimdi biraz bilgi ile bir veritabanı var, onu görebilir miyiz bakalım
PHP. Aşağıdaki metni viewdb olarak kaydedin.php:
< HTML>
<?php
$ db = mysql_connect (“localhost”, ” root”, “”);
mysql_select_db (“learndb”, $ db);
$ result = mysql_query (“select * from personnel”, $ db);
echo ” < tablo>”;
echo”<TR><TD><B>tam adı</B><TD><B>tam adı</B><TD><B>tam adı</B></tr>”;
while ($myrow = mysql_fetch_array ($sonuç))
{
echo “<TR><TD>”;
echo $myrow [“firstname”];
yankı ” “;
echo $myrow [“lastname”];
echo “<TD>”;
echo $ myrow [“nick”];
echo “<TD>”;
echo $ myrow [“maaş”];
}
echo “</TABLE>”;
?>
< / HTML>
Tarayıcınızdan çalıştırın ve bir personel veritabanı göreceksiniz. Ama bu kod nedir
yapıyor ve nasıl oluşturulur? Kodu inceleyelim. Önce bir değişken $db beyan ederiz. İçin
PHP, ‘ $ ‘ işaretini daha önce koyarak bir değişken beyan ederiz. $ Sonra Dize,
şu değişken. Kodlayarak buna değer atarız: $ variable_name=somevalue; (örnek:
$ count = 4;)
Php’de çalıştırılabilir olan tüm satırlardan sonra ‘;’ koymayı unutmayın. Bu yüzden değişkeni beyan ederiz
$ db ve deyim ile mysql veritabanına bir bağlantı oluşturun
“mysql_connect (“localhost”,” root”,””)”. Düz İngilizce olarak, MySQL bağlanmak anlamına gelir
localhost sunucusundaki veritabanı “kullanıcı adı kök ve şifre” ile. Onları değiştirin
farklı ise kendi kullanıcı adı ve şifre.
Sonra bu veritabanına $db için bir işaretçi atarız; başka bir deyişle, $db veritabanımıza işaret eder
sunucu localhost. Ardından, satırlarla etkileşim kurmak istediğimiz veritabanını seçiyoruz
“mysql_select_db (“learndb”,$db); “yani veritabanını kullanmak istiyoruz” learndb”
işaretçi değişkeni $ db tarafından bulunur . Ama biz veritabanından bilgi istiyorum, bu yüzden sorgu
satırlarla veritabanı “$result = mysql_query(“select * from personnel”,$db); ” The
bölüm “select * from personnel” bir SQL ifadesidir (SQL’İ bilmiyorsanız),
veritabanı personelinden tüm şeyleri seçmek anlamına gelir.
Biz PHP komutu mysql_query () ile bu sorguyu çalıştırmak ve tarafından döndürülen sonucu kaydetmek
$sonuç değişkenine veritabanı. Şimdi farklı satırlardaki farklı verilere erişebiliriz
veritabanı $ result değişkeninden. Ayıklamak için mysql_fetch_array () işlevini kullanıyoruz
$sonuçtan her satır ve bunları $myrow değişkenine atayın. Yani $myrow bilgi içeriyor
$sonuçtaki tüm satırların aksine her satır hakkında.
Sonra her satırda bulunan verileri çıktı. “echo $myrow [“firstname”]; ” anlamına gelir
$myrow; içinde bulunan satırın “firstname” alanında bulunan değeri çıktıya gönder
başka bir deyişle, satırın farklı alanlarına $myrow[“fieldname”] ile erişiyoruz.
Veri iken olarak gösteriyor() döngü için süre kullandık
$ sonuçtan çıkarılan satırları bu parantez içinde yürütün {}. Böylece güzel olsun
tarayıcıda biçimlendirilmiş çıktı. PHP kodunu ve HTML kaynağını görüntüleme
tarayıcı yan yana kolayca prosedürü anlamanıza yardımcı olabilir. Tebrikler! Sen
ilk dinamik sayfanızı oluşturduk.
HTML Formu oluşturma
Yani şimdi MySQL veritabanında saklanan kayıtları görüntülemek ve kendi içinde görüntüleyebilirsiniz
PHP kullanarak tarayıcı. Ama yeni bir kayıt eklemek istiyorsun. Bildiğinizi varsayarsak
HTML formları, sadece bunu yapacak bir sayfa kodlayalım. Önce statik bir form oluşturacağız,
datain.html:
< HTML>
<VÜCUT>
< form method=” post”action=” datain.php”>
><Br>soyadı:<input type=”Text” name=”ilk”
Soyadı: < giriş türü = “metin” name= ” son ” > < br>
Nick adı:<giriş tipi=”metin” adı=”takma”><br>
E-posta: < giriş tipi = “metin” adı=”e-posta” > < br>
Maaş:<giriş tipi=”metin” adı=”maaş”><br>
<ınput type=”Submit” name=”submit” value=”bilgi girin”>
</form>
< / HTML>
Şimdi “datain” sayfasına bilgi gönderecek bir formumuz var.php”. yapmalıyız
bu yüzden gönderilen veri işleme ve MySQL göndermek mümkün olduğu bu sayfanın kodu
veritabanı. Datain aşağıdaki liste.php bunu yapacak:
< HTML>
<?php
$ db = mysql_connect (“localhost”, ” root”,””);
mysql_select_db (“learndb”, $ db);
$ sql = ” personnel (firstname, lastname, nick, e-posta, maaş) değerlerine Ekle (‘$ilk’, ‘$ son’, ‘$ takma’, ‘ $ $ sonuç = mysql_query ($sql);
echo ” teşekkür ederim! Bilgi girdi.\ve”;
?>
< / HTML>
İlk 3 satır daha önce olduğu gibi aynıdır, sadece SQL komutunu kullanıyoruz ” INSERT İNTO”,
bu, veritabanına belirtilen sütunlara eklemek anlamına gelir (burada firstname,
lastname, nick, e-posta) değişkende bulunan veriler
‘$ilk’,’$son’,’$takma’,’ $ e-posta ‘ sırasıyla.
Ama bu değişkenler nereden geldi? EH, PHP oluşturmak için harika bir yolu vardır
değişkenler otomatik olarak kendisine gönderilen verilerden. Yani adı “ilk” ile metin kutusu”
önce $ değişkenini oluşturdu ve bu metin kutusuna yazılan metni içeriyordu.
Araya koyarak
Şimdi kodu bir dosyaya birleştirelim. Buna giriş diyeceğiz.php
< HTML>
<?php
ıf ($gönder)
{
$ db = mysql_connect (“localhost”, ” root”,””);
mysql_select_db (“learndb”, $ db);
$ sql = ” personnel (firstname, lastname, nick, e-posta, maaş) değerlerine Ekle (‘$ilk’, ‘$ son’, ‘$ takma’, ‘ $ $ sonuç = mysql_query ($sql);
echo ” teşekkür ederim! Bilgi girdi.\ve”;
}
başka
{
?>
< form method=” post”action=” giriş.php”>
><Br>soyadı:<input type=”Text” name=”ilk”
Soyadı: < giriş türü = “metin” name= ” son ” > < br>
Nick adı:<giriş tipi=”metin” adı=”takma”><br>
E-posta: < giriş tipi = “metin” adı=”e-posta” > < br>
Maaş:<giriş tipi=”metin” adı=”maaş”><br>
< ınput type= “Submit” name= “submit” value = “bilgi girin” > < / form >
<?
}
?>
< / HTML>
Bu, girdi olmadığında veya başka bir şekilde girildiğinde formu gösteren bir komut dosyası oluşturur
veritabanına bilgi. Komut dosyası ne zaman yapılacağını nasıl anlar? Biz
PHP’nin otomatik olarak bilgi içeren değişken oluşturduğunu zaten öğrendiniz.
bunun için. Bu nedenle, form gönderilirse $submit değişkenini oluşturacaktır. Komut dosyası belirler
$ submit değişkeni var mı. Varsa ve bir değer içeriyorsa
yayınlanan değerleri veritabanına girmek için; aksi takdirde, formu göstermeliyiz.
Şimdi veritabanımıza bilgi girebilir ve görüntüleyebiliriz. Biraz yeni eklemeyi deneyin
veritabanına işe yarıyorsa onları görüntüleyerek kontrol veri ve
viewdb.php.
Değişkenleri geçirme
Şimdi farklı bir görünüm alalım ve bilgilerin başka birine nasıl aktarılabileceğini düşünelim
PHP sayfası. Bir yöntem, zaten yaptığımız gibi formları kullanmaktır; diğeri ise
sorgu dizeleri kullanmak. Sorgu dizeleri nelerdir? Satır yöntemini değiştir= “post” için
method = komut dosyası girişimizde “get”.php. Şimdi veritabanına yeni veri göndermeyi deneyin
beraberinde. Tıkladıktan sonra bizim tanıdık göreceksiniz gönder ” teşekkür ederim! Girilen bilgiler ” ın
tarayıcı. Ama URL’ye bak. Bir şey gibi görünüyor:
http://yourhost/input.php?first=Rick&last=Denver&nickname=Mike&email=j@xyz.com&salary=Look yakından. Şimdi bilgi gönderme yerine URL’de bir dize olarak geçirilir
doğruca. Cezadan sonra mı ? sorgu dizesi ve gördüğünüz gibi
değişkenin adı ve değerleri. PHP gibi bir sorgu dizesi aldığında ?ilk = John
otomatik olarak $first adlı bir değişken oluşturur ve sorgudan değer atar
bu dize. Yani $first=”John” ile eşdeğerdir; birden fazla değişken mevcut olduğunda,
değişkenler bir ampersand (&) ile ayrılır.
Tek tek satırları görüntüleme
Yani şimdi bizim belirli bir satırın bilgilerini gösterecektir bir komut dosyası oluşturacaktır
değişken $ ıd tarafından tanımlanan veritabanı. Aşağıdaki kodu görünüm olarak kaydedin.php. Görüntüleme deneyin
web sunucunuz aracılığıyla http://yourhost/view.php mi?ıd = 2 (burada değişkeni geçtik
$ id=2 (sorgu dizesi). Sayfa kimliği 2’ye karşılık gelen bilgileri göstermelidir
MySQL veritabanında.
< HTML>
<?php
$ db = mysql_connect (“localhost”, ” root”, “”);
mysql_select_db (“learndb”, $ db);
$ result = mysql_query (“select * from * where id=$id”, $ db);
$ myrow = mysql_fetch_array ($sonuç);
echo “ilk adı: “.[“ad $myrow”];
echo “<br>Soyadı: “.[“soyad $myrow”];
echo “<br>Nick adı: “.$ myrow[“nick”];
echo “<br>e-posta adresi: “.[“e-posta $myrow”];
echo “<br>maaş: “.$ myrow[“maaş”];
?>
< / HTML>
Burada SQL komutu değişti ve veritabanına sahip olan satırı aramasını söylüyor
değer $ ıd. Ancak birden çok satır aynı kimlik değerlerini içeremez mi? Genellikle bir sütun olabilir
aynı veya farklı herhangi bir değer içerir. Ancak veritabanımızda iki satır asla sahip olamaz
veritabanımızı oluşturduğumuzda kimliği benzersiz olarak tanımladığımız gibi aynı kimlik değeri.
Biz hemen önceki viewdb değiştirin.PHP viewdb2 için.PHP böylece görünüm çağırabilir.php
uygun sorgu dizesi ile.
< HTML>
<?php
$ db = mysql_connect (“localhost”, ” root”, “”);
mysql_select_db (“learndb”, $ db);
$ result = mysql_query (“select * from personnel”, $ db);
echo ” < TABLE BORDER=2>”;
echo”<TR><TD><B>tam adı</B><TD><B>tam adı</B><TD><B>Seçenekler</B></tr>”;
while ($myrow = mysql_fetch_array ($sonuç))
{
echo “<TR><TD>”.$ myrow [“firstname”].”” .$ myrow [“lastname”].”<TD>”.$ myrow[“nick”];
echo”<TD> < a href=\ ” görünüm.php mi?kimlik.”=$ myrow [id].”\”>Görüntüle</a > “;
}
echo “</TABLE>”;
?>
< / HTML>
Bu sayfayı görüntülemek, isimlerin ve ilgili takma adların bir listesini gösterecektir. Üçüncü bak
köprü görünümü ile sütun. Köprü üzerinde farenizi alın ve ne işaret bakmak.
Bağlantı gibi bir şey olmalıdır http://yourhost/view.php mi?ıd = 3 ve her satırdaki bağlantılar
farklı olmak. Bağlantılardan birine tıklayın. Daha önce kodlanmış görünümümüzü getirecektir.php gösteriliyor
bu kişi hakkında detaylı bilgiler. Bu nasıl elde edilir?
Bizim kod viewdb2 bir göz atalım.php. 11. hatta bak, tüm gerçek şeyler nereye gidiyor
yer. Buradaki tek yabancı şey o garip noktalar olmalıdır (. tüm çizgi etrafında. Nokta
(.) PHP’DE birleştirici bir operatördür, bu da onun üzerindeki iki dizeyi birleştirdiği anlamına gelir
iki taraf, bu da “Merhaba”yazırsak anlamına gelir.”Dünya”, çıkış aslında olacak
“HelloWorld” ol. Örnekteki gibi bir satır oluşturmak için Birleştir operatörü kullanıyoruz :
<TR> < TD>Camilla Anderson < TD>Rose < TD > < a href=”görünüm.php mi?ıd = 2 ” > görüntüle < / a>
tarayıcı için.
Satırları silme
Şimdiye kadar sadece veritabanımızda yeni bilgiler girdik ve inceledik. Nerede
bu verilerin bir kısmını, en azından işe yaramaz olanları çöpe atamazsak eğlenceli olur mu? Bizim sil.php
bunu yapacaktır. Tam olarak görünüm gibi çalışır.php. Tek fark SQL komutudur
“DELETE FROM personel WHERE ıd=$id”, söyle MySQL delete tuşuna
bu, $ıd değişkenine karşılık gelen kimliği içerir. Genellikle, SQL komutu
satır silme database_name silmek nerede
field_name = somevalue
< HTML>
<?php
$ db = mysql_connect (“localhost”, ” root”, “”);
mysql_select_db (“learndb”, $ db);
mysql_query (“ID=$ıd olan personelden sil”, $ db);
echo ” bilgileri silindi”;
?>
< / HTML>
Bir kez daha bizim önceki viewdb2 değiştirin.PHP script viewdb3 için.php bu yeni eklemek için
özellik. Eklemeler açık olmalıdır.
< HTML>
<?php
$ db = mysql_connect (“localhost”, ” root”, “”);
mysql_select_db (“learndb”, $ db);
$ result = mysql_query (“select * from personnel”, $ db);
echo ” < TABLE BORDER=2>”;
echo”<TR><TD><B>tam adı</B><TD><B>tam adı</B><TD><B>Seçenekler</B></tr>”;
while ($myrow = mysql_fetch_array ($sonuç))
{
echo “<TR><TD>”.$ myrow [“firstname”].”
“.$ myrow[“nick”];
echo”<TD> < a href=\ ” görünüm.php mi?kimlik.”=$ myrow [id].”\”>Görüntüle</a > “;
echo” < a href=\ ” delete.php mi?kimlik.”=$ myrow [id].”\”>Sil</a > “;
}
echo “</TABLE>”;
?>
< / HTML>
Delete üzerine tıklamayı deneyin ve ardından viewdb3 ile veritabanını tekrar görüntüleyin.php bunu doğrulamak için
satır gerçekten silindi. Tarayıcınızı yenilemeniz gerekebilir.
Veri düzenleme
Şimdiye kadar veritabanı içeriğini inceledik ve sildik. Ama bazen düzenlememiz gerekiyor
veritabanı içeriği. Bunun için daha önce kodlanmış girişimizi değiştireceğiz.php dosyası. Şimdi sen
değişkenleri URL ile geçirme kavramına aşina olun. Bu değiştirilmiş komut dosyası arayacağız
addedit.php:
< HTML>
<?php
ıf ($gönder)
{
$ db = mysql_connect (“localhost”, ” root”,””);
mysql_select_db (“learndb”, $ db);
Değerler (‘$ilk’, ‘$ son’, ‘$ takma’, ‘$e-posta’, ‘$ maaş’)”;
$ result = mysql_query ($sql);
echo ” teşekkür ederim! Bilgi girdi.\ve”;
}
başka eğer ($güncelleme)
{
$ db = mysql_connect (“localhost”, ” root”,””);
mysql_select_db (“learndb”, $ db);
$ sql = “UPDATE” set firstname=’ $ first’, lastname=’ $ last’, nick= ‘$nick’, email = ‘$email’,
maaş = ‘$ maaş ‘ nerede id = $id”;
$ result = mysql_query ($sql);
echo ” teşekkür ederim! Bilgi güncellendi.\ve”;
}
başka eğer ($id)
{
$ db = mysql_connect (“localhost”, ” root”, “”);
mysql_select_db (“learndb”, $ db);
$ result = mysql_query (“select * from * where id=$id”, $ db);
$ myrow = mysql_fetch_array ($sonuç);
?>
< form method= “post” action=”<?php echo $ PHP_SELF?>”>
<input type=”hidden” name=”id” value=”<?php echo $myrow [“id”]?>”>
İlk ad: < giriş türü = “metin” name= ” ilk ” value=”<?php yankı
br>
Soyadı: < giriş türü = “metin” adı= ” son ” değer=”<?php echo $myrow [“lastname”]?> “><br>
Nick Name:<input type=”Text” name=”nickname” value=”<?php echo $myrow [“nick”]?> “><br>
E-posta: < giriş türü = “metin” adı= “e-posta” değer=”<?php echo $myrow [“email”]?> “><br>
Maaş: < giriş türü = “metin” adı= “maaş” değeri=”<?php echo $myrow [“maaş”]?> “><br>
< input type= “Submit” name= “update” value= “update information” > < / form>
<?
}
başka
{
?>
< form method= “post” action=”<?php echo $ PHP_SELF?>”>
><Br>soyadı:<input type=”Text” name=”ilk”
Soyadı: < giriş türü = “metin” name= ” son ” > < br>
Nick adı:<giriş tipi=”metin” adı=”takma”><br>
E-posta: < giriş tipi = “metin” adı=”e-posta” > < br>
Maaş:<giriş tipi=”metin” adı=”maaş”><br>
< ınput type= “Submit” name= “submit” value = “bilgi girin” > < / form >
<?
}
?>
< / HTML>
Hmmm…kod oldukça karmaşık görünüyor. Ama gerçekten değil. Daha önce girdi.php iki tane vardı
özellikler: veritabanına bilgi ekleyebilir veya formu gösterebilir. İki tane daha ekleyeceğiz.
buna özellikler: aynı formu gösterme yeteneği ancak belirli bir kişinin değerleri ile zaten
orada ve o kişi için kayıtları güncelleme yeteneği. Yeni girmek için SQL komutları
mevcut bilgilerin güncellenmesi ve güncellenmesi farklıdır, bu nedenle önceki kodumuzu kullanamayız
bilgi girmek için.
Komut dosyası $ submit değişkenini arar. Bazı değer içeriyorsa, o zaman birisi
gönderilen yeni veriler ve bilgi veritabanına girilir. Eğer $ göndermezse
herhangi bir değer içeriyor, o zaman birisi güncellenmiş bilgilerini yayınlamış olabilir, bu yüzden
$update kontrol edin. Bir değer içeriyorsa, o kişinin kaydını SQL ile güncelleriz
deyim ” güncelleme personel seti
fieldname1= ‘$variablename1’, fieldname2= ‘$variablename2’……… Where id=$id”;”.
Aksi takdirde, birisi sorgu dizesindeki kimliği sağladıysa, o kişinin bilgilerini gösteririz,
ama bu sefer bir formda, böylece onu değiştirebilir. Bütün bunlar böyle değilse, sadece
eski formu göster.
Senaryo ile deneme. Ne olduğunu görmek için tarayıcınızla açın. O zaman Ara.
sorgu dizesi sağlamak ?ıd = 1. Bilgileri değiştirin ve güncelle’yi tıklatın. Doğrulayın
veritabanı viewdb3 ile veritabanını görüntüleyerek güncellenir.php.
Yeni bir unsur daha yeni tanıtıldı. Küresel PHP değişkenidir $ PHP_SELF . Bunca
değişken her zaman içinde olduğu komut dosyasının adını ve konumunu içerir. Bu kullandık
değişken bir ‘form eylem’ yani olursa olsun bu dosyayı adı, bu komut dosyası her zaman yayınlayacak
kendine bilgi.
Bir kez daha bu özelliği içeren görüntüleme komut dosyası değiştirin. İşte liste
viewdb4.php:
< HTML>
<?php
$ db = mysql_connect (“localhost”, ” root”, “”);
mysql_select_db (“learndb”, $ db);
$ result = mysql_query (“select * from personnel”, $ db);
echo ” < TABLE BORDER=2>”;
echo”<TR><TD><B>tam adı</B><TD><B>tam adı</B><TD><B>Seçenekler</B></tr>”;
while ($myrow = mysql_fetch_array ($sonuç))
{
echo “<TR><TD>”.$ myrow [“firstname”].”” .$ myrow [“lastname”].”</a> < TD>”.$ myrow[“nick”];
echo”<TD> < a href=\ ” görünüm.php mi?kimlik.”=$ myrow [id].”\”>Görüntüle</a > “;
echo” < a href=\ ” delete.php mi?kimlik.”=$ myrow [id].”\”>Sil</a > “;
echo” < a href=\ ” addedit.php mi?kimlik.”=$ myrow [id].”\”>Düzenle < / a>”;
}
echo “</TABLE>”;
?>
< / HTML>
Verilerimizi arama
Bilgi zenginliği gerektiren verileri bulamazsanız bilgi işe yaramaz. Biz
veritabanımızı aramak için bir yol gerekir, bu yüzden bir arama fonksiyonu uygulayalım. Sayfa gösterecektir
başlangıçta statik bir form ve bir şey gönderildiğinde arama sonucunu gösterecektir.
< HTML>
<?php
ıf ($searchstring)
{
$sql=”SELECT * from” nerede$searchtype gibi ‘% $ searchstring%’ firstname ASC tarafından sipariş”;
$ db = mysql_connect (“localhost”, ” root”, “”);
mysql_select_db (“learndb”, $ db);
$ result = mysql_query ($sql, $ db);
echo ” < TABLE BORDER=2>”;
echo”<TR><TD><B>tam adı</B><TD><B>tam adı</B><TD><B>Seçenekler</B></tr>”;
while ($myrow = mysql_fetch_array ($sonuç))
{
echo “<TR><TD>”.$ myrow [“firstname”].”
“.$ myrow[“nick”];
echo”<TD> < a href=\ ” görünüm.php mi?kimlik.”=$ myrow [“id”].”\”>Görüntüle</a > “;
}
echo “</TABLE>”;
}
başka
{
?>
< form method= “POST” action=”<?php $ PHP_SELF ?>”>
<table border=”2″ cellspacing=”2″>
<tr> < td>burada dize arama Ekle < / td>
<td>arama türü < /td > < / tr>
< tr>
<td><ınput type=”text” name=”searchstring” size=”28″> < /td>
< td> < select size=”1″ name=”searchtype” >
< option selected value= “firstname” > ilk ad< / option>
< option value=”lastname”>Soyadı < / option>
< option value=”nick”>Nick adı< / option>
< option value= “email” > e-posta < / option>
</select> < / td>
< / tr>
</Tablo>
< P><ınput type=”submit” value=”Submit” name=”B1″ > <ınput type=”reset” value=”Reset”
>< / p>
</form>
<?php
}
?>
< / HTML>
Komut dosyası bir arama dizesi olup olmadığını denetler. $Searchstring bir değer içeriyorsa, o zaman biz
aramak için bir şey var; aksi takdirde, sadece bir HTML Formu gösteririz. Kod parçası
aramalar bizim viewdb2 benzer.php. SQL komutu biraz açıklama hak ediyor
burada. Hadi yakından bak. SQL komutu:
“Select * from” where $searchtype LİKE ‘%$searchstring%’ ORDER BY firstname ASC”
İki haber burada tanıtıldı, “gibi”Ve” tarafından sipariş”. Sadece ‘sesler’ anlamına gelir gibi
gibi. ‘%’İşareti Olası karakter kombinasyonunu (sayı veya harf) temsil eder. Böylesine
ilk adı ‘J’ ile başlayan kişileri bulmak için SQL komutunu kullanacağız
“Select * from personnel where firstname LİKE ‘J%'”
J ile biten bir ismi olan bu insanları bulmak için ‘%J ‘ kullanmalıyız. Eğer insanları bulmak istiyorsak
adlarının herhangi bir yerinde ‘J’ ile (ilk, orta veya son) ‘%J% ‘ kullanmak zorundayız.
‘Sipariş’ sadece artan veya azalan sırayla kayıtları sipariş. Sözdizimi:
“Fieldname order_method tarafından sipariş” nerede order_method ASC veya DESC izin
sipariş artan veya azalan sırayla yapılacak.
Ortak görevler için ipuçları
Temelleri ele aldık. Buradan nereye giderseniz gidin size kalmış. Yeterli biliyorsun
şimdi bu yararlı görevlerden bazılarını uygulamak için:
* Kullanıcı veritabanı
Bir kullanıcı veritabanı uygulayabilirsiniz. Buna bir giriş özelliği ekleyebilirsiniz.
* Haberci
Her zaman en son haberleri veya belki de “ne” gösteren bir bölümü kodlayabilirsiniz
otomatik olarak oluşturulan yeni ” bölüm. Tablo gibi bir şey olabilir:
Tablo haberleri oluştur
(
ıd İNT değil NULL AUTO_INCREMENT,
başlık VARCHAR (40),
newsbody metin,
news_date tarihi,
Birincil anahtar (ıd),
Benzersiz kimliği (ıd)
);
Ve en son beş haber başlığını otomatik olarak göstermek istediğinizi varsayarsak
öğeler, kod gibi bir şey olabilir:
< HTML>
<?php
news_date DESC tarafından haber siparişinden $ sql= ” SELECT * “;
$ db = mysql_connect (“localhost”, ” root”, “”);
mysql_select_db (“newsdb”, $ db);
$ result = mysql_query ($sql, $ db);
echo “Son Haberler:<br>”;
$ i = 1;
while ($myrow = mysql_fetch_array ($sonuç))
{
echo “<
/ a> < br>”;
$i= $ i + 1;
ıf($i>5)
kırılmak;
}
?>
< / HTML>
* Ürün veritabanı
Ürünlerinizin ayrıntılı bir veritabanı oluşturabilirsiniz. Müşteriler tüm görebiliyordu
ürünler veya belirli bir ürün arayın.