MySQL'de verileri seçme, listeleme ve arama işlemleri

Dikkat: Bu yazının yazılma tarihinin üzerinden en az 60 gün geçmiş. İçerisindeki bilgiler güncelliğini yitirmiş olabilir. Yorumları ve güncellemeleri göz önünde bulundurarak yazıyı takip ediniz.

Giriş

PHP'de MySQL'i nasıl kullanacağımızı daha önce görmüştük. Bu dökümanda mysql'de verileri nasıl çekip, listeleyip bu verileri iyi biçimde süzgeçleme, üzerinde arama yapma ve oluşan çıktıları nasıl işleyeceğimizden bahsedeceğim. Bu dökümanda da diğer dökümanda kullandığım örnek tabloyu kullanacağım. Hatırlatmak gerekirse "tablo" adında ve kullanici, kayit_tarihi, eposta, ziyaret_sayisi alanlarından oluşuyordu.

Öncelikle mysql bağlantımızı oluşturup tablomuzu seçelim. Bildiğimizi varsayıp geçiyorum bu kısmı..
Veri seçmek için genel bir kalıp vardır. SELECT <alan adı belirteci> FROM `tablo adı` Bu sorguda ilk kısımda seçimden sonra dönecek olan alan adlarını belirtmemiz gerekir. Alan adlarını teker teker de belirtebilir, * ifadesi ile hepsini de ifade edebiliriz.
Daha önce testlerini de yaptığım bir sonuç vardır ki genellikle söylenen birşeydir, MySQL'de ihtiyacımız olan şeyleri kullanarak daha hızlı işletilen sorgular yazabiliriz. Mantıksal olarak da doğru birşeydir. Diyelim ki 25 alanlık ve bunlardan 10 tanesi TEXT türünde olan, üzerinde 100.000 kayıt bulunan bir tablonuz var veya yazdığınız sistem ilerde bu derece büyüyebilecek bir potansiyele sahip, böyle bir durumda sadece 1-2 alana ihtiyaç varken * ile tüm alanları seçmeye çalışmak arasında gözle görülür hız farkı yaşanacaktır. Tüm alanları seçerek bütün bilgilerin tekrar okunmasını istemiş oluruz, örnek verdiğim tablo gibi orta büyüklükte tablolardaki işlemlerde bile performans düşüşü kaçınılmazdır. Onun için sadece kullanacağımız alanları belirtmekte fayda var.
Birinci kısımdan sonra FROM ile veri çekilecek tabloyu belirtiyoruz. Bu kullanımda bütün satırlar seçilecek ve dönülecektir. WHERE kalıbını kullanarak istediğimiz, koşullarımıza uyan kayıtları seçebiliriz.

LIMIT X,Y kalıbı ile sonuçları parçalayabiliriz. LIMIT kalıbı sorgularda en sonda kullanılır. Bu kalıpta önce (X ile ifade edilen) hangi kayıttan başlanacağı, virgül ve sonra da (Y ile ifade edilen) kaç kayıdın sorgudan etkileneceğini belirtiriz. İşlem olarak her işlemde kullanılabilir ancak genellikle kayıt listelerken kullanırız. Sonuç olarak oluşan örnek bir listeleme sorgusu şöyle olabilir :
SELECT kullanici, kayit_tarihi, ziyaret_sayisi FROM `tablo` WHERE ziyaret_sayisi > 0 LIMIT 0,5
Bu sorguda tablo tablosundan, kullanici, kayit_tarihi ve ziyaret_sayisi alanlarını seçiyoruz. Koşul olarak da ziyaret_sayisi 0'dan büyük olan kayıtları belirtiyoruz. Sonuç kümemiz ise bu listede oluşacak ilk 5 kayıdı tutuyor.

Kayıtları seçtik ama sıralı değil?

