PHP soyadı aynı olan kişileri ekrana yazdırma

laledevri00

Yoctopat
Katılım
3 Ocak 2023
Mesajlar
2
Daha fazla  
Cinsiyet
Erkek
Merhaba iyi günler, bir işlem yapıyorum bir sorgum var fakat koşullu olmasını istiyorum. Örnegin müşteri diye bir tablom var ad soyad şeklinde 3 tane verim var, mesela Ahmet ocak Mehmet ocak sadık aslan diyelim. Ben bunu PHP ile ekrana şöyle yazdırmak istiyorum mesela Ahmet'e sorgu attığımda Ahmet ve Mehmet çıkmasını istiyorum yani şöyle bir sorgu attığımda soyadı aynı olanları ekrana yazdırmasını istiyorum nasıl yapabilirm?
 
Ahmet olarak sorgu attığınızda Mehmet gelmez fakat Ocak diye sorgu yaparsanız ikisi de gelir.

SQL:
SELECT * FROM ornektablo WHERE soyad="ocak"

Gibi.

Ad soyad ikisi de aynı veriyse yani sütünda Ahmet Ocak şeklinde yazılıysa bütün verileri çekip PHP'de koşul yazmalısınız örnek:

PHP:
<?php
   
$data = ["Ahmet Ocak", "Mehmet Ocak", "John Doe", "Doe John"];

foreach($data as $value)
{
    $explodeData = explode(' ', $value); //Boşluk yardımıyla ad soyad ikilisini ayırır.
    $onlySurname = $explode[1]; //Sadece soyadını alır. İsmi almak için de $explode[0] kullanırız.
   
    if($onlySurname == "Ocak") //Ocak değeri tanımlı olmalı.
    {
        echo $onlySurname . "\n";
    }
}

Unutmayın ki bu örnektir, programlamada her şeyin bir alternatifi vardır.
 
Son düzenleme:
Merhaba iyi günler, bir işlem yapıyorum bir sorgum var fakat koşullu olmasını istiyorum. Örnegin müşteri diye bir tablom var ad soyad şeklinde 3 tane verim var, mesela Ahmet ocak Mehmet ocak sadık aslan diyelim. Ben bunu PHP ile ekrana şöyle yazdırmak istiyorum mesela Ahmet'e sorgu attığımda Ahmet ve Mehmet çıkmasını istiyorum yani şöyle bir sorgu attığımda soyadı aynı olanları ekrana yazdırmasını istiyorum nasıl yapabilirm?

ChatGPT kullanmayı dene işine yarayacaktır.
 
Ahmet olarak sorgu attığınızda Mehmet gelmez fakat ocak diye sorgu yaparsanız ikisi de gelir.

SQL:
SELECT * FROM ornektablo WHERE soyad="ocak"

Gibi.

Ad soyad ikisi de aynı veriyse yani sütünda Ahmet ocak şeklinde yazılıysa bütün verileri çekip PHP'de koşul yazmalısınız örnek:

PHP:
<?php

$data = ["Ahmet Ocak", "Mehmet Ocak", "John Doe", "Doe John"];

foreach($data as $value)
{
 $explodeData = explode(' ', $value); //Boşluk yardımıyla ad soyad ikilisini ayırır.
 $onlySurname = $explode[1]; //Sadece soyadını alır. İsmi almak için de $explode[0] kullanırız.

 if($onlySurname == "Ocak") //Ocak değeri tanımlı olmalı.
 {
 echo $onlySurname . "\n";
 }
}

Unutmayın ki bu örnektir, programlamada her şeyin bir alternatifi vardır.

1'den fazla isme sahip kişiler illaki olacaktır. Böyle durumlarda $explode[1] kişinin 2. adını bize verecektir. Örneğin sistemde kayıtlı olan isimlerden biri "Arif Nihat Asyalı" olsa, bu kişinin soyadı Nihat gibi hareket eder.
Benim tavsiyem $onlySurname = end($explode); kullanarak explode dizisinde ki son elemanı almak. Böylelikle 1'den fazla ismi olan kayıtlarda kesin çözüm olacaktır. Türk isimlerinde bu kesin çözüm olsa da Fransa'da, Afrika'da Norveç vb. ülkelerde soy isimler 2-3 kelime hatta eklerden oluşabiliyor. Örneğin soy ismi "de Gaule" olan tam adı "Bernard de Gaule Bourlard b Vöörk" olan insanlar var. En kral hareket ismini ve soy ismini tabloda ayrı yerlerde tutmak. Sanırım başlığı açan arkadaşımız da sanırım öyle yapmış.
 
1'den fazla isme sahip kişiler illaki olacaktır. Böyle durumlarda $explode[1] kişinin 2. adını bize verecektir. Örneğin sistemde kayıtlı olan isimlerden biri "Arif Nihat Asyalı" olsa, bu kişinin soyadı Nihat gibi hareket eder.
Benim tavsiyem $onlySurname = end($explode); kullanarak explode dizisinde ki son elemanı almak. Böylelikle 1'den fazla ismi olan kayıtlarda kesin çözüm olacaktır. Türk isimlerinde bu kesin çözüm olsa da Fransa'da, Afrika'da Norveç vb. ülkelerde soy isimler 2-3 kelime hatta eklerden oluşabiliyor. Örneğin soy ismi "de Gaule" olan tam adı "Bernard de Gaule Bourlard b Vöörk" olan insanlar var. En kral hareket ismini ve soy ismini tabloda ayrı yerlerde tutmak. Sanırım başlığı açan arkadaşımız da sanırım öyle yapmış.
Son cümlemde de dediğim gibi, programlamada her şeyin bir alternatifi vardır. Yazılan kod ise tamamen bir örnek. Konu sahibi ihtiyaçlarını belirleyip ona göre devasa algoritmalar yazması bile gerekebilir.
 
Merhaba cevaplarınız için hepinize teşekkür ediyorum kısaca bilgi vereceğim istediğim tek şey şu sadece 3 tane veri var sqlde biri ahmet aslan biri hakan aslan diğeri ise ceylan taş diyelim ben ahmet die inputtan sorgu attığım da bana veri olarak ahmet aslanı listelicek mantıkken fakat ben böyle istiyorum Ahmet die sorgu attığımda soyadı aslan olan tüm verilerin çekmesini istiyorum yani input olarak soyad yerine ahmet adına sorgu attığım da ahmet aslan ve hakan aslanın ekrana yazılmasını istiyorum lütfen 🙏
 
Girdiye "Ahmet" yazıldığında, Ahmet ile aynı soy ismi taşıyanların listelenmesini istiyorsun? Herhangi bir veritabanından da bahsetmemişsin.
 

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı