İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

mysqldan veri çekme

hakimi

0
İyinet Üyesi
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaction score
0
Arkadaşlar konu başlıklarını sıralattık ancak bunları link şeklinde yapıp tıklanınca ana konu açılacak şekilde PHP+mysql çalışmasını nasıl yapabilirim.
 

sempaty

1
İyinet Üyesi
Katılım
25 Şubat 2005
Mesajlar
3,824
Reaction score
19
Konum
hawaii. ama sanal tur.
biraz daha açarsan?

şimdi tıklattın da mesela konu.php?id=4564 gibi bi link verip de mi açılmasını istiyorsun

öyle diyorsan

PHP:
<?php 
$id = $_GET['id'];
$sorgula = "SELECT id,metin,baslik FROM konular WHERE id=$id"; 
$result = mysql_query($sorgula);

 while($row = mysql_fetch_array($result)) { 
 echo $row['metin'];
 } 
?>
en basit yöntemle..
 

hakimi

0
İyinet Üyesi
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaction score
0
anladım a href= metin yapacaz yani. teşekkürler. bende farklı bir yol izledim. tümden gelim. :) ancak şimdidede mesela 5 erli listeleme yapmak istiyom. 100 tane kayıt var diyelim. alttada 123456 diye kaçsayfa ise numara olsun istiyom. bunu nasıl yapabilirim.
 

hakimi

0
İyinet Üyesi
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaction score
0
ya yapmaya çalıştığım. kendi başıma bir oyun hileleri scripti yazmak istiyorum. keni kullanımım için. yani oyun adları listelenecek (tamam) tıklayınca açıklama açılacak ( tamam) ancak tüm hepsi bir sayfada değilde. harf sırasına göre olsun istiyorum. ABCDE (C ye tıklayınca C açılsın v.b. :) Fazla istiyorum dimi :)
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Mantiksal yolu

- A harfine girince, A harfiyle baslayan butun verilerin sayisini bul (Ornek: 122)
- Sayiyi 5'e (sayfa basi listelenecek rakam) bol, integer degerini al, bir ekle
(Ornek: 25)
- 1'den 25'e kadar dolanim linki olusturacak sekilde dondur. Her bir baslama degeri (sayfa numarasi - 1) * 5
(ornek: ?harf=A&basla=0 , ?harf=A&basla=5 , ?harf=A&basla=10 ... ?harf=A&basla=120)

- Eger basla girdi degeri 0 ise veya set edilmemisse
-- 0 numarali maddeden baslayarak (limit 5) 5 adet veriyi cek, goster
- Degilse
-- basla girdi degeri ile belirtilen maddeden baslayarak (limit 5) 5 adet veriyi cek, goster


Ornek sorgu:
SELECT * FROM maddeler WHERE id >= '$_GET[basla]' LIMIT 5
 

sempaty

1
İyinet Üyesi
Katılım
25 Şubat 2005
Mesajlar
3,824
Reaction score
19
Konum
hawaii. ama sanal tur.
harf olayını şöyle yapabilirsin..

PHP:
$harf=$_GET['harf'];
$sorgula = "SELECT id,baslik FROM konular WHERE baslik LIKE '".$harf."%'";

bunda mesela konular.php?harf=a dersen a harfi ile başlayanları listeletebilirsin..
 

hakimi

