Aspde Ubotun Komutu Phpde Nedir
-
öncelikle asp kodunu vermek istiyorum
burada anahtarlar = id numaları olarak yani -5-7-8-9 olarak listeleniyor.Daha sonra ;anahtar=cek("anahtar")
anahtarlar=anahtarlar&"-"&cek("id")
phpde ubound komutu tarzı birşey istiyorum daha doğrusu sizden isteğim şu ;
burada idler -5 -7 olarak görünüyor.Ben bunları ekrana döngü gibi birşeylemysql_connect ("localhost","root","11") ;
mysql_select_db ("test");
$sorgu=@mysql_query("SELECT id,anahtar,cevap FROM tablo ");
while ($oku=@mysql_fetch_array($sorgu))
{
$anahtarlar=$anahtarlar."-".$oku['id'];
echo $oku['cevap']."<br>";
}
$ayir = split("[-]",$anahtarlar) ;
5
7
olarak yazmak istiyorum.Nasıl yapacağımı bilemdim print_r kullandım fakat bu seferde array olarak atadı karıştı.Sadece 5 - 7 yazsın.Bu değişken olacığından sürekli farklı idler verebilir.ASpde ubound(ayir) diyebiliyoruz bu sayede ayir değerinin kaç olduğunu buluyoruz.Phpde nasıl bu ?
Yani yapmak istediğim şey şu ;
eğer $ayir > 0
döngü ile $ayir içindeki rakamları split yardımıyla - den kurtarıp
1
3
9
25
gibi yazdırmak.Nasıl yapabilirm bunu ? Biraz karışık oldu umarım anlatabildim -
anladıysam arap olayım zumsük :|
-
zumsuk hiç bişe anlamadım. şoyle bi derin nefes al, sakin bir şekilde anlat derdini
-
hocam şimdi elimde dbden değişkene göre geln idler var.Fakat idler -8-9-7 olarak alıyorum.
Şimdi istediğim şu
1- aldığım idlerin hepsini ($anahtarlar oluyo) içinde kaç id olduğunu öğrenmek.Ubound komutu var aspde örneğin;
-4-9-23 var.Burada split ile - lerini atıyorum ve geir kalan 4,9,23 ü değerlendiriyorum.Ubound() yaptığımda 3 diye çıkacaktır.
2- bu -4-9-23 ü - lerden arındırıp (spilti ile) döngüye sokup
4
9
23yazdırmak istiyorum :-/
edit: yine anlatamaya bilirim kodları inceleyin;
mysql_connect ("localhost","root","11") ;
mysql_select_db ("test");
$sorgu=@mysql_query("SELECT id,anahtar,cevap FROM tablo ");
while ($oku=@mysql_fetch_array($sorgu))
{
$anahtarlar=$anahtarlar."-".$oku['id'];
echo $oku['cevap']."<br>";
}asdf $anahtarlar kısmında idler -8-6-4 şeklinde tutuluyor.Burdan sonra yapmak istediğm $anahtarların içinde -4 gibi kaç id olduğunu bulmak ve onları - işaretinden kurtararak
4
9
vs..die sıralamak
-
Hocam anahtarları arraya atıp sonradan count($array) şeklinde saydırsan. Eğer bunu sıralı bir şekilde 1-5-10-11 gibi yazdırmak veya bir değişkene atmak istersen de implode kullanabilirsin.
while ($oku=@mysql_fetch_array($sorgu))
{
$anahtarlar[]=oku['id'];
echo $oku['cevap']."
";
}
$ayir = implode("-",$anahtarlar) ; //1-5-10-11
$kactane=count($anahtarlar);
foreach($anahtarlar as $tekanahtar){
echo $tekanahtar."<br>";
}
/*
1
510
11
*/
-
db de kaç tane id olduğunu bulmak için mysql_num_rows yapabilirsin. yazdırmak içinde foreach kullanabilirsin
$sql = mysql_query("SELECT id,anahtar,cevap FROM tablo");
$sayi = mysql_num_rows($sql);$sql_array = mysql_fetch_array($sql);
foreach ($sql_array as &$i) {
echo $i."
";}
edit:
bide anahtarları küçükten büyüğe seçmek istiyorsan mysql_query nin sonuna
order by anahtar asc
diyebilirsin. büyükten küçüğe almak için asc yerine desc
-
saolun birazdan deniyicem.Büyük küçük değilde istediğim onunla iligli idleri alıp içlerinden birini seçip
$bunucek e atamak.Deneyeceğm
-
ubound diyorsan
count($dizi)-1
-
zumsuk sanırım cozdun olayı ama phpde array ile ugrasıyorsak cozumu ilk olarak foreachle aramak daha karlı oluyor vallahi.
en azından benim suana kadar yaptıgım islerin içinde foreach yerine hep coutn ıle eleman sayıp while yada forlu donguler var yer yer arıza cıkarıyorlar ama foreachte bir terslik ihtimali yok bence.
ayrıca php dizilerde çok fantastik :P
http://www.php.net/manual/tr/book.array.php
http://www.php.net/manual/tr/array.sorting.php
dün gecede kurcaladımda kendimce yapmaya calıstıgım şeylerin fonksiyonlarının olduğunu fark ettim ^^ -
gVeR bunu yazdı:
-----------------------------ubound diyorsan
count($dizi)-1
-----------------------------daha bakmadımda -1 ne oluyor hocam ?
-
zumsuk bunu yazdı:
-----------------------------
gVeR bunu yazdı:
-----------------------------
-----------------------------daha bakmadımda -1 ne oluyor hocam ?
-----------------------------
-1'e gerek yok eğer kaç elemanı olduğunu bulmak istiyorsak.
for, while gibi döngülerde kullanırken -1 yapılır genellikle oda dizinin ilk elemanı 0 dan başladığı için
for($i=0;$i<=count($dizi)-1;$i++) gibi