Evet kayıtlar bilgisayarın kontrol sırasına göre çekildi, belirli kriterlere göre bu kayırları sıralayarak çekmek isteyebiliriz. Örnek vermek gerekirse, önceki sorguda ziyaret sayısı 0'dan büyük kullanıcıları çekiyorduk ama sonuç olarak dönen kümede en çok ziyaret eden kullanıcı olmayabilir, bu sorguyu geliştirip ziyaret sayısına göre sıralatalım. Sıralama işlemi için de bir kalıp kullanıyoruz, Kullanımı, ORDER BY <alan adı> <ASC/DESC>. alan adı olarak tek alan adı belirtiyoruz, ondan sonra gelen kısımda ise ASC artan sırada, DESC, azalan sırada sıralamayı belirliyoruz. Bir sorguda birden fazla sıralama koşulu bulunmaz, ayrıca bu sıralama kalıbı, koşullardan sonra, LIMIT kalıbından önce yazılır. Sonuç olarak yukarıdakine göre geliştirdiğimiz sorgumuz şu şekilde olacaktır :
SELECT kullanici, kayit_tarihi, ziyaret_sayisi FROM `tablo`
WHERE ziyaret_sayisi>0 ORDER BY ziyaret_sayisi DESC LIMIT 0,5
Böylece en çok ziyaret eden 5 kişiyi görmüş olduk.

Bu dökümanda verileri sayfa sayfa listelere parçalamadan bahsetmiyorum çünkü bu işlem sadece mysql ile yapılmıyor, daha önce yazdığım bir dökümanda bu konuda ayrıntılı hesaplamaları ve mysql listeleme işlemleri için nasıl yapıldığına değinmiştim.
Verileri sayfa sayfa listeletmekle ilgili dökümana erişmek için tıklayın!

Verileri göstermek için işlemek

PHP'de mysql işlemlerini mysql fonksiyonları ile yapıyorduk, sorgularımızı mysql_query fonksiyonu ile işletiyorduk Ancak bu fonksiyonu bir değişkene atama şeklinde kullanıyoruz. Örneğin :
$sonuc = mysql_query("...");
Şeklindeki kullanımda, sorgudan çıkan sonuç kümesini $sorgu değişkeninde saklıyoruz. Bu sonuç kaynağını başka mysql fonksiyonlarına sokarak bazı şeyler elde edeceğiz :
Sonuç kümesindeki kayıt sayısını mysql_num_rows() fonksiyonu ile öğrnebiliriz. mysql_fetch_assoc() ve mysql_fetch_array() fonkyisonları ile de sıradaki sonucu dizi şeklinde alabiliriz. Genel kullanım ile bir sorgunun çıktısını elde etmek için şu yöntem kullanılır :
// sql cümlesini olusturalim
$sql = "SELECT kullanici, ziyaret_sayisi FROM tablo ORDER BY ziyaret_sayisi DESC LIMIT 0,10";

// isletelim
$sonuc = mysql_query($sql) or die("HATA : " . mysql_error());

