İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

mysql sorgusu sonuçları değişkenlere atama ve sıralama.

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
61
Konum
Antalya
Kod:
$sql= mysql_query("select * from tablo ") or die (mysql_error());
		 while ($sql1= mysql_fetch_array($sql)){
		 $x=$sq1[alan1];
                 $y=$sq1[alan2]
		  }

şeklinde bir kod çalıştırıyorum ve x ve y şeklinde 8 tane sonuç alıyorum bu sonuç değişkene atamaya çalıştım ama atayamadım.
x y
1 2
1 3
2 4
2 1
2 3
gibi bunları değişkene atayıp kendi aralarında ilk önce x e sonra y ye göre nasıl sıralayabilirim?
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
61
Konum
Antalya
Hocam bu biraz basit oldu aslında aslında üç tablo var bir tablodaki verileri bu şekilde çağırıyorum $sql= mysql_query("select * from tablo ") or die (mysql_error());
while ($sql1= mysql_fetch_array($sql)){
$x=$sq1[alan1];
$y=$sq1[alan2]
sonra bu arada başka bir tablodan veriler geliyor 3 defa
while ı kullanıyorum ilk sorguya bağlı olarak. sonra 1 ve ikinci sorgudanda gelen verilerle 3. tablodaki alanları gruplatıp toplatıyorum. Ve bu toplattığım verilere göre ilk tablodaki alanları sıralamam gerekiyor. Ve sıralama işleminden sonra çıkan sonuçları ilk tablodaki sıralamaya göre sıralatmam gerekiyor.
}
1 tablo
isim no
ali 1
mustafa 2
hasan 3
2 tablo
no 1. 2. 1.s 2.s
1 2 3 4
3 1 3 5
2 3 2 4

2 tabloda kırmızı ile 1. dekilerin id leri var bunların karşılıklarını topluyabiliyorum.
mesela 1 = 8 ediyor
2 = 6 oluyor
3 = 7 oluyor
bunun gibi 8-9 alanlı bir sonuç için diğer tablolardanda veriler geliyor.
bunun için ilk sorguda burdan gelen verileri 1-3-2 şeklinde sırasıyla geçirmem gerekki çıkan sonuç büyükten küçüğe doğru bende bunu için şunu düşündüm eğer bu sorgudan gelen verileri

$sql= mysql_query("select * from tablo ") or die (mysql_error());
$degiskenx[0]..[8];
$degiskeny[0]..[8];
$degiskenm[0]..[8];
while ($sql1= mysql_fetch_array($sql)){
$degiskenx[1];$x=$sq1[alan1];
$degiskenx[1]=$sq1[alan2];
$degiskenm[1]=$sq1[alan3];
$degiskenx[1+1]
$degiskeny[1+1];
$degiskenx[1+2]
} gibi bir şeyler yapmaya çalıştım ama olmadı. sonra bu değişkenlerden aldığım verilere göre sıralamak kolay olur diye.
sonucta degiskenx[1]= ali degiskenx[2]=hasan degiskenx[3] mustafa ... diye 8 tane
$degiskeny[1]=8 $degiskeny[2]=7 $degiskeny[3]=6 ; bölye bişey yapmaya çalışıyorum.
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
61
Konum
Antalya
yada mysql de sanal bir alan oluşturabiliyormuyuz yani sanal bir tablo ?
bu access te var ama mysql de nasıl oluyor onu bilmiyorum sonuçta gelen verileri bu oluşturabileceğim sanal tabloya aktarıp sıralama yapabilirsemde çok daha basit olur :D. Cevap yazdığın için teşekkür ederim.
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
Sanala gerek yok normal bir tablo olustur.
İşlem yapmadan önce tabloyu sil.
Sonrada işlemleri yap.

Temporary (geçici) dediğimiz bu tablolar bu tip işlemler için çok faydalı olur.
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
61
Konum
Antalya
Sanala gerek yok normal bir tablo olustur.
İşlem yapmadan önce tabloyu sil.
Sonrada işlemleri yap.

Temporary (geçici) dediğimiz bu tablolar bu tip işlemler için çok faydalı olur.
peki bu şekilde diyelim iki kişi aynı anda değişik bir şey sorguladı bu temporary nin içine gelen verilerin bir biri ile karışma ihtimali varmı?
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
peki bu şekilde diyelim iki kişi aynı anda değişik bir şey sorguladı bu temporary nin içine gelen verilerin bir biri ile karışma ihtimali varmı?

Bu durumda temporary table yaratmalısın:

CREATE TEMPORARY TABLE ara_hesap_tablosu
(
...
..
)

Bu tablo sadece o bağlantı esnasında o kişiye görünür ve başka bağlantı esnasında paralel olarak bile yaratılsa çakışma olmaz.
Bağlantı kapandığında otomatik silinir.
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
61
Konum
Antalya
sağol hocam locolhostta sorun yokta serverda
Table 'internet_xxc2.temporary1' doesn't exist
bu hatayı veriyor.
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
Tabloyu programda bağlantı içinde yaratacaksınız. Yani phpmyadmin de 1 kez yaratıp sonra programı çalıştırmayla olmaz.
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
61
Konum
Antalya
Tabloyu promramda bağlantı içinde yaratacaksınız. Yani phpmyadmin de 1 kez yaratıp sonra programı çalıştırmayla olmaz.

hocam anlamadım. Tabloyu yaratıp içini doldurup sonra sorgulardan çaığırıyorum. localde sorun yokta nette olmuyor.
 

andyou

0
İyinet Üyesi
Katılım
15 Kasım 2007
Mesajlar
48
Reaction score
0
Konum
Sivas
yanlış anlamadıysam sana şöyle bir sorgu versem sanırım işini görecek ...

PHP:
$tablo = "SELECT * FROM tablon ORDER BY id DESC LIMIT 15";

$sor = mysql_query  ( $tablo ) ;
while  ( $cek = mysql_fetch_array ( $sor ) ) {
 
echo "<a title=".$cek['baslik']." href=".$cek['id']."-".$cek['baslik'].">".$cek['baslik']."<br>";
}
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
61
Konum
Antalya
Kod:
$hafix2=$hafix-1;
   mysql_query("CREATE TEMPORARY TABLE TEMPORARY1 (
  `id` int(11) NOT lisanssız auto_increment,
  `taax` text NOT lisanssız,
  `xtre` int(11) NOT lisanssız,
  `puopli` int(11) NOT lisanssız,
  `attiribi` int(11) NOT lisanssız,
  `yetiribi` int(11) NOT lisanssız,
  `avtiribi` int(11) NOT lisanssız,
  `galtiribi` int(11) NOT lisanssız,
  `maltribi` int(11) NOT lisanssız,
  `bertribi` int(11) NOT lisanssız,
  `sira` int(11) NOT lisanssız,
   PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0") or die (mysql_error());
		 $relt = mysql_query(" SELECT * FROM `grup` where grupid='1'") or die (mysql_error());
		 while ($ro3w = mysql_fetch_array($relt)) {
		 $res1 = mysql_query("select * from taax where id='$ro3w[taax]'") or die (mysql_error());
		 $ro8w = mysql_fetch_array($res1);
		 $taax=$ro8w[isim];
		 $xtre = mysql_query("select * from fixxxx where (taax1='$ro3w[taax]' or taax2='$ro3w[taax]') and hafix<='$hafix2' and o='e'") or die (mysql_error());
		 $xtrei = mysql_num_rows($xtre);
		 $xtre=$xtrei;
		 $puoplix1 = mysql_query("select puoplix1 from fixxxx where taax1='$ro3w[taax]' and hafix<='$hafix2' and o='e'") or die (mysql_error());
		 $x=0;
		 while ($puoplix11 = mysql_fetch_array($puoplix1)){
		 $x=$x+$puoplix11[puoplix1];
		  }
		  $puoplix2 = mysql_query("select puoplix2 from fixxxx where taax2='$ro3w[taax]' and hafix<='$hafix2' and o='e'") or die (mysql_error());
		  $y=0;
		 while ($puoplix22 = mysql_fetch_array($puoplix2)){
		 $y=$y+$puoplix22[puoplix2];
		  }
		 $puopli=$x+$y;
		 $av1 = mysql_query("select gox1 from fixxxx where taax1='$ro3w[taax]' and hafix<='$hafix2' and o='e'") or die (mysql_error());
		 $x=0;
		 while ($av11 = mysql_fetch_array($av1)){
		 $x=$x+$av11[gox1];
		  }
		  $av2 = mysql_query("select gox2 from fixxxx where taax2='$ro3w[taax]' and hafix<='$hafix2' and o='e'") or die (mysql_error());
		  $y=0;
		 while ($av22 = mysql_fetch_array($av2)){
		 $y=$y+$av22[gox2];
		  }
		  $attiribi=$x+$y;
		  $av1 = mysql_query("select gox2 from fixxxx where taax1='$ro3w[taax]' and hafix<='$hafix2' and o='e'") or die (mysql_error());
		 $x=0;
		 while ($av11 = mysql_fetch_array($av1)){
		 $x=$x+$av11[gox2];
		  }
		  $av2 = mysql_query("select gox1 from fixxxx where taax2='$ro3w[taax]' and hafix<='$hafix2' and o='e'") or die (mysql_error());
		  $y=0;
		 while ($av22 = mysql_fetch_array($av2)){
		 $y=$y+$av22[gox1];
		  }
		  $yetiribi=$x+$y;
		  $avtiribi=$attiribi-$yetiribi;
		  $ga = mysql_query("select puoplix1 from fixxxx where taax1='$ro3w[taax]' and hafix<='$hafix2' and puoplix1='3' and o='e'") or die (mysql_error());
		 $ga1 = mysql_num_rows($ga);
		 $ga2 = mysql_query("select puoplix2 from fixxxx where taax2='$ro3w[taax]' and hafix<='$hafix2' and puoplix2='3' and o='e'") or die (mysql_error());
		 $ga3 = mysql_num_rows($ga2);
		 $galtiribii= $ga3+$ga1;
		 $ga = mysql_query("select puoplix1 from fixxxx where taax1='$ro3w[taax]' and hafix<='$hafix2' and puoplix1='0' and o='e'") or die (mysql_error());
		 $ga1 = mysql_num_rows($ga);
		 $ga2 = mysql_query("select puoplix2 from fixxxx where taax2='$ro3w[taax]' and hafix<='$hafix2' and puoplix2='0' and o='e'") or die (mysql_error());
		 $ga3 = mysql_num_rows($ga2);
		 $maltribii=$ga3+$ga1;
		 $ga = mysql_query("select puoplix1 from fixxxx where taax1='$ro3w[taax]' and hafix<='$hafix2' and puoplix1='1' and o='e'") or die (mysql_error());
		 $ga1 = mysql_num_rows($ga);
		 $ga2 = mysql_query("select puoplix2 from fixxxx where taax2='$ro3w[taax]' and hafix<='$hafix2' and puoplix2='1' and o='e'") or die (mysql_error());
		 $ga3 = mysql_num_rows($ga2);
		 $bertribi=$ga3+$ga1;
		  mysql_query("INSERT INTO `temporary1` ( `id` , `taax` , `xtre` , `puopli` , `attiribi` , `yetiribi` , `avtiribi` , `galtiribi` , `maltribi` , `bertribi` ) VALUES (lisanssız , '$taax', '$xtre', '$puopli', '$attiribi', '$yetiribi', '$avtiribi', '$galtiribii', '$maltribii', '$bertribi' )") or die (mysql_error());
		  	  }
		  
/////////////////////////////////////////////////////////////////////////////////////////
   mysql_query("CREATE TEMPORARY TABLE TEMPORARY (
  `id` int(11) NOT lisanssız auto_increment,
  `taax` text NOT lisanssız,
  `xtre` int(11) NOT lisanssız,
  `puopli` int(11) NOT lisanssız,
  `attiribi` int(11) NOT lisanssız,
  `yetiribi` int(11) NOT lisanssız,
  `avtiribi` int(11) NOT lisanssız,
  `galtiribi` int(11) NOT lisanssız,
  `maltribi` int(11) NOT lisanssız,
  `bertribi` int(11) NOT lisanssız,
  `sira` int(11) NOT lisanssız,
   PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0") or die (mysql_error());
		 $relt = mysql_query(" SELECT * FROM `grup` where grupid='1'") or die (mysql_error());
		 while ($ro3w = mysql_fetch_array($relt)) {
		 $res1 = mysql_query("select * from taax where id='$ro3w[taax]'") or die (mysql_error());
		 $ro8w = mysql_fetch_array($res1);
		 $taax=$ro8w[isim];
		 $xtre = mysql_query("select * from fixxxx where (taax1='$ro3w[taax]' or taax2='$ro3w[taax]') and hafix<='$hafix' and o='e'") or die (mysql_error());
		 $xtrei = mysql_num_rows($xtre);
		 $xtre=$xtrei;
		 $puoplix1 = mysql_query("select puoplix1 from fixxxx where taax1='$ro3w[taax]' and hafix<='$hafix' and o='e'") or die (mysql_error());
		 $x=0;
		 while ($puoplix11 = mysql_fetch_array($puoplix1)){
		 $x=$x+$puoplix11[puoplix1];
		  }
		  $puoplix2 = mysql_query("select puoplix2 from fixxxx where taax2='$ro3w[taax]' and hafix<='$hafix' and o='e'") or die (mysql_error());
		  $y=0;
		 while ($puoplix22 = mysql_fetch_array($puoplix2)){
		 $y=$y+$puoplix22[puoplix2];
		  }
		 $puopli=$x+$y;
		 $av1 = mysql_query("select gox1 from fixxxx where taax1='$ro3w[taax]' and hafix<='$hafix' and o='e'") or die (mysql_error());
		 $x=0;
		 while ($av11 = mysql_fetch_array($av1)){
		 $x=$x+$av11[gox1];
		  }
		  $av2 = mysql_query("select gox2 from fixxxx where taax2='$ro3w[taax]' and hafix<='$hafix' and o='e'") or die (mysql_error());
		  $y=0;
		 while ($av22 = mysql_fetch_array($av2)){
		 $y=$y+$av22[gox2];
		  }
		  $attiribi=$x+$y;
		 $av1 = mysql_query("select gox2 from fixxxx where taax1='$ro3w[taax]' and hafix<='$hafix' and o='e'") or die (mysql_error());
		 $x=0;
		 while ($av11 = mysql_fetch_array($av1)){
		 $x=$x+$av11[gox2];
		  }
		  $av2 = mysql_query("select gox1 from fixxxx where taax2='$ro3w[taax]' and hafix<='$hafix' and o='e'") or die (mysql_error());
		  $y=0;
		 while ($av22 = mysql_fetch_array($av2)){
		 $y=$y+$av22[gox1];
		  }
		  $yetiribi=$x+$y;
		 $avtiribi=$attiribi-$yetiribi;
		 $ga = mysql_query("select puoplix1 from fixxxx where taax1='$ro3w[taax]' and hafix<='$hafix' and puoplix1='3' and o='e'") or die (mysql_error());
		 $ga1 = mysql_num_rows($ga);
		 $ga2 = mysql_query("select puoplix2 from fixxxx where taax2='$ro3w[taax]' and hafix<='$hafix' and puoplix2='3' and o='e'") or die (mysql_error());
		 $ga3 = mysql_num_rows($ga2);
		 $galtiribii= $ga3+$ga1;
		 $ga = mysql_query("select puoplix1 from fixxxx where taax1='$ro3w[taax]' and hafix<='$hafix' and puoplix1='0' and o='e'") or die (mysql_error());
		 $ga1 = mysql_num_rows($ga);
		 $ga2 = mysql_query("select puoplix2 from fixxxx where taax2='$ro3w[taax]' and hafix<='$hafix' and puoplix2='0' and o='e'") or die (mysql_error());
		 $ga3 = mysql_num_rows($ga2);
		 $maltribii=$ga3+$ga1;
		 $ga = mysql_query("select puoplix1 from fixxxx where taax1='$ro3w[taax]' and hafix<='$hafix' and puoplix1='1' and o='e'") or die (mysql_error());
		 $ga1 = mysql_num_rows($ga);
		 $ga2 = mysql_query("select puoplix2 from fixxxx where taax2='$ro3w[taax]' and hafix<='$hafix' and puoplix2='1' and o='e'") or die (mysql_error());
		 $ga3 = mysql_num_rows($ga2);
		 $bertribi=$ga3+$ga1;
		 mysql_query("INSERT INTO `temporary` ( `id` , `taax` , `xtre` , `puopli` , `attiribi` , `yetiribi` , `avtiribi` , `galtiribi` , `maltribi` , `bertribi` ) VALUES (lisanssız , '$taax', '$xtre', '$puopli', '$attiribi', '$yetiribi', '$avtiribi', '$galtiribii', '$maltribii', '$bertribi' )") or die (mysql_error());
		  }
//////////////////////////////////////////////////////////////////////////////////////////////////////
		  //Siralama
		$xtrixtitablosu =  mysql_query("SELECT * FROM `temporary1` ORDER BY `puopli` DESC , `avtiribi` DESC , `attiribi` DESC , `taax` asc LIMIT 0 , 30") or die (mysql_error());
		$sira=1;
		while ($xtrixtis = mysql_fetch_array($xtrixtitablosu)){
		mysql_query("UPDATE `temporary1` SET `sira` = '$sira' WHERE `id` ='$xtrixtis[id]' ");
		$sira++; }
		$xtrixtitablosu1 =  mysql_query("SELECT * FROM `temporary` ORDER BY `puopli` DESC , `avtiribi` DESC , `attiribi` DESC , `taax` asc LIMIT 0 , 30") or die (mysql_error());
		$sira=1;
		while ($xtrixtis1 = mysql_fetch_array($xtrixtitablosu1)){
		mysql_query("UPDATE `temporary` SET `sira` = '$sira' WHERE `id` ='$xtrixtis1[id]' ");
		$sira++; }
		$skrtb =  mysql_query("SELECT * FROM `temporary` ORDER BY `sira` asc") or die (mysql_error());
		while ($skk = mysql_fetch_array($skrtb)){
		echo "<tr>  
        <td ><b>";
		$haft1 =  mysql_query("SELECT * FROM temporary1 where taax='$skk[taax]' ");    
		$haft11 = mysql_fetch_array($haft1);  
		$haf1=$haft11[sira];
		$haft2 =  mysql_query("SELECT * FROM temporary where taax='$skk[taax]' ");
		$haft22 = mysql_fetch_array($haft2);  
		$haf2=$haft22[sira];
		if ($haf1==$haf2){echo "<img border=0 src=resim/sa.gif>";} else {
	if ($haf1<$haf2){echo "<img border=0 src=resim/du.gif>";} else {echo"<img border=0 src=resim/ci.gif>";}}
	echo"</b></td>
	<td >";
	$adres =  mysql_query("SELECT * FROM `taax` where isim='$skk[taax]'") or die (mysql_error());
	$adr = mysql_fetch_array($adres);
	echo "<a href=";
	echo $adr[sayfa];
	echo ">";
	echo $skk[taax];
	echo "</a>";
	echo"</td>
    <td >$skk[xtre]</td>
    <td >$skk[puopli]</td>
    <td >$skk[attiribi]</td>
	<td >$skk[yetiribi]</td>
	<td >$skk[avtiribi]</td>
	<td >$skk[galtiribi]</td>
	<td >$skk[maltribi]</td>
	<td >$skk[bertribi]</td>
  </tr>";  }
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
61
Konum
Antalya
tabloyu oluşturduktan sonra update ediyorum acaba bundan kaynaklanıyor olabilirmi. Yeni başlayan biri için baya uzun bi kod oldu sanırım :).
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
Kodu debug et. Sorun tam olarak nerde, temporary tabloları mı yaratamıyorsun yoksa başka bişey mi.
Temporary1 tablosuna Insert yaptıktan sonra, içindekileri ekrana bas.
Aynı şekilde Temporary1 tablosunu update ettikten sonra update ettiğin satırı update olmuşmu olmamışmı bak.
Sistem sende ve kapalı olduğu için sorunu en iyi sen çözersin.
 

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.

Üst