• 17-05-2016, 16:10:13
    #1
    Merhaba arkadaşlar.

    Kayıt ekleme sayfam var ve oradaki değerler;

    1) id - 2) isim listesi 3) textarea

    Ben bunu kayıt1.php'ye gönderiyorum ve veritabanına

    isim listesinden seçtiği: textareadaki mesaj

    şeklinde yazdırıyorum. Yani seçmeli alandaki isimlerden biri seçiliyor ve textarea daki kısma da açıklamayı yazıyor. şimdi onu tekrar güncellemem ve 2. bir açıklama girmem gerekiyor. bunu da o ilk eklediğim textarea daki verinin altına eklemem lazım. yani veritabanındaki kayda bir adet BR kodu eklemişim gibi olacak. Hem 1. açıklama görünecek hem de 2. açıklama..

    Bunu nasıl sağlayabilirim? Mantığını bile kuramadım..

    Çok teşekkür ederim.
  • 17-05-2016, 16:21:52
    #2
    Benim yöntemim var olan veriyi alıp yeni veriyle birleştirip (Birleştirirken benzersiz ve normalde kullanılmayacak olan "#" gibi karakter koyarım arasına) o satırı update yaparım. Daha sonra görüntülemek istediğim zaman explode() ile o verileri ayırarak ekrana basarım.
  • 17-05-2016, 16:32:35
    #3
    cleaner80 adlı üyeden alıntı: mesajı görüntüle
    Benim yöntemim var olan veriyi alıp yeni veriyle birleştirip (Birleştirirken benzersiz ve normalde kullanılmayacak olan "#" gibi karakter koyarım arasına) o satırı update yaparım. Daha sonra görüntülemek istediğim zaman explode() ile o verileri ayırarak ekrana basarım.
    verdiğiniz cevap için çok teşekkür ederim.
    bana bir örneğini gönderebilir misiniz?
    işte istediğim bu aslında.

    benim kodlarım bunlar..

    kaydet.php
    <?php
    $gorusme = $_GET['gorusme'];
    include "db.php";
    db_baglan();
    $haberler = mysql_query("SELECT * FROM haberler where haberid = '$gorusme'");
    $haberrows = mysql_num_rows($haberler);
    if (mysql_num_rows($haberler)) {
    $haber = mysql_fetch_array($haberler);
    $notlar = $haber['gorusme'];
    ?>
    
    <br /><br />
    <form id="form1" action="kaydet1.php" method="POST">
    Görüşmeyi Yapan:<select name="temsilci" id="temsilci">
        <option value="kişi 1">kişi 1</option>
        <option value="kişi 2">kişi 2</option>
        </select> 
    	<br /><br />
    Lütfen görüşmeyi giriniz.: <textarea name="gorusmenotlari" cols="40" rows="6"><?=$notlar?></textarea>
    <br /><br />
    Bu ID'de değişiklik yapacaksınız.: <input name="idno" name="idno" readonly="" value="<?php echo "$gorusme"; ?>" />
    <br /><br />
    <input type='submit' value='Kaydet'> <input type='reset' value='Temizle'>
    
    
    <?php
    }
    ?>


    kaydet1.php
    <?php 
    ob_start();
    ?>
    <?php
    error_reporting(E_ALL); ini_set("display_errors", 1);
    date_default_timezone_set('Europe/Istanbul');
    @$tarih = date('d.m.Y');
    @$saat = date('H:i:s');
    include "db.php";
    db_baglan();
    	$gorusme = strip_tags($_POST['gorusmenotlari']);
    	$temsilci = strip_tags($_POST['temsilci']);
    	$idno = strip_tags($_POST['idno']);
    
    	$anakayit = "$temsilci $tarih / $saat : - $gorusme <br />"; 
    
    	mysql_query("update haberler set gorusme='$anakayit' WHERE haberid='$idno'");
    	echo "görüşme notu eklenmiştir. 3 saniye içerisinde bilgi sayfasına yönlendirileceksiniz.";
    	header('refresh:3; url="bilgi.php"');
    ?>
    <?
    ob_end_flush();  
    ?>
  • 17-05-2016, 16:52:17
    #4
    Hocam sizin iş kodları görünce biraz karışık geldi.

    Birincisi sizin inser komutunuz yok yani veritabanına yeni veri ekleyecekseniz "insert" komutu olmalı. Her veri eklediğinizde bu kod ile alt satıra yeni bir veri eklersiniz.

    "update" komutu seçtiğiniz satırdaki veriyi değiştirmek için kullanılır.


    Ayrıca yukarıda kaydet.php de verileri listelemek istemişsiniz ve döngüyü mysql_num_rows() ile kullanmışsınız. Normalde

    if (mysql_num_rows($haberler)) {
    $haber = mysql_fetch_array($haberler);
    
    
    }
    yerine

    if (mysql_num_rows($haberler)) {
     
    while( $haber = mysql_fetch_array($haberler)){
    $notlar = $haber['gorusme'];
    $notlar = $haber['gorusme'];
    ?>
    
    <br /><br />
    <form id="form1" action="kaydet1.php" method="POST">
    Görüşmeyi Yapan:<select name="temsilci" id="temsilci">
        <option value="kişi 1">kişi 1</option>
        <option value="kişi 2">kişi 2</option>
        </select> 
    	<br /><br />
    Lütfen görüşmeyi giriniz.: <textarea name="gorusmenotlari" cols="40" rows="6"><?=$notlar?></textarea>
    <br /><br />
    Bu ID'de değişiklik yapacaksınız.: <input name="idno" name="idno" readonly="" value="<?php echo "$gorusme"; ?>" />
    <br /><br />
    <input type='submit' value='Kaydet'> <input type='reset' value='Temizle'>
    
    
    <?php
    
    }
    
    
    }
    şeklinde kullanmalısınız.
  • 17-05-2016, 16:57:47
    #5
    cleaner80 adlı üyeden alıntı: mesajı görüntüle
    Hocam sizin iş kodları görünce biraz karışık geldi.

    Birincisi sizin inser komutunuz yok yani veritabanına yeni veri ekleyecekseniz "insert" komutu olmalı. Her veri eklediğinizde bu kod ile alt satıra yeni bir veri eklersiniz.

    "update" komutu seçtiğiniz satırdaki veriyi değiştirmek için kullanılır.


    Ayrıca yukarıda kaydet.php de verileri listelemek istemişsiniz ve döngüyü mysql_num_rows() ile kullanmışsınız. Normalde

    if (mysql_num_rows($haberler)) {
    $haber = mysql_fetch_array($haberler);
    
    
    }
    yerine

    if (mysql_num_rows($haberler)) {
     
    while( $haber = mysql_fetch_array($haberler)){
    $notlar = $haber['gorusme'];
    $notlar = $haber['gorusme'];
    ?>
    
    <br /><br />
    <form id="form1" action="kaydet1.php" method="POST">
    Görüşmeyi Yapan:<select name="temsilci" id="temsilci">
        <option value="kişi 1">kişi 1</option>
        <option value="kişi 2">kişi 2</option>
        </select> 
    	<br /><br />
    Lütfen görüşmeyi giriniz.: <textarea name="gorusmenotlari" cols="40" rows="6"><?=$notlar?></textarea>
    <br /><br />
    Bu ID'de değişiklik yapacaksınız.: <input name="idno" name="idno" readonly="" value="<?php echo "$gorusme"; ?>" />
    <br /><br />
    <input type='submit' value='Kaydet'> <input type='reset' value='Temizle'>
    
    
    <?php
    
    }
    
    
    }
    şeklinde kullanmalısınız.

    cevabınız için teşekkür ederim fakat update kullanmak zorundayım çünkü 1 tane id var. o 1 tane id ye birden fazla görüşme girmem gerekiyor. insert into o yüzden yok. çünkü benim işim sadece o alanla...

    ayrıca orayı başka bir yerden kopyaladım da o yüzden

    Yardım rica ediyorum gerçekten, işin içinden çıkamadım.
    Bana kodlarınızın örneğini göndermeniz mümkün mü?

    Ben deneyeceğim, başka yol yok.

    Kolay gelsin.
  • 17-05-2016, 17:12:08
    #6
    q0x
    Üyeliği durduruldu
    düzenle butonu oluşturun.

    Veritabanındaki id değeri alın GET metodu yoluyla.

    yazı düzenleme sayfasında textarea içine veritabanındaki veriyi yansıtın.

    Düzenleme sayfasında veritabanındaki yazınız gözükecektir. O yazının altına enter ile girin yeni ekleyeceğiniz yazıyı girin. Sonra kaydedin. Yazınıza tekrar kayıt eklemiş olursunuz.

    Eğer yazı eski tarihli bir yazı ise ve güncellemeden sonra anasayfada önplana çıkmasını istiyorsanız, bir kolon oluşturun. Her güncellemede bir int değer arttırsın. Sonra for döngüsüne sokun ve her değer artışında anasayfada başa gelsin şartı ile işleminizi tamamlayın.
  • 17-05-2016, 17:16:49
    #7
    Anladım
    İlk etapta güncelleme yapmadan önce güncellenecek olan veriyi çekip yeni gelen veriyle "#" karakterini kullanarak birleştiriyoruz.
    <?php 
    ob_start();
    ?>
    <?php
    error_reporting(E_ALL); ini_set("display_errors", 1);
    date_default_timezone_set('Europe/Istanbul');
    @$tarih = date('d.m.Y');
    @$saat = date('H:i:s');
    include "db.php";
    db_baglan();
    	$gorusme = strip_tags($_POST['gorusmenotlari']);
    	$temsilci = strip_tags($_POST['temsilci']);
    	$idno = strip_tags($_POST['idno']);
    
    
    $anakayit = "$temsilci $tarih / $saat : - $gorusme <br />"; 
    
    
    /*
    Bu alanda bu id no ya göre veritabanındaki karşılığı çekilmeli
    
    */
    $haberler = mysql_query("SELECT * FROM haberler where haberid = '$gorusme'");
    $haberrows = mysql_num_rows($haberler);
    if (mysql_num_rows($haberler)) {
    $haber = mysql_fetch_array($haberler);
    $notlar = $haber['gorusme'];//textarea verisi
    
    $anakayit = $notlar."#".$anakayit;//Eski kayıtla yeni kayıtı birleştiriyoruz.
    
    }
    
    
    
    	
    
    	mysql_query("update haberler set gorusme='$anakayit' WHERE haberid='$idno'");
    	echo "görüşme notu eklenmiştir. 3 saniye içerisinde bilgi sayfasına yönlendirileceksiniz.";
    	header('refresh:3; url="bilgi.php"');
    ?>
    <?
    ob_end_flush();  
    ?>

    Daha sonra görüntülemek için
    $haberler = mysql_query("SELECT * FROM haberler where haberid = '$gorusme'");
    $haberrows = mysql_num_rows($haberler);
    if (mysql_num_rows($haberler)) {
    $haber = mysql_fetch_array($haberler);
    $notlar = $haber['gorusme'];//textarea verisi
    
    $notlar1= explode("#",$notlar);// "#" karakteri görürsek ayırıyoruz.
    $count=count($notlar1);//Kaç veri eklendiğini buluyoruz.
     
    for($i=0; $i<=$count; $i++){ // Döngü ile kaç veri varsa listeliyoruz.
    
    echo $notlar1[$i]."<br>"; Ekrana basıyoruz
    
    
    
    }
    
     
    }
    Pratik olarak yazmaya çalıştım. Hata yoktur inşallah. Sen kendine göre uyarlamaya çalış. Ama dikkatli ol verilere zarar verme Yedeğini al.