// cikan sonuc kumesi bos degilse
if( mysql_num_rows($sonuc) > 0 ){
  // sonuc kumesini donelim
  while( $satir = mysql_fetch_assoc($sonuc) ){
    // bilgileri yazdiralim
    print('kullanici = ' . $satir["kullanici"] . ', ');
    print('ziyaret_sayisi = ' . $satir["ziyaret_sayisi"] . '<br><br>');
  }
}
Burada sorgu cümlemizi önce $sql değişkenine atıyoruz. Bazen öyle bir gelişmiş sql yazmamız gerekiyor ki bu cümleyi döngülerle, eklemeli olarak uzun işlem ve kontrollere göre hazırlayabiliyoruz. PHP ile MySQL birlikte kullanıldığında gerçekten çok güçlü olabiliyor. $sql değişkenindeki string'i mysql_query() fonksiyonu ile işletip $sonuc değişkenine atıyoruz sonuç kümesini. Ardından mysql_num_rows() fonksiyonu ile sonuç kümesinin boş olup olmadığını kontrol ediyoruz. Eğer tablo boş olsaydı sonuç kümemiz boş dönecekti, bu kontrol'e else ekleyip "Gösterilecek kayıt bulunamadı" gibi bir çıktı verdirmemiz de mümkün. Eğer sonuç kümesi boş değilse while ile satır satır bilgileri alıyoruz mysql_fetch_assoc fonksiyonu sayesinde. Burada atama işlemi yapıldığı için sonuç kümesindeki kayıtların hepsi bittiği zaman atama işlemi hep false değeri dönecektir. Bu yüzden while ile bu şekildeki kullanım oldukça sağlıklıdır. $satir değişkenine sorguda belirttiğimiz sıralamaya göre çıkan sonuç kümesinden sırayla kayıtlar çekilmektedir. Bu atama işleminde $satir değişkenine hangi alanları seçmişsek o alanları anahtar olarak tutan bir dizi atanır. Kullanırken de anahtar kelimelerle kolayca kullanabiliriz. Çıktıda istediğimiz şekilde bir html çıktısı oluşturabiliriz. Burada basit html çıktısı verdirdim, geliştirilerek tablo şeklinde de çıktı verdirilebilir. Çıktıların işlenişi genellikle bu şekildedir. Fazla denetimlerle ve html çıktısını iyi ayarlayarak daha opsiyonel sonuçlar elde edebilirsiniz.

Listeleme ve gösterme sistemlerinin basit mantığı

Aslında hiçbir farkı yoktur az önce yaptığımız işlemden, listelerken sadece kayıt numaraları, başlıkları ve gerekli alt bilgileri (okunma sayıları vs vs) çekiliyor. Listede link olarak bir sayfaya kayıt numaraları gönderiliyor. siz o başlığa tıkladığınızda ise o sayfaya gitmiş oluyorsunuz. Sayfa da da yapılan şey o kayıt no'ya ait kayıdı seçmek, bütün bilgileri çeker ve başlık, okunma sayısı gibi ayrıtıları verdikten sonra sistemle ilgili asıl işi yapan kodlar çalıştırılır. Yani döküman ise dökümanın içeriğini basar, forum ise forumda yazılanları işler.. Bu tarz sistemler basitlikten gelerek geliştirilir. Zaten herşey de öyle değil midir? :-)

Basit olarak seçme/listeleme işlemlerinde benzerliği kullanmak ve birşeyler aramak

Bu işlemlerde WHERE kalıbının bir özelliği olan LIKE'ı kullanacağız. WHERE'da belirttiğimiz koşullarda basit operatörleri kulanarak büyük, küçük, eşit, eşit değil koşullarını tanımlayabiliyorduk.. LIKE ile bir değere benzerliği de aratabiliyoruz. LIKE basit olarak 2 joker karakterden oluşur _ (alt çizgi karakteri) ile tek bir karakteri % (yüzde karakteri) ile bir ve birden çok karakteri ifade edebilirsiniz.

Mesela kullanıcılardan a harfi ile başlayanları seçmek istiyorsak ;
SELECT kullanici, kayit_tarihi FROM tablo WHERE kullanici LIKE 'a%' ORDER BY kayit_tarihi
Farklı şekilde; sadece Ocak 2005'de kayıt olmuş kullanıcıları görmek için ;
SELECT kullanici, kayit_tarihi FROM tablo WHERE kayit_tarihi LIKE '2005-01%'
Siteyi 10-20 arasında ziyaret etmiş olan kullanıcılları görmek için de ;
SELECT kullanici, ziyaret_sayisi FROM tablo WHERE ziyaret_sayisi LIKE '1_'
sorguları örnek olarak verilebilir...

