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.
Php'de varolan kayda tekrar kayıt eklemek.
6
●544
- 17-05-2016, 16:21:52Benim 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:35verdiğiniz cevap için çok teşekkür ederim.cleaner80 adlı üyeden alıntı: mesajı görüntüle
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:17Hocam 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:47cleaner80 adlı üyeden alıntı: mesajı görüntüle
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Üyeliği durduruldudü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:49Anladı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.
