İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

Üstbilgi - Altbilgi veya Sayfada Kayma Sorunu

sozen

0
İyinet Üyesi
Katılım
14 Ekim 2009
Mesajlar
91
Reaction score
1
Merhaba,
PHP de yazdığımız bir programda çıktı aldığımızda, toplamda örnek olarak 3 sayfa veya 5 sayfa çıktı alıyorsak tüm sayfaların üstünde aynı word deki gibi üstbilgi nasıl sabitleriz ?
 

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
Sorunu çok karışık bir şekilde somuşsun. Anladığım kadarı ile cevap vermek gerekirse
Yazdığın olayı bir çok farklı şekildede yapabilirsin ama en basit mantık sayfayı sayfaya include veya ile çağırman olacaktır.

Öncelikle 3 tane sayfa oluşturman gerekiyor bunların adı ust.php, alt.php ve orta.php olsun ust.php yi ve alt. php dosyasında dediğin gibi sadece üst ve alt bilgi tanımlamalarını yapıp orta.php de ise bütün işlemleri yapabilirsin. yani orta.php yi şu şekilde düzenleyip;
PHP:
<?
include("ust.php");

//ortada gerçekleşecek işlemler

include("alt.php");
?>

bu yapı ile kodlama yaparsan üst ve alt kısımları tek bir merkezden yönetip yaptığın bütün işleride kolaylaştırırsın umarım sormak istediğin soru buydu. Birde cevap alamamanın nedeni konunun yerinin yanlış olması html kısmına yazmışsın ama php yardımı istiyorsun o yüzden kimsenin gözüne çarpmamış olabilir
 

sozen

0
İyinet Üyesi
Katılım
14 Ekim 2009
Mesajlar
91
Reaction score
1
Çok Teşekkür Ederim...

Sorunumu doğru anlamışsın aslında...
Bende tabiki tam tarif edememiş olabilirim, çünkü PHP yi öğrenme saffasındayım hala...

Daha net açıklayacak olursam:
mesela 10 sayfa dan oluşan ve text area ile düzenlenmiş bir metnim var. bu metni text area ile düzenlemezsem (standart karakter belirlersem) satır sayısına göre alt ve üst bilgiyi senin dediğin gibi basabiliyorum...

Ancak; text area ile düzenlediğimde yazı karakteri, funto, tablo vs işin içine girince olay karışıyor...

Hani word de nasıl, üst ve alt bilgiyi sabitliyor, sen ne yaparsan yap onlar hep orda kalıyor, benimde istediğim aslında budur :D

Visual Basic da "section" olarak bu yapılıyor diye biliyorum...
ama PHP ne nasıl yapacam?
satır sayısına göre değilde pixel e göre olabilirmi mesela ?
 

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
Bak şimdi aslında mantık oldukça basit ama php de yeni olduğun için belki bilmediğin hususlar olabilir. Php bilgininde tam olarak ne kadar olduğunu bilmediğimden anlatacaklarımda olayları hiç bilmiyormuşssun gibi anlatayım. Şimdi Şimdi senle beraber çok basit yönlü bir kişisel web sayfası hazırlayalım. hazırlayacağımız Sitenin sayfaları şu şekilde olsun;

HTML:
Ana Sayfa - Hakkımda - İletişim
Şimdi Bunlara ayrı ayrı php dosyaları oluşturmaktansa tek php dosyası yardımı ile nasıl ulaşıp verileri ekrana nasıl basacağımızı ve belirttiğin hususlar doğrultusunda sabit üst kısım ve alt kısımın nasıl bir yapıya oturtulacağını anlatayım.

Bize Gerekli Olan 3 Tane php dosyası fazlasına ihtiyacımız yok aslında tek dosyalan bile olabilir. Ama ilerde daha geniş içerikli bir site yazdığında sorun çıkmaması ve rahat düzenleme yapabilmen için bu yapı iyi sayılabilir neyse esas konumuza gelelim.
Oluşturacağımız dosyaların adları: index.php, ust.php ve alt.php bu dosyaları oluşturduktan sonra, ust.php dosyasını açıp şu kodları yazalım

ust.php;
PHP:
<html>
<head>
<title>Kişisel Site</title>
</head>
</body>
<?
/* 
şimdi url üzerinden değişken tanımlayıp sayfalarımızı çağıracağız yani GET 
metodu ile sayfamıza değişken gönderip bu değişkenlere göre menümüzü 
oluşturacağız. menu adında degeri kontrol edebileceğimiz bir değişkene
oluşturacağımız sayfalara ait değişkenleri atayalım. Bu oldukça basittir.
*/

echo '<a href="index.php">Ana Sayfa</a> - <a href="index.php?menu=hakkimda">Hakkımda</a> - <a href="index.php?menu=iletisim">İletişim</a>';

/* 
yukarıdaki kod ile menü yapımızı oluşturduk.
şimdi GET ile gönderdiğimiz verileri index.php dosyasında ister switch ister
if ile alıp gerekli işlemleri yapacağız ben switch kullanacağım
*/
?>
index.php;
PHP:
<?
include("ust.php"); // ust.php dosyasını ana sayfamıza alıyoruz her yerde sabit olması için

if(!_GET and !$_POST){
echo 'Ana Sayfadayız<br />';
}

/* üstte yaptığım if sorgusunda post dan veya getten veri gelmediyse default
olarak ekrana ne yazmak istiyorsak onu belirledik. menüden bir alan seçilirse
ekrana yazan Ana sayfadayız ibaresi ekrandan kalkar ve switch işlemi devreye girer
*/ 
switch($menu){

case "hakkimda":
echo 'Hakkımda bütün bilgiler burada<br />';
break;

case "iletisim":
echo 'İletişim bilgilerim<br />';
break;

}