0
İyinet Üyesi
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaction score
0
hata nerede acaba. sonuçları tablo içinde ver diyorum. sonuç sayısı kadar tablo veriyor ama içleri boş :(
<?

include("config.php");



$name=$_POST['name'];
$message=$_POST['message'];
$time=date("h:ia d/j/y");

mysql_connect($host,$username,$password);

mysql_select_db($database);

?>
<html>

<head>
<title>Gilnet News - www.gilnet.co.uk</title>
<style type="text/css">
<!--
.style2 {
font-size: xx-small;
color: #999999;
}
-->
</style>
</head>

<body>

<?
$harf=$_GET['harf'];

$result = mysql_query("SELECT id,name FROM konular WHERE name LIKE '".$harf."%'");


while($r=mysql_fetch_array($result))
{
$time=$r["time"];
$id=$r["id"];
$name=$r["name"];
$message=$r["message"];
?>
<div align="center">
<table border="1" style="border-collapse: collapse" width="51%" cellpadding="0" bordercolor="#C0C0C0" height="75">
<tr>
<td width="140" bgcolor="#EEEEEE" valign="top"><p align="center"><br>
<? echo "<a href=\"read_more.php?id=$r[id]\">$message</a>"; ?> </td>
</tr>
</table>
</div>
<p>
<? }
mysql_close();
?>

</body>

</html>
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Sayi duzgun cikiyorsa, rowlar cekiliyor ama veri girilmiyor demektir, $message ( yani $r['message'] ) olarak belirttigin alan database'de dolu mu ? Bir de PHP'ye gir cik yapma (<?PHP ?>), duz html'yi echo ile yollayabilirsin, gerek yok cikmana.
 

sempaty

1
İyinet Üyesi
Katılım
25 Şubat 2005
Mesajlar
3,824
Reaction score
19
Konum
hawaii. ama sanal tur.
muhtemelen $name yazıyordur diğerleri yazmıyordur..

SELECT id,name FROM konular ....

sorgusunu kendine göre düzenlemen gerek. örneğin $message bölümü alınmıyor sorguda. veya satırdaki tüm bilgiler işine yarayacaksa direk
SELECT * FROM
kullanabilirsin..
 

hakimi

0
İyinet Üyesi
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaction score
0
direk select* FORM kullandımmı hepsi gidiyor
yani şu şekilde.
$harf=$_GET['harf'];

$result = mysql_query("SELECT FROM news WHERE name LIKE '".$harf."%'");
 

sempaty

1
İyinet Üyesi
Katılım
25 Şubat 2005
Mesajlar
3,824
Reaction score
19
Konum
hawaii. ama sanal tur.
select ten sonra * koyman gerekiyor

$result = mysql_query("SELECT * FROM news WHERE name LIKE '".$harf."%'");

bu deyim, news tablosunda name kısmında $harf ile başlayan satırların tüm bilgilerini al demek..

şunu deneyebilir misin?

PHP:
// mysql bağlantısını yapmalısın tabi :)
 
$harf=$_GET['harf'];
$result = mysql_query("SELECT * FROM news WHERE name LIKE '".$harf."%'");

while($r = mysql_fetch_array($result)) {
echo "<a href=\"read_more.php?id=".$r['id']."\">".$r['message']."</a>";
}

yalnız tablo yapısını tam olarak bilmen gerek. yani message sütunu var mı da çekmeye çalışıyoruz mesela?
 

hakimi

0
İyinet Üyesi
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaction score
0
evet tüm sütünlar var. veri tabanında id, name ,message, time, full
bölümleri var. şu an bilgileri çekiyor. ancak harf sırasına koymuyor.
 

hakimi

0
İyinet Üyesi
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaction score
0
hayır hepsi kayboluyor. ya arkadaşlar sizide yoruyorum ama. :(
 

hakimi

0
İyinet Üyesi
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaction score
0
ya pardon çalışıyormuş. Biz a harfini denediğimiz için çıkmıyormuş. ben bir deneyeyim dedim. ve t yi kullandım çıkıyor. Ancak 2. üçüncü sırada t olanlarda çıkıyor. yani a geçen kayıt yokmuş :)
 

hakimi

0
İyinet Üyesi
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaction score
0
şimdide türkçe karakter sorunu yaşıyorum. veri tabanı oluşturacam ama türkçe karakterler çıkmıyor (bozuk çıkıyor).
Çözüldü. Yardım eden arkadaşlara teşekkürler...
 

sempaty

1
İyinet Üyesi
Katılım
25 Şubat 2005
Mesajlar
3,824
Reaction score
19
Konum
hawaii. ama sanal tur.
ilk seçenek dosyanın meta tagındaki iso-8859-9 mu kullanıyosun
ikincisi mysql select_db den sonra
mysql_query("SET NAMES 'latin5'");
kullanmış mısın
 

hakimi

0
İyinet Üyesi
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaction score
0
echo htmlentities karakterleri türkçe vermiyor. türkçe ye geçirdim. veritabanındakini de türkçeye geçirdim hala vermiyor. name türkçe ama full satırı türkçe vermiyor.
 

hakimi

0
İyinet Üyesi
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaction score
0
Hayvanlar bir ?s?r??ta öldürür. steroids : H?zl? in?a
şimdide. (latin 5) ı ve ş ler ? olarak çıkıyor.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
PHPmyadmin'den gir. O bozuk yerlerden birine bak o karakterin yerine ne cikiyor diye daha sonra SQL sorgusu calistir

UPDATE tablo_adi SET bozuk_field_adi = REPLACE(bozuk_field_adi,'bozuk karakter','dogru karakter');
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst