İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Array ile mysql karşılaştırma ve yazdırma?

jeremyc40

0
İyinet Üyesi
Katılım
13 Temmuz 2012
Mesajlar
8
Reaction score
0
Merhaba, xml ve php'ye yeni başladım ve öğrendiğim kadarıyla kendi kendime geliştirmeye çalışıyorum. 2 gündür çözemediğim bir yerde takıldım. yardımcı olursanız çok sevinirim.

elimde bir xml dosyası var, deneme.xml diye bunu navicat ile mysql'e import ettim.

import ettiğim kayıtlardan birkaçı şöyle BolgeKodu, BolgeId, BolgeAdi, Bolge, BolgeAciklama gibi değerler ve bilgiler var.

bu bilgileri doğru kullanabilmem için ayrıca xmlrequest ile bölge müsaitliği sorguluyorum ve gelen cevabı simplexml ile çekiyorum daha sonra object2array fonksiyonu ile arraya döndürüyorum.

arrayda bulunan bilgilerdende birkaçı şöyle

Array
(
[ToplamBulunan] => 6
[BolgeId] => A7RG
[KullanBolge] => Array
(
[Bolge] => Array
(
[0] => Array
(
[BolgeKodu] => 132
[BolgeAdi] => adana
[BolgeAciklama] => aciklama
)
[1] => Array
(
[BolgeKodu] => 156
[BolgeAdi] => antalya
[BolgeAciklama] => aciklama
)

) )

yapmak istiyipte yapamadığım, veritabanından çektirdiğim bolgekodlarıyla arraydaki bolgekodları uyuşuyorsa hem uyuşan arraydaki bilgileri hemde veritabanındaki bilgileri yazdırabilmek. bunun için birçok yol denedim iki veriyi karşılaştırabiliyorum ama arraydakiyle veritabınındaki bilgileri birleştirip yazdıramıyorum. Umarım anlaşılır olmuşumdur.
 

CryForLive

0
İyinet Üyesi
Katılım
31 Ocak 2012
Mesajlar
164
Reaction score
0
Konum
İstanbul
Dostum çok karışık bir mevzuya girmişsin :D ama şöyle bir açıklamada bulunayım while döngüsü içinde if koşulları oluştur mesela veritabanından veriyi çek sonra while oluştur ve döngünün içine bir if koşulu yap sonra şunu uygula eğer dizideki anahtar ile veritabanında ki anahtar == eşit eşitse şunu uygula şeklinde bir kod yapısı oluştur benim şuan mantığıma oturan kısım bu :)
 

jeremyc40

0
İyinet Üyesi
Katılım
13 Temmuz 2012
Mesajlar
8
Reaction score
0
Dostum çok karışık bir mevzuya girmişsin :D ama şöyle bir açıklamada bulunayım while döngüsü içinde if koşulları oluştur mesela veritabanından veriyi çek sonra while oluştur ve döngünün içine bir if koşulu yap sonra şunu uygula eğer dizideki anahtar ile veritabanında ki anahtar == eşit eşitse şunu uygula şeklinde bir kod yapısı oluştur benim şuan mantığıma oturan kısım bu :)

Evet biraz karışık ama birçok fonksiyonu, bu yöntemle öğrendim. birkaç yerde okuduğum kadarıyla foreach içinde foreach ile çözebilirim galiba bu işi fakat hala yapamadım. 3-4 gündür uğraşıyorum bir yandan iyi oluyor birçok kaynak araştırıyorum, bilmediğim şeyleride öğrenmiş oluyorum ama belli biryerde istediğimi yapamayınca insan o işten soğumaya başlıyor tez zamanda çözebilsem keşke şu problemi. while ve if ile çok şey denedim ama sonuca ulaşamadım ne yazık ki yinede sağol fikrin için.
 

CryForLive

0
İyinet Üyesi
Katılım
31 Ocak 2012
Mesajlar
164
Reaction score
0
Konum
İstanbul
ben şöyle bir şey yaptım ve sonuç aldım

Kod:
<?php
// Bağlantı Yap
if (mysql_select_db("lm", mysql_connect("localhost","root",""))) {echo 'Bağlantı başarılı';}else {echo 'Bağlantı başarısız.';}

	// Diziler
	$dizi = array(
	"selam" => "Vahdet",
	"hello" => "Fuat",
	"what" => "naber",
	"ls" => "ks"
	);
	
$bul = mysql_query("select * from ls");

        
        while($gos = mysql_fetch_array($bul)) {
			foreach ($dizi as $anahtar=>$og) {
				if ($og == $gos["ad"]) {
					echo 'İsimler doğru<br />';
				}else {
					echo 'İsimler yanlış.<br />';
				}
			}
        }



?>

veritabanında 4 tane isim var dizide ise 4 tane değer var dedimki eğer bu dizilerin içinde ki değerler veritabanındakine eşitse doğru deilse yanlış diye bir sonuç ver dedim ve dizdeki değerlerden 2 tanesi veritabanındaki 2 veri ile eşit olduğundan 2 defa doğru sonucunu diğerleri içinde yanlış sonucunu aldım.
 

jeremyc40

0
İyinet Üyesi
Katılım
13 Temmuz 2012
Mesajlar
8
Reaction score
0
Bu şekilde hallettim başka bir forumdan bir arkadaş yardım etti sağ olsun. Belki başka birilerinin de işine yarar bu çözüm.

foreach($array['KullanBolge']['Bolge'] as $bolge){
$yer= $bolge['BolgeKodu'];
foreach($mysqlgelenbilgiler['BolgeKodu'] as $mysqlgelenbilgi){
if($yer == $mysqlgelenbilgi){echo $yer.$mysqlgelenbilgi;}
}}
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst