[Çözüldü] Check Button Nasıl kullanılır.

Başlatan ecarpar, 04 Ağustos 2011 - 23:54:14

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

ecarpar

Veri tabanına verileri girdik, şimdi silme kısmı fakat istediğini silsin yada istrediği kadarını silsin, hani var ya maillere mesajlara felan bakarken çek butonları seçeriz ve sil deriz oda seçili olanları siler.
id ler var, fakat id leri bu çek butonlarla naısl ilişkilendireceğimi bilemedim. Yada bu çek butonları ile seçili olanları silme olayını kurguluyamadım dersem daha doğru olur.
BUrada aklıma takılan şeylerden biriside çek butonu seçili olunca hangi id ye gideceğini nasıl belirliyeceğim.
Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

hckr

Ekrana basılan checkbox ların value niteliğine idleri basarsın.Bu şekilde halledersin

alquirel

Eğer checkboxların bilgisini post (veya get) ile yolluyorsan şöyle oluyor, işaretli checkboxların name özelliği post dizisinde tanımlı olur. value özelliğine değer atamak zorunda değilsin. Mesela ch1 isimli bir kutun olsun. Eğer bu kutuya tik atılı bir şekilde form bilgisi gönderilmişse $_POST['ch1'] şeklinde bir post elemanın olur. (Değeri senin value özelliğine girdiğin değerdir. Girmemişsen on olur)

id ile ilişkilendirmeye gelince bunu da şöyle yapabilirsin. name özelliklerine ch[ID] şeklinde ID yerine uygun değerler yazılarak checkboxlarını array halinde gönderebilirsin post ile. Bu durumda da kullanımı şu şekilde olur : $_POST['ch'][ID]

Umarım bu kadarı yeterli olur. Eksik kalan yerler olursa tekrar yazarsın ;)

ecarpar

alquirel yazdıkların için teşekkür ederim internettekilerin dışında oldukları için ilgi çekici ve iyi bilgiler bunlar benim için, Kodları bulmak sorun değil telefonumada php ile ilgili dmkümanlar yükledim :) internette heryerde kod bulabiliyorum, takıldığım yerdede sizler sağolun oldukça yardımcı oluyorsunuz, Bana daha çok mantık gerekiyor, yani bu işi böyle yaptım oldu tamamda o anı kurtarır bir mantıkla olsun istemiyorum, düzgün ve temiz olsun istiyorum buradada bu iş naısl yaplır diye bilen kişiler giriyor devreye.



çek butonları oluşturuyorum oluşturuldu çok güzel.
Aklıma takılan bir kaç şey
1. En sonra boş bir çek butonu oluşuyor.

   $result = mysql_query("SELECT * FROM kullanicilar");
   while($row = mysql_fetch_array($result))
  {
   echo "<input type=\"checkbox\" $row[KullaniciAdi] value=\"$kelime\"$row[UserId] />";

    }
şeklinde database den okuyorum verileri

2. tabloların içine koyup tasarımı üzerine giydireceğim, bu durumda
diyelim 10 hücrelik bir tablo yapacağım ve içersinede verileri ekliyeceğim şimdi

php tarafında bunu


  echo "<table width=\"200\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
         echo "<tr>";
                echo   "<td>";
                       echo "Kullanıcı adı";
                echo "</td>";
         echo "</tr>";
  echo "</table>";



Bunu yaparak Html de
html de 10 cell değerinde bir yapı oluşturmayı amaçlıyorum.
   <table width="200" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
  </tr>
</table>

Bu yapı nekadar mantıklıdır, böyle yapılması normalmidir? Doğru yoldamıyım.
Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

alquirel

Sadece PHP kısmına müdahale edeceğim, HTML kısmı tamamiyle sana kalmış, ister tablo kullanırsın ister div, ister ul-li etiketlerini kullanırsın. Bana sorarsan ben çok gerekli olmadıkça tablo kullanmıyorum, genelde div ve ul-li ikilisini kullanıyorum.

Sonuç olarak senin tasarımında her bir kullanıcı için bir "satır", ve kullanıcıyla ilgili her bir öğe içinde bir "hücre" olacak.
Kullanıcı satırlarını oluştururken kullandığın döngü doğru ve geçerli bir döngüdür.

Checkbox'un olacağı hücrenin içine şu şekilde yazmanı tavsiye ederim.

echo "<input type='checkbox' name='user[".$row[UserId]."]' />";


Dediğim gibi value değeri atamak zorunda değilsin. Tırnak kullanımı konusunda da oldukça özgürsün, sadece içiçe girmelere engel olacaksın o kadar ;)
Bir de array türünde bir değişkeni echo fonksiyonunda tırnak içinde yazamazsın. Önce benim yaptığım gibi tırnaktan kurtarmak zorundasın. Nokta işareti PHP'de karakter dizilerini bağlamak/birleştirmek için kullanılır.

Tablo işine gelince, listende her bir kullanıcı ile ilgili 10 tane bilgi göstereceksin anladığım kadarıyla. Bir "satır"ı bu bilgilerin başlıkları için ayırırsın. (Kullanıcı adı/yaşı gibi)
Geri kalan "satır"ları while döngüsü içerisinde (table kullanacaksan) şu şekilde yazabilirsin.


echo "<td>".$row[KullaniciAdi]."</td><td>".$row[KullaniciYasi]."</td>";


Nihai olarak bir "satır"lık tablo şu şekilde yapılabilir


echo "<table>";
echo "<tr>"; // başlıkların satırı
echo "<td></td>"; // checkbox için başlık satırındaki boş hücre
echo "<td>Kullanıcı Adı</td><td>Yaşı</td><td>Şehir</td>"; //başlıklar
echo "</tr>";
$result = mysql_query("SELECT * FROM kullanicilar");
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td><input type='checkbox' name='user[".$row[UserId]."]' /></td>";
echo "<td>".$row[KullaniciAdi]."</td><td>".$row[KullaniciYasi]."</td><td>".$row[KullaniciSehri]."</td>";
echo "</tr>";
}
echo "</table>";

ecarpar

#5
Hocam çaktırma bir yerde izlemiştim galiba video 5-6 yıl öncesine ait idi
" dan önce \ koyuyorlardı ordan aklıma geldiği için yazdım işin doğrusu bu tırnak olayını acilen anlamam gerekli geçende birşeyler oldu bu tip gene takıldım orada.

Peki bu ' tırnak string yapıyor " da string yapıyor :) hangisi nedir

Örneğin ben şu şekilde bir soya oluşturdum php yardımı ile

buradaki amacım daha sonra kullancııdan aldığım verileri mysql' i kullanabilmek amacı ile bir php dosyasında saklamak.


$MySqlName='$MySqlName';
$MySqlUserName='$MySqlUserName';
$MySqlPass='$MySqlPass';


$mysqlConnection =
"<?

$MySqlUserName = $user;
$MySqlPass=$pass;
$MySqlName =$sqlName;

?>";

$yaz=fopen("../MysqlConnection.php", "w"); //en başta belirlediğimiz isimde bir dosya yaratıyoruz.
fwrite($yaz,$mysqlConnection);   //veritabanından gelen bilgileri açtığımız dosyaya yazdırıyoruz.
fclose($yaz);   //yazma işlemini kapatıyoruz.



çıtısıda

<?

$MySqlUserName = root;
$MySqlPass=****;
$MySqlName =localhost;

?>


oluyor aslında  $MySqlUserName = 'root' ; gibisinden olmasını istiyordum :) ama beceremedim çalışıyormu çalışıyor ama ilersi için sorunmudur bilemiyorum

şimdi buradaki asıl soru bence ' ve " arasındaki fark nedir
denediğimde nekadar doğru denedim bilemiyorum

   $deg = "erdal";
   echo "<br>";
   echo ("yeni");
   echo "<br>";
   echo "$deg";
   echo "<br>";
   echo '$deg';

çıktısı

yeni
erdal
$deg

yani ' değişken felan bırakmıyor tek tırnağın içindekiler tümden string oluyor demek herhalde bu. " arasında kalanlarda string olarakmı değerlendiriliyor.

hmm

   $deg = "2";
   $de = "1";
   echo "<br>";
   echo ("yeni");
   echo "<br>";
   echo "$deg + $de";
   echo "<br>";
   echo '$deg';

Çıktısı
yeni
2 + 1
$deg

demekki oda sayıları string yapıyor tamamdır olay :)



Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

alquirel

Tek tırnak ile çift tırnak arasındaki farkları deneyerek görmek en güzeli :)
C dilinde tek tırnak tek karakter için, çift tırnak da stringler için kullanılıyor. PHPde ise bu durum değişiyor.

Ters slaş işaretini sadece içiçe ikiden fazla tırnak kullanmak zorunda olduğunuz zaman kullanırsınız.
Bu da sizin sadece root değil de 'root' şeklinde yazamama sorununuzun alternatif bir çözümü oluyor.
Yani

$MySqlName='\'$MySqlName\'';


Tabii ki bunun daha basit bir çözümü var :

$MySqlName="'$MySqlName'";

ecarpar

yalnız $degisken i ben ' içersinde yazdığımda içindeki değeri alamadım echo olarak $degisken verdi bana bu durumda ben text veri olarak bir değişkeni yazdıracağım fakat ' larıda olucak, bu yöntem oluyor evet işte orda kafam karıştı işte  :o
( ' ' ) lerin içindeki echo yu değişken ismi olarak verdi ? şimdi ise değerini verdi gitti beyin neyse 2 gün seminerim var cumaya devam ederiz artık :) akşamları girebilirsem sorularım devam edicek gibi.

Sökücem hacım bu personel home page dilini :) süper olmasada iş yapabilir hale gelmeye niyetliyim
Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

alquirel

Haklısın orayı gözden kaçırmışım kusura bakma ;)

Yazmak istediğimin doğrusu şu şekilde olacak:

$MySqlName="\"$MySqlName\"";

heartsmagic

Konu etiketlendiği için kapatıyorum.

Not: Etiket sondaydı, başa aldım.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.