<?php
$ogrenciler = array(
array("numara" => "1", "isim" => "Ali", "not" => 90),
array("numara" => "2", "isim" => "Berat", "not" => 40),
array("numara" => "3", "isim" => "Berke", "not" => 50),
array("numara" => "4", "isim" => "Emre", "not" => 30)
);
if(isset($_POST["submit"])){
$aranan_numara = $_POST["numara"];
$ogrenci = null;
foreach ($ogrenciler as $o) {
if ($o["numara"] == $aranan_numara) {
$ogrenci = $o;
break;
}
}
if ($ogrenci != null) {
echo "Öğrenci adı: " . $ogrenci["isim"] . "<br>";
echo "Öğrenci numarası: " . $ogrenci["numara"] . "<br>";
echo "Öğrenci notu: " . $ogrenci["not"] . "<br>";
} else {
echo "Öğrenci bulunamadı.";
}
}
?>
<form method="POST">
<caption>Öğrenci Paneli</caption>
<br>
<input type="text" style="width: 220px" placeholder="Öğrencinin numarasını giriniz." name="numara" id="numara">
<br>
<input type="submit" name="submit" value="Öğrenciyi Ara">
</form>
<?php
$ogrenciler = [
(object) [
'numara' => '1',
'isim' => 'Ali',
'not' => 90,
],
(object) [
'numara' => '2',
'isim' => 'Berat',
'not' => 40,
],
(object) [
'numara' => '3',
'isim' => 'Berke',
'not' => 50,
],
(object) [
'numara' => '4',
'isim' => 'Emre',
'not' => 30,
],
];
if (isset($_POST["submit"])) {
$aranan_numara = $_POST["numara"];
$ogrenci = null;
foreach ($ogrenciler as $o) {
if ($o->numara == $aranan_numara) {
$ogrenci = $o;
break;
}
}
if ($ogrenci != null) {
echo "Öğrenci adı: " . $ogrenci->isim . "<br>";
echo "Öğrenci numarası: " . $ogrenci->numara . "<br>";
echo "Öğrenci notu: " . $ogrenci->not . "<br>";
} else {
echo "Öğrenci bulunamadı.";
}
}
?>
<form method="POST">
<caption>Öğrenci Paneli</caption>
<br>
<input type="text" style="width: 220px" placeholder="Öğrencinin numarasını giriniz." name="numara" id="numara">
<br>
<input type="submit" name="submit" value="Öğrenciyi Ara">
</form>
İstediğim şey şu yani 0 numaralı öğrenciyi girdiğimde 1 kere çalışıp 1 kere başarılı diyor fakat 2,3 numaralı öğrencileri girdiğimde for döngsü olduğu için 4 kere çalışıyor ve ilk başlarda başarısırız hatası veriyor ben bu başarısırız hatalı gizleyip sadece başarılı gözükmesini istiyorum.
PHP'de in_array fonksiyonu var, onu kullanarakİstediğim şey şu yani 0 numaralı öğrenciyi girdiğimde 1 kere çalışıp 1 kere Başarılı diyor fakat 2,3 numaralı öğrencileri girdiğimde for döngsü olduğu için 4 kere çalışıyor ve ilk başlarda başarısırız hatası veriyor ben bu başarısırız hatalı gizleyip sadece başarılı gözükmesini istiyorum.
$_POST["numara"]
'nın dizi içerisinde olup olmadığını kontrol edebilirsin. Ya da başarısız hatalarını göstermek istiyorsan direkt for döngüsü içerisindeki else'i sil ve başarısız yazmasın?O zaman for döngüsü içerisinde else kullanmayın. Aklıma şu an for döngüsü üstünde bir değişken oluşturmak geldi. Bu değeri örneğin varsayılan olarak 0 değerine eşitleyin. Eğer kullanıcının aradığı değer diziniz içerisinde varsa if bloğu içerisinde for döngüsü üstünde oluşturduğunuz değişkenin değerini 1 arttırın. Daha sonra for döngüsü dışında bir if bloğu ile bu değişkenin değerini kontrol edin. Değer eğer 0 ise başarısız 1 ise başarılı sonucunu ekrana çıkarabilirsiniz.
PHP'de in_array fonksiyonu var, onu kullanarak$_POST["numara"]
'nın dizi içerisinde olup olmadığını kontrol edebilirsin. Ya da başarısız hatalarını göstermek istiyorsan direkt for döngüsü içerisindeki Else'i sil ve başarısız yazmasın?
Dediğiniz gibi yaptım istediğim gibi çalıştı sağ olun bir de diğer arkadaşınkini de denemek istiyorum hangisi pratik gelirse bundan sonra onu uygulayacağım herkesin yardımı için teşekkürler.
Yardımcı olabildiysem ne mutluher bir sorun birçok farklı yolla çözülebilir. Burada en önemli şey mantığı kavramanızdır. Kesinlikle kodları ezberlemeye çalışmayın. İşlerin temelini anlamaya çalışın.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.