include("alt.php"); // alt.php dosyasını ana sayfamıza alıyoruz her yerde sabit olması için
/* burada yapacağımız işlemde bu kadar istersen kendini geliştirdikçe yapı üstünde
oynanıp dahada geliştirirsin şimdi alt.php dosyasını halledelim ve sitemiz yayında olsun
*/
?>
alt.php
PHP:
<?
echo 'Burası alt.php dosyası';
?>
</body>
</html>

Unutmadan konuyu çok basite indirgememin senle bir ilgisi olmadığını belirtmek isterim. Bilmeyen ve öğrenmek isteyen diğer arkadaşlarada faydalı olabilmesi için bu mantıkla anlattım.
 

sozen

0
İyinet Üyesi
Katılım
14 Ekim 2009
Mesajlar
91
Reaction score
1
BordoMavi çok saol ama istediğim bu değil, aşağıdaki örnekte olduğu gibi, aynı word deki alt bilgi üst bilgi olayını bulmam lazım... aşağıdaki örneği yeniden okuyabilirsen aslında ne demek istediğimi daha iyi anlayabileceğini düşünüyorum...

veya şöyle kısaltayım:
1-
elimde fontu verdana 12 normal olan 1000 satırlık bir metin var...
bu metnin mysql den ekrana basıcam, ancak basarken her sayfanın en üstünde firma anteti, en altında da adres vs. bilgileri sabit çıkmalı ve ben bunu otomatik getirmeliyim...

2- bu 1000 satırlık alan yarın 1500 - 2000 satır olabilir ve üstelik textarea ile düzenlenebilir, böylece font değerleri değişebilir ve resim tablo vb ögeler eklenebilir, bu durumda yine üst ve alt kısımdaki bilgilerimi nasıl sabitlerim ?

NOT: 1 nolu belirtiğim şekli yapmıştım. örneği izah edebilmek için örnek verdim... Benim sıkıntım 2 nolu kısım

şu işi çözsem süper olacak.......



Çok Teşekkür Ederim...

Sorunumu doğru anlamışsın aslında...
Bende tabiki tam tarif edememiş olabilirim, çünkü PHP yi öğrenme saffasındayım hala...

Daha net açıklayacak olursam:
mesela 10 sayfa dan oluşan ve text area ile düzenlenmiş bir metnim var. bu metni text area ile düzenlemezsem (standart karakter belirlersem) satır sayısına göre alt ve üst bilgiyi senin dediğin gibi basabiliyorum...

Ancak; text area ile düzenlediğimde yazı karakteri, funto, tablo vs işin içine girince olay karışıyor...

Hani word de nasıl, üst ve alt bilgiyi sabitliyor, sen ne yaparsan yap onlar hep orda kalıyor, benimde istediğim aslında budur :D

Visual Basic da "section" olarak bu yapılıyor diye biliyorum...
ama PHP ne nasıl yapacam?
satır sayısına göre değilde pixel e göre olabilirmi mesela ?
 

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
çok basit.

Şimdi db deki tablo yapısı aynen şu şekilde olacak.

CREATE TABLE `firma` (
`id` int(11) NOT lisanssız auto_increment,
`ust` varchar(255) NOT lisanssız',
`alt` varchar(255) NOT lisanssız',
`yazilar` varchar(255) TEXT',
PRIMARY KEY (`id`)
) ;

ust alanına üst bilgilerini alt alanına alt bilgileri yazacaksın yazilar kısmınıda firmanın bilgilerini ekleyip db de saklayacaksın bu kısım için bi panel yazar kullanırsın. birde ck editor tarzında bir text editör yardımıylada panelden yazı alanındaki kalınlık sağa sola yaslama olaylarını yaparak db ye kaydedrsin. şuan uzun uzun anlatamayacağım.
neyse verileri mysqlden çekip ekrana bastırdığında olay çözülür mesela;
PHP:
$gel = mysql_query("select * from firma where id = '1'");
$x = mysql_fetch_assoc($gql);
echo 
$x[ust].' <br>'.
$x[yazilar].'  <br>'.
$x[alt]
;
burada 1 numatalı id deki veriyi çekip ekrana bastım mantığın bu çok basit bir olay.

senin takıldığın kısımı şimdi daha rahat anladım sen yazılara şekil vermek istiyorsun kalınlık italikli falan filan. bunuda üstte belirttiğim gibi bir text editör kullanırsın paneldende bu şekilde verileri girersin ekrana bastığındada sorun çıkmaz.
 

*siber*

0
İyinet Üyesi
Katılım
20 Temmuz 2005
Mesajlar
2,014
Reaction score
1
Konum
about:blank
@sozen php de senin istediğin gibi hali hazırda bir kod yok. Sen sanırım word deki gibi sabit alt ve üst bilgi istiyorsun.

Kendi mantığınla bunu çözebilirsin. Zaten kağıda basılacak yazı karakterini hesaplaya biliyorsan, strlen() işine yarar.
 

sozen

0
İyinet Üyesi
Katılım
14 Ekim 2009
Mesajlar
91
Reaction score
1
BordoMavi çok saol ancak yine anlaşamadık :))
istediğim şey aynı *siber* in dediği gibi...

*siber* şu anda zaten yazı karakterini hesaplayarak basıyorum, benim istediğim yazı karakterini hesaplamadan bu basımı yapabilmek.

bir arkadaşım Free PDF (fpdf) ile konuyu rahatlıkla çözebilirsin dedi... Bu hafta içerisinde biraraya gelip olayı anlatacak... Burada sizlerle paylaşırım...
 

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