• 27-04-2009, 01:51:47
    #1
    Kendi yazdığım, bağlantı ve query için kullandığım bir sınıf...

    <?php
    	/****************************************************
    	*           Yazar: G.Gökmen Korkmaz                                              *
    	*           Mail: gokmen.korkmaz@gmail.com                                 *
    	*           www.harikaonline.com                                                     *
    	****************************************************/	
    	class gokmen_data {
    		var $system;
    		function connect($host,$username,$password,$db) {
    			switch($this->system){
    				case "MySQL";
    					$connect = @mysql_connect($host,$username,$password);
    					if (!$connect){
    						echo "<table width='100%' height='100%'>\n<tr>\n<td valign='middle' align='center'>\n";
    						echo "<table width='30%' height='30%'>\n<tr>\n<td align='center' bgcolor='#CCCCCC'>";
    						echo "Baglanti Kurulamadı: ". mysql_error();
    						echo "</td>\n</tr>\n</table>\n</td>\n</tr>\n</table>";
    						exit;
    					}
    					$select_db = @mysql_select_db($db);
    					if (!$select_db){
    						echo "<table width='100%' height='100%'>\n<tr>\n<td valign='middle' align='center'>\n";
    						echo "<table width='30%' height='30%'>\n<tr>\n<td align='center' bgcolor='#CCCCCC'>";
    						echo "Baglanti Kurulamadı: ". mysql_error();
    						echo "</td>\n</tr>\n</table>\n</td>\n</tr>\n</table>";
    						exit;
    					}
    				break;
    				case "PostGreSQL";
    					$connect = @pg_connect("host=$host dbname=$db user=$username password=$password");
    					if (!$connect){
    						echo "<table width='100%' height='100%'>\n<tr>\n<td valign='middle' align='center'>\n";
    						echo "<table width='30%' height='30%'>\n<tr>\n<td align='center' bgcolor='#CCCCCC'>";
    						echo "Baglanti Kurulamadı: ". pg_last_error($connect);
    						echo "</td>\n</tr>\n</table>\n</td>\n</tr>\n</table>";
    						exit;
    					}
    				break;
    				case "MsSQL";
    					$connect = @mssql_connect($host,$username,$password);
    					if (!$connect){
    						echo "<table width='100%' height='100%'>\n<tr>\n<td valign='middle' align='center'>\n";
    						echo "<table width='30%' height='30%'>\n<tr>\n<td align='center' bgcolor='#CCCCCC'>";
    						echo "Baglanti Kurulamadı: ". mssql_get_last_message();
    						echo "</td>\n</tr>\n</table>\n</td>\n</tr>\n</table>";
    						exit;
    					}
    					$select_db = @mssql_select_db($db);
    					if (!$select_db){
    						echo "<table width='100%' height='100%'>\n<tr>\n<td valign='middle' align='center'>\n";
    						echo "<table width='30%' height='30%'>\n<tr>\n<td align='center' bgcolor='#CCCCCC'>";
    						echo "Baglanti Kurulamadı: ". mssql_get_last_message();
    						echo "</td>\n</tr>\n</table>\n</td>\n</tr>\n</table>";
    						exit;
    					}
    				break;
    			}
    		}
    		function query_wiev($sql){
    			switch($this->system){
    				case "MySQL";
    					$result = mysql_query($sql);
    					$i=0;
    					while($row = mysql_fetch_assoc($result)){
    						$rows[$i]=$row;
    						$i++;
    					}
    					return $rows;
    				break;
    				case "PostGreSQL";
    					$result = pg_query($sql);
    					$i=0;
    					while($row = pg_fetch_assoc($result)){
    						$rows[$i]=$row;
    						$i++;
    					}
    					return $rows;					
    				break;
    				case "MsSQL";
    					$result = mssql_query($sql);
    					$i=0;
    					while($row = msqsql_fetch_assoc($result)){
    						$rows[$i]=$row;
    						$i++;
    					}
    					return $rows;					
    				break;
    			}
    		}
    		function query_iud($sql){
    			switch($this->system){
    				case "MySQL";
    					mysql_query($sql);
    				break;
    				case "PostGreSQL";
    					pg_query($sql);
    				break;
    				case "MsSQL";
    					mssql_query($sql);
    				break;
    			}
    		}
    	}
    ?>
    Kullanım:
    <?php
    	require('gk_classes.php');
    	$baglan = new gokmen_data;
    	$baglan->system = "MySQL";
    	$baglan->connect("localhost","user","password","database");
    	$row = $baglan->query_wiev("SELECT * FROM tablo");
    ?>
    <table align='center' width='300' cellpadding='3' cellspacing='0' border='1'>
    <?php
    	for($i=0;$i<=count($row);$i++){
    ?>
    	<tr>
    		<td align='center'><?= $row[$i]['title'] ?></td>
    	</tr>
    <?php
    	}
    ?>
    </table>
  • 27-04-2009, 02:00:50
    #2
    Aval aval baktım
    Bundan anlamam için koca bir paragraf TÜRKÇE yazı yazmanız gerekir.
  • 27-04-2009, 02:06:10
    #3
    Bu işlemler için class a ihtiyaç olduğunu düşünmüyorum. Sonuçta mysql sorgularını kendimiz yazıyoruz. Ek olarak birde bu class'a alışmak için vakit kaybetmeye gerek yok bence.
    mysql_fetch_array, mysql_num_rows, mysql_query yetiyor da artıyor bile
  • 27-04-2009, 03:09:14
    #4
    Üyeliği durduruldu
    janocan adlı üyeden alıntı: mesajı görüntüle
    Aval aval baktım
    Bundan anlamam için koca bir paragraf TÜRKÇE yazı yazmanız gerekir.
    Class yapısını öğrenmeniz yeterli. Bu da hiç zor bir konu değil.
    Aksini kullanmaya başladığınızda işlerinizi ne kadar kolaylaştıracağınıza inanamazsınız. PHP de yeni iseniz şimdilik sadece bir kez inceleyin. Daha sonra detaylarını öğrenirsiniz. Kolay gelsin
  • 27-04-2009, 03:16:25
    #5
    Biraz ileri seviye olmuş =) eline saglik
  • 27-04-2009, 03:17:19
    #6
    Üyeliği durduruldu
    gogoturk adlı üyeden alıntı: mesajı görüntüle
    Kendi yazdığım, bağlantı ve query için kullandığım bir sınıf...
    Arkadaşım eline sağlık güzel kod yazmışsınız. Bana yine de bu kodlar tanıdık geldi. İşin güzel tarafı MsSQL, PostGreSQL ve MySQL veritabanlarında da çalışması düşünülerek yazılmış olması güzel bir olay. Eğer editleyerek sahiplendiyseniz de diyecek birşeyim yok.
  • 27-04-2009, 03:56:32
    #7
    Alıntı
    Arkadaşım eline sağlık güzel kod yazmışsınız. Bana yine de bu kodlar tanıdık geldi. İşin güzel tarafı MsSQL, PostGreSQL ve MySQL veritabanlarında da çalışması düşünülerek yazılmış olması güzel bir olay. Eğer editleyerek sahiplendiyseniz de diyecek birşeyim yok.
    yok editlemedim. tamamen bana ait. askere gitmeden önce ki sitemde yayaınlanıyordu. endx.org ama site kapandı. belki oradan birileri almış olabilir bilemiyorum
  • 27-04-2009, 08:54:14
    #8
    Üyeliği durduruldu
    hocam peki sql de gönderdigimiz limit gibi ifadeler ne olacak? select * from tablo limit 10 dedim ve mssql i seçtim örnek olarak
  • 27-04-2009, 09:43:16
    #9
    Kimlik doğrulama veya yönetimden onay bekliyor.
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    hocam peki sql de gönderdigimiz limit gibi ifadeler ne olacak? select * from tablo limit 10 dedim ve mssql i seçtim örnek olarak
    Orada patlar
    zaten böyle bir class gereksiz servera ek yük bindirmekten başka birşey değil.
    Fakat class yapısını öğrenmek için geliştirilebilir.