MySQL'in kendi dökümantasyonunu veya mysqlferaks'daki gibi bir dökümantasyonu uygulama yaparak öğrenip sonra bu altyapıyı kullanmanızı öneririm. Çünkü güçlü bir sql ve güçlü bir php işlemesi ile çok hızlı ve çok sağlam veritabanları yönetebilirsiniz. Bu konuda her zaman hayret ettiğim bir site vardır. Spymac.com bu sitedeki online kullanıcı sayısı ve yaptıkları işlemleri düşünürsek oldukça sağlam bir altyapı gerekiyor, ki bu altyapının da php ve mysql ile kurulduğunu görünce mysql ve php'nin yapabilecekleri karşısında hayret etmeden duramıyorsunuz.

Bol sorgulu kodlar.. :-)


Hazırlayan : Mehmet Fatih YILDIZ

Yorumlar

Üye Resmi ahmet
29 Ocak Salı ´08 06:38
teşekkurler   :-)
Üye Resmi Ercüment
27 Eylül Cumartesi ´08 20:18
Emeğinize sağlık anlatımız çok güzel herkesin anlayabileceği gibi tebrikler
4 Kasım Salı ´08 17:18
yoruma bile gerek yok.birde şu fonksiyonlardaki linkler yokmu müthiş valla.sagolun
Üye Resmi çirkin kral
30 Kasım Pazar ´08 18:13
meraba bisorum war :S inş erken cevap alırım

dielim ki
yaş,sehir,ülke, olarak aramak istedigimiz bi sorgu war

ben select * from uyeler where yas between  '$_POST[yas]' AND '$_POST[yas2]'");  

yası böyle alıyorum fakat
ülke ve şehirleri de nası kriterlere göre listeleyecegim :S

teşekkürler
30 Kasım Pazar ´08 21:46
"SELECT * FROM uyeler WHERE ulke='$_POST['ulke'] AND sehir='$_POST['sehir'] AND yas BETWEEEN '$_POST['yas'] AND '$_POST['yas2']"

bunu bir denesen?
30 Kasım Pazar ´08 21:47
Pardon, tırnakları kapatmayı unutmuşum...

"SELECT * FROM uyeler WHERE ulke='$_POST['ulke']' AND sehir='$_POST['sehir']' AND yas BETWEEEN '$_POST['yas']' AND '$_POST['yas2']'"
Üye Resmi çirkin kral
1 Aralık Pazartesi ´08 00:31
eywallah sagolasın   :-D
Üye Resmi ARTI
15 Aralık Pazartesi ´08 11:14
Eline koluna sağlık hakkaten çok açık ve anlaşılır bir şekilde hazırlanmış döküman olduğu anlaşılıyor. Teşekkürler.
Üye Resmi Şahin
1 Temmuz Çarşamba ´09 19:08
diyelimki: ay ve tip   adında 2 tane listboxım var aynı sayfa içerisinde arama yaptırcam ve aşağıda listeleteceğim.

listboxın içinde,

ay : seçiniz  ocak, şubat, mart ...
tip : seçiniz  yakıt, ofis, aidat .... içerikleri mevcut.

mesela sadece \"ay\" adlı listboxtan haziranı seçip listele butonuda bastığımda tip bölümü seçiniz olarak kalsa dahi haziran kelimesi geçenleri nasıl listelebilirim yada ay ve tipi seçtiğimde seçilene göre filtreleyip nasıl listeletirim.Yapmak istediğim detaylı arama. kişi 3 listboxtan 2sini seçip ini boş bırakırsa ona göre, 3ünü seçerse ona 3üne göre listeyecek yani.

