Arama butonu
Bu konudaki kullanıcılar: 2 misafir, 1 mobil kullanıcı
41
Cevap
624
Tıklama
0
Öne Çıkarma
Sql sorularım
A
19 yıl
Yarbay
Konu Sahibi

Arkadaşlar şu forumu son günlerdir rahatsız ediyorum ama kusura bakmayın.Ayrıca cevap yazan herkese teşekkürler

ilk sorum şu

şimdi no diye bir bölüm var tablonun içinde.NO nun en büyük değerini nasıl öğrenirim

SELECT NO FROM tablo adı WHERE MAX(NO) GİBİ BİRşey mi yazmalıyız?



H
19 yıl
Çavuş

select max(no) enbuyuk from tablo


bunu yazınca artık no olarak değil enbuyuk olarak kullanıyosun.


Bu mesaja 1 cevap geldi.
A
19 yıl
Yarbay
Konu Sahibi

quote:

Orjinalden alıntı: hakki0548

select max(no) enbuyuk from tablo


bunu yazınca artık no olarak değil enbuyuk olarak kullanıyosun.

Valla anlamadım kusura bakmayın. Pek bir bilgim yok sql konsunda

ama

SELECT MAX(NO) FROM tabloadı yazınca oluyor sanırsam


Bu mesaja 1 cevap geldi.
H
19 yıl
Çavuş

oluyor zaten. ama php ile örnek vereyim. sorguyu yaptıktan sonra sorgu sonucunu kullanmak için $row[0]["no"] gibi bir değişken kullanman gerekiyo. ama en büyüğü bulunca o en büyük değere bir isim veriyosun ve $row[0]["enbuyuk"] olarak kullanıyosun. ama o şekilde yapmadan da işini gördüyse sorun yok. daha ileri seviyede işlemler yapmak için yeni isim veriliyor zaten


Bu mesaja 1 cevap geldi.
A
19 yıl
Yarbay
Konu Sahibi

quote:

Orjinalden alıntı: hakki0548

oluyor zaten. ama php ile örnek vereyim. sorguyu yaptıktan sonra sorgu sonucunu kullanmak için $row[0]["no"] gibi bir değişken kullanman gerekiyo. ama en büyüğü bulunca o en büyük değere bir isim veriyosun ve $row[0]["enbuyuk"] olarak kullanıyosun. ama o şekilde yapmadan da işini gördüyse sorun yok. daha ileri seviyede işlemler yapmak için yeni isim veriliyor zaten

Bunu anlamadım valla.Sorguyu yapıyorum ama sonucu mysql_fetch_array kalıbıyla alamıyorum sanırım bunu kullanmalıyım ama anlamadım maalsesf


Bu mesaja 1 cevap geldi.
H
19 yıl
Çavuş

şöyle anlatayım:

sen select no from tablo dersen tablodan "no" alanını seçmiş oluyorsun. ve mysql_fetch_array dediğinde de bu no alanını dizi değişkene atamış oluyorsun ($row["no"] gibi).

ama select max(no) from tablo dersen de "max(no)" alanını seçmiş oluyorsun. ama bunu $row["max(no)"] şeklinde kullanamazsın.

select max(no) enbuyuk from tablo dersen de "max(no)" alanını seçmiş oluyorsun ve bunu isimlendirerek kullanıma hazır hale getiriyosun ($row["enbuyuk"]
gibi)

inşallah anlatabilmişimdir


Bu mesaja 1 cevap geldi.
A
19 yıl
Yarbay
Konu Sahibi

$son_kayit_bul_kodu="SELECT MAX(NO) enbuyuk FROM tablo;";
$son_kayit_bul=mysql_query($son_kayit_bul_kodu,$baglan);
$tablo=$row["enbuyuk"];
echo "$tablo";

kodlar bu doğru mu?

echo "$son_kayıt_bul";

yazınca Resource id #8 bunu yazıyor ama benim max no 13 bu sorgudan nasıl 13 rakamı çıkacak





< Bu mesaj bu kişi tarafından değiştirildi alper.y -- 12 Eylül 2006; 14:22:51 >
Bu mesaja 1 cevap geldi.
H
19 yıl
Çavuş

<? 

$son_kayit_bul_kodu="SELECT MAX(NO) enbuyuk FROM tablo;";
$son_kayit_bul=mysql_query($son_kayit_bul_kodu,$baglan);

$row1 = mysql_fetch_array($son_kayit_bul);
$row["enbuyuk"] = $row1["enbuyuk"];

echo $row["enbuyuk"];

?>


bu arada belki biliyosundur ama;
$row1 ve $row benim verdiğim değişken isimleri. yani $satir1 veya $satir olarak ta kullanabilirsin. onlar php veya mysql e özel değişkenler değil.


Bu mesaja 1 cevap geldi.
A
19 yıl
Yarbay
Konu Sahibi

quote:

Orjinalden alıntı: hakki0548

<? 

$son_kayit_bul_kodu="SELECT MAX(NO) enbuyuk FROM tablo;";
$son_kayit_bul=mysql_query($son_kayit_bul_kodu,$baglan);

$row1 = mysql_fetch_array($son_kayit_bul);
$row["enbuyuk"] = $row1["enbuyuk"];

echo $row["enbuyuk"];

?>


bu arada belki biliyosundur ama;
$row1 ve $row benim verdiğim değişken isimleri. yani $satir1 veya $satir olarak ta kullanabilirsin. onlar php veya mysql e özel değişkenler değil.

Teşekkürler oldu . PHp ile ilgili bir sorum olacaktı.Post methoduyla giden bir form ile birlikte gittiği yerdeki dosya açılıyor.Ama ben bu sayfanın tekrar yenilenmesini ya da form bilgilerinin geldiği yerdeki klasörden başka bağlantı gelmesii istemiyorum.Ne yapmlayım


Bu mesaja 1 cevap geldi.
H
19 yıl
Çavuş

quote:

Ama ben bu sayfanın tekrar yenilenmesini ya da form bilgilerinin geldiği yerdeki klasörden başka bağlantı gelmesii istemiyorum.Ne yapmlayım


tam anlayamadım biraz daha açabilir misin


Bu mesaja 1 cevap geldi.
A
19 yıl
Yarbay
Konu Sahibi

Şimdi mesela a.php dosyası var.içinde yerleştirilmiş html koldarı sayesinde form var.Post methoduyla b.php ye bağlanıyor.En son işlem bitince b.php de bitiyor yani yol kısmıdna b.php kalıyor.Kullanıcı b.php yi yenilerse aynı işlem tekrarlanabiliyor.Çünkü kodlar bunun içinde.Yenilenmesini istemiyorum.Ayrca b.php ye a.php den başka bir dosyanın bağlanmasını sitemiyorum.Yani kullanıcı direlt b php ye bağlanamayacak.


Bu mesaja 1 cevap geldi.
H
19 yıl
Çavuş

b.php de işin bittikten sonra sayfayı başka bir sayfaya otomatik yönlendirebilirsin.

<meta http-equiv="refresh" content="0; URL=c.php" />


diğer sorunun cevabı da

<SCRIPT > 

if (document.referrer != 'a.php')
{
alert("bu sayfaya a.php den başka sayfa giriş yapamaz");
window.location='a.php';
}


</SCRIPT>





< Bu mesaj bu kişi tarafından değiştirildi hakki0548 -- 12 Eylül 2006; 19:43:09 >
Bu mesaja 1 cevap geldi.
A
19 yıl
Yarbay
Konu Sahibi

Cevaplar için teşekkürler ama ben sayfayı iş bitkikten sonra yönlendirmemeliyim.Yoksa yapıtğım scripte uygun olmaz.Ama ilk verdiğiniz kod sayfa yenilenmesini önlüyor mu?


Bu mesaja 1 cevap geldi.
H
19 yıl
Çavuş

ilk verdiğim kod başka bir sayfayı açıyor. sayfa yenilenmesini engelleyemezsiniz ama eğer siz a.php den b.php sayfasına verileri gönderip o verilerle yapacağınız işlemleri yapıp işiniz bittikten sonra c.php sayfasını çağırırsanız F5 e basılsa bile b.php değil c.php yenilenir. nasıl birşey kullanıyorsunuz bilmiyorum ama benim aklıma bu geldi.

b.php sayfasında ne yaptığınızı tam olarak söyleyebilirseniz belki yardımcı olabilirim


Bu mesaja 1 cevap geldi.
A
19 yıl
Yarbay
Konu Sahibi

b.php de dosya yazma yani upload işlemleri ve veritabanı yazma işlemleri yapılıyor.İşlem tamam sa include komuduyal sonucu gösterecek c.php ekleniyor.b.php yenilenirse aynı dosya tekrar yükleniyor ve veritabanına yazılıyor.;YAni adam 100 kere yenilese hostu doldurur.


Bu mesaja 1 cevap geldi.
H
19 yıl
Çavuş

sonucu galiba c.php ile gösteriyorsun. c.php yi include yoluyla değil de verdiğim ilk kodla çağırmanın bir sakıncası var mı?
eğer c.php dosyasında b.php deki değişkenleri kullanıyorsan şunu yapabilirsin

<meta http-equiv="refresh" content="0; URL=c.php?değisken1=<?=$değisken1?>&değisken2=<?=$değisken2?>" />


böylece farklı bir sayfa yüklenerek aynı değişkenlerle sonucu görüntüleyebilirsin. F5 e basılsa bile sadece sonucu görüntüleme kodları yenilenmiş olur





< Bu mesaj bu kişi tarafından değiştirildi hakki0548 -- 12 Eylül 2006; 23:05:29 >
Bu mesaja 2 cevap geldi.
A
19 yıl
Yarbay
Konu Sahibi

quote:

Orjinalden alıntı: hakki0548

sonucu galiba c.php ile gösteriyorsun. c.php yi include yoluyla değil de verdiğim ilk kodla çağırmanın bir sakıncası var mı?
eğer c.php dosyasında b.php deki değişkenleri kullanıyorsan şunu yapabilirsin

<meta http-equiv="refresh" content="0; URL=c.php?değisken1=<?=$değisken1?>&değisken2=<?=$değisken2?>" />


böylece farklı bir sayfa yüklenerek aynı değişkenlerle sonucu görüntüleyebilirsin. F5 e basılsa bile sadece sonucu görüntüleme kodları yenilenmiş olur

Evet böyle olabilir.Değişkenler sanırım get methoduyla akatrılıyor.Benim için sorun yok gizli veriler değil zaten.Bu refresh yapınca c php nin açılmasını sağlıyor di mi? naber=<?=$değisken1?>& şimde değişken birin değeri naber mi oluyor acaba?


Bu mesaja 1 cevap geldi.
H
19 yıl
Çavuş

c.php?değişken1=naber&değişken2=iyiyim dersen değişken1 in değeri naber , değişken 2 nin değeri iyiyim oluyor. eğer sen b.php de değişken 1 diye bi değişken kullanıyorsan demin verdiğim kodla bunu c.php ye göndermiş olursun.


Bu mesaja 1 cevap geldi.
A
19 yıl
Yarbay
Konu Sahibi

quote:

Orjinalden alıntı: hakki0548

c.php?değişken1=naber&değişken2=iyiyim dersen değişken1 in değeri naber , değişken 2 nin değeri iyiyim oluyor. eğer sen b.php de değişken 1 diye bi değişken kullanıyorsan demin verdiğim kodla bunu c.php ye göndermiş olursun.

Evet işe yaradı . Bu güvenlik açığı yaratmaz di mi?


Bu mesaja 1 cevap geldi.
H
19 yıl
Çavuş

yaratmaz. çünkü b.php yi dışardan çağrılamıyor. işlemleri de b.php de yaptığın için sorun çıkmaz. c.php sadece sonucu gösteriyor. yani c.php yi dışardan çağırsalar bile sadece görüntü yapmış olurlar. hiçbir işlem gerçekleşmez.





< Bu mesaj bu kişi tarafından değiştirildi hakki0548 -- 12 Eylül 2006; 23:42:04 >
Bu mesaja 1 cevap geldi.