select * from hesap_tablo WHERE hayi,htip LIKE \'haziran%\' ORDER BY id
Üye Resmi movie search
23 Temmuz Perşembe ´09 02:40
yazı gayet güzel fakat tüm listeyi değide tek satırkaydı nasıl getireceğiz?
Üye Resmi Tolga Saygı
10 Şubat Çarşamba ´10 06:24
bunun çakmasının çakması sırf teoride  20 30 ders geçktikten sonra iyiki bunu buldum elinize sağlık 3 saatimi boşa geçirdiğimemi yanayım böyle önemli form döküm işlemlerini insanların boş vermesine mi :S
Üye Resmi Yahya SÖNMEZ
15 Mayıs Cumartesi ´10 11:55
paylaşımınız için teşekkürler.
arkdaşlardan ve sizlerden bir ricam olacak
/BİLGİ*/
haber id = HaberID
haber içeriği = HaberIcerik
sınıf adı =websitem
tüm haberlerin listesi = function haberlist
tıklanma olayından sonra çalışması gereken = function Islem
/
SINIFIMIZ/
class websitem{
    function haberlist() {
    //haberlerin listesi
    <a class=\"hab\" href=\"BURASI??????\">" . substr ( $haberimiz [HaberIcerik], 0, 280 ) . "</a>
    return;
}
//alttaki kısım çalışıyor
function Islem($HaberID) {
global $Veritabani;
$Veritabani->Sorgu ( "Select * from haberler where HaberID=$HaberID" );
$Islemler = $Veritabani->SonucCek ();
echo "$Islemler[HaberBaslik]";
return ;
}
}
$deneme= new websitem();
/***/
size sorum listelettiğim habere tıkladığımda alttaki fonksiyona geçip (oradan gelen HaberID ye göre işlem yapılıyor) buradan devam edebilmek.
Üye Resmi Burak
28 Aralık Salı ´10 11:11
Arkadaşlar ßende Php Okuyorum ve Acemisiiyim ßana Lazım oLan Şifre Güncelleme ! Şifreyi Güncelliyor Fakat Kullanıcı Adını Girerek Yaptıyorum ve Bu Kullanıcı Adını VeriTabanında Sorgulatmam Lazım ! Veri Tabanında Sorgulama Yapıp Kullanıcı Yoksa Böyle Bir Kullanıcı Yoktur Diyecek ve Bi Başka Konuda Aynı Kullanıcı Adı Varsa Kayıt Yapmyacak Bu Sorgular Çok Çok Acil Lazım !
Üye Resmi murat sayan
7 Temmuz Pazartesi ´14 14:50
veritabanına kayıtlı üyenin kullanıcı adı ve şifresini giriş yapıp id den değil ..kullanıcı adı girerekten kullanıcıadına kayıtlı profil resmi yenisi ile nasıl değişebilirim .yardımcı olabilirmisiniz en azından mantığını söylerseniz kendim düzenlerim inş.
Üye Resmi murat sayan
8 Temmuz Salı ´14 07:04
Arkadaşlar ßende Php Okuyorum ve Acemisiiyim ßana Lazım oLan Şifre Güncelleme ! Şifreyi Güncelliyor Fakat Kullanıcı Adını Girerek Yaptıyorum ve Bu Kullanıcı Adını VeriTabanında Sorgulatmam Lazım ! Veri Tabanında Sorgulama Yapıp Kullanıcı Yoksa Böyle Bir Kullanıcı Yoktur Diyecek ve Bi Başka Konuda Aynı Kullanıcı Adı Varsa Kayıt Yapmyacak Bu Sorgular Çok Çok Acil Lazım !
evet Burak arkadaşım işte senin ihtiyacın olan kodlama:

$sorgu=mysql_query("SELECT * FROM uyeler WHERE kullanici='$kullanici_adi'");
$sayi=mysql_num_rows($sorgu);
if
($sayi!=0)
{

echo '
<script type="text/javascript">
alert
(" Bu Kullanıcı Adı Kullanılmaktadır!");</script>';  
 echo '
<meta http-equiv="refresh" content="0;URL=yenikayit.php">';
 }
else
Üye Resmi Fatih
19 Aralık Cuma ´14 17:29
Paylaşım için teşekkürler çok faydalı olmuş.
Üye Resmi muharrem esin
23 Aralık Salı ´14 07:25
Merhaba arkadaşlar bende yeni öğreniyorum kullanıcı kayıtlı girişi yaptıktan sonra yanlız onun siparişleri listelensin istiyorum bu konuda bana yardımcı olabilirmisiniz? Elimde 2 adet tablom var siparişler ve kullanıcılar adında.
Üye Resmi cem
8 Kasım Pazar ´15 04:33
merhabalar arkadaslar gunlerdir yapamadigim bir sorunu sizlerle paylasmak istiyorum.
benim bir sitem var ve siteye kayitli olan br kisi siteye ilan verdi diyelim ve siteye verilen ilani   ben ilan verenin kac ilan verdigini ona rakam olarak gostermek istiyorum. yani toplam  ornek diyeleim  
verilen ilan 1    diye yazdirmak istiyorum tabi her ilan verdiginde bu rakamlar artacak ilan durumuna gore,,  php bilgim fazla degim girilienilani rakam ile gostermek istiyorum. yardim icin cok tesekurler...
Üye Resmi cem
8 Kasım Pazar ´15 12:36
<?
function onay_kontrol($table,$where)
{
global $mysqli;
return $mysqli->query("select * from ".$table." ".$where)->num_rows;
}
?>


<div>Toplam İlan</div>
<div><?=onay_kontrol("firmalar","where onay='1'");?></div>
<span class="notification"><?=onay_kontrol("firmalar","where onay='0'");?></span>

arkadaslar  kodlar burda  simdi siteye ilan veren kisinin ilani onaylanmadan yayinlanmiyor  
bu kod  ilan verildikten sonra onay bekliyor diye  ( admin panelde  onay bekleyen ilan diye yaziyor)

benim istedigim ilan veren kisinin toplam ilani rakam ile uyenin panelinde gostermek istiyorm
kod,da gordugunuz gibi toplam ilan diye bir yazi var  bu toplam ilan tum uyelerin verdigi ilanlari gosteriyor
ben ise her uyenin verdigi ilani ayri ayri rakam  ile gostermek istiyorum.  lutfen yardim  cok cok tesekurler...
Üye Resmi oner
16 Mayıs Pazartesi ´16 09:42
bana kafayı yedirtiyor yardımcı olabilen varmı sebebini bir türlü anlayamadım
______________________________________________________

<?php

if ($_POST){
    $ara=$_POST["ara"];
$sorgu=mysql_query("select * from duraklar where ogrenci like '%$ara%' OR ogrenci_adi like '%$ara%' OR ogrenci_soyadi like '%$ara%'");


if (empty($ara)){
echo "Arama alanını boş bıraktın";
}else{

if (mysql_num_rows($sorgu)>0){
echo "Arama ";
while($kayit=mysql_fetch_array($sorgu)){
 $link=$kayit["link"];

  echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>";


echo "<td width='150' height='30' align='left' align='center'><font size='4'><a href='$link' target='_blank'>",$kayit["ogrenci_adi"],"</font></a></td>";

echo "<td width='150' height='30' align='right'><font size='4'><a href='$link' target='_blank'>",$kayit["ogrenci_soyadi"],"</font></a></td>";

echo "</tr>";
echo "</table>";


  
}
}else{
echo 'Eşleşen Kayıt Yok.';
}
}
}
______________________________________________________________________________


çıktısında

Eşleşen Kayıt Yok. diyor bu nasıl olur anlamadım gitti.Böyle bişey yokkkk....
Üye Resmi oner
16 Mayıs Pazartesi ´16 09:44
ÖNCEKİ MESAJ YANLIŞ GÖNDERDİM bana kafayı yedirtiyor yardımcı olabilen varmı sebebini bir türlü anlayamadım
<?php
 
if ($_POST){
    $ara=$_POST["ara"];
$sorgu=mysql_query("select * from duraklar where durak_adi like '%$ara%' OR ilce like '%$ara%' OR durak_tel like '%$ara%'");


if (empty($ara)){
echo "Arama alanını boş bıraktın";
}else{

if (mysql_num_rows($sorgu)>0){
echo "Arama ";
while($kayit=mysql_fetch_array($sorgu)){
 $link=$kayit["link"];

  echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>";


echo "<td width='150' height='30' align='left' align='center'><font size='4'><a href='$link' target='_blank'>",$kayit["durak_adi"],"</font></a></td>";

echo "<td width='150' height='30' align='right'><font size='4'><a href='$link' target='_blank'>",$kayit["ilce"],"</font></a></td>";
echo "<td width='150' height='30' align='right'><font size='4'><a href='$link' target='_blank'>",$kayit["durak_tel"],"</font></a></td>";
echo "</tr>";
echo "<tr>";

echo "<td height='10' align='left' colspan='3'>".$kayit["adres"]."</td>";
echo "<br/>";

echo "</tr>";
echo "</table>";


  
}
}else{
echo 'Eşleşen Kayıt Yok.';
}
}
}
?>
çıktısında

Eşleşen Kayıt Yok. diyor bu nasıl olur anlamadım gitti.Böyle bişey yokkkk....
Üye Resmi Sarp Gürsoy
21 Haziran Salı ´16 08:25
benim query'mde aylar Ocaktan Aralığa sıralı gelmiyor. A'dan Z'ye veya Z'den A'ya demekle de olmuyor zaten. Exceldeki gibi özel sıralama yapmanın imkanı yokmu bu mysql'de? Teşekkürler.
Üye Resmi Tolgahan sarp
7 Eylül Çarşamba ´16 15:54
PHP de veritabanından çektiğimiz verileri link olarak listeleme nasıl yapılır. detayli form ile arama yapıp , formdaki arama kriterlerime Gore bulunan ürünlerin sonuç sayfasına link olarak geçmesini ve linke tıklandığında ürünün ozelliklerinin tablo halinde bir sayfada açılmasını istiyorum bunu nasıl yapabilirim?
Üye Resmi YAŞAR EROĞLU
13 Eylül Salı ´16 01:52
Merhabalar,
Benim bir sorum olacak. Üzerinde çalıştığım bir script te  hizmetlerimiz diye bir kısım var

<?php $Sorgu = Sorgu("SELECT * FROM hizmetler WHERE durum = 1 ORDER BY id DESC");
while($Sonuc = Sonuc($Sorgu)){?>
şeklinde bunları sıralıyorum.
<?php echo $Sonuc->adi;?>
<?php echo $Sonuc->aciklama;?> listeliyorum. Ana sayfa da istediğim bu hizmetlerimizin her birinin sadece mesela A hizmeti detayı toplam bin karakterden oluşuyor ama ben sadece ana sayfada bunun ilk 100 karakterlik kısmını göstermek ve devamı şeklinde bir link ile A hizmet sayfasına gitmek istiyorum. Buna limit nasıl koyarız yada açıklama kısmını ana sayfada nasıl kısaltırız.
Üye Resmi gunay
10 Ocak Salı ´17 02:41
arkadaşlar bu hatayı alıyorum nedendir neyin hatası acaba bir turlu cıkaramadım


Uyarı: on line \ wamp \ www \ uyelik \ çekirdek \ Fonksiyonlar \ kullanicilar.php: mysql_result () parametre 1 C verilen kaynak, boolean olmasını beklediğini 5
Üye Resmi gunay
10 Ocak Salı ´17 02:44
YAZDIĞIM KODDA BU BU KOD HATA VERİYOR TŞK
<?php
function kullanici_var($kullanici_adi){
$query = mysql_query("SELECT COUNT(`kullanici_id`) FROM `uyellik` WHERE `kullanici_adi` = '$kullanici_adi'");

return (mysql_result($query, 0) == 1) ? true : false;
Yeni Yorum *
İletişim Bilgileri
*
*
E-Posta adresiniz gösterilmeyecektir.
(unut)
Güvenlik Kodu *

Gönderiliyor