• 01-07-2007, 22:46:11
    #1
    Tablomuz;
    CREATE TABLE `phpclass_ad` (
      `ad_id` int(11) NOT NULL auto_increment,
      `ad_owner` int(11) default '0',
      `ad_cat_id` int(11) default '0',
      `ad_title` varchar(255) default '0',
      `ad_description` text,
      `ad_date` int(11) default '0',
      `ad_date_expire` int(11) default '0',
      `ad_date_updated` int(11) default '0',
      `ad_expires_after_days` int(11) default '0',
      `ad_owner_notified` tinyint(1) default '0',
      `ad_has_video` tinyint(1) default '0',
      `ad_has_picture` tinyint(1) default '0',
      `ad_has_doc` int(11) default '0',
      `ad_views` int(11) default '0',
      `ad_votes` double(6,2) default '0.00',
      `ad_voters` int(11) default '0',
      `ad_totalscore` double(6,2) default '0.00',
      `ad_last_vote_ip` varchar(20) default '0',
      `ad_is_validated` tinyint(1) default '0',
      `ad_is_sold` tinyint(1) default '0',
      `ad_is_special` tinyint(1) default '0',
      `ad_is_premium` tinyint(1) default '0',
      PRIMARY KEY  (`ad_id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
    Aşağıda kodla ad_id e göre çekersem ekrana basıyor ad_title ile çekersem boş geliyor..

    <?php
    
    
    $connection= mysql_connect("localhost",'bir','iki') or die ("sql e baglanamadik");
    $db=mysql_select_db ("uc", $connection) or die ("veritabanina baglanamadik");
    
    // sorgu yap
    $sql=mysql_query("SELECT * FROM phpclass_ad WHERE ad_id ");
    $row=mysql_fetch_array($sql);
    
    $no = $row["ad_id"];
    
    //ekrana yaz
    echo"$no Numaralı İlan";
    echo "<a href=/ilan/detail.php?id=$no> [$no]</a>";
    
     ?>
    Aslında tam olarak yapmak istediğim ad_id e göre son 10 kaydı çekip ad_title ile ekrana basmak.. Ama ad_title nedense boş geliyor?
  • 01-07-2007, 23:02:49
    #2
    Üyeliği durduruldu
       <?php 
     
     
    $connection= mysql_connect("localhost",'bir','iki') or die ("sql e baglanamadik"); 
    $db=mysql_select_db ("uc", $connection) or die ("veritabanina baglanamadik"); 
     
    // sorgu yap 
    $sql=mysql_query("SELECT * FROM phpclass_ad order by ad_id desc LIMIT 0,10 "); 
    $row=mysql_fetch_array($sql); 
     
    $no = $row["ad_id"];
    $title = $row->ad_title; 
     
    //ekrana yaz 
    echo"$no Numaralı İlan"; 
    echo "<a href=/ilan/detail.php?id=$no> [$no]</a>"; 
    echo"$title Başlığı";
     
     ?>
  • 01-07-2007, 23:03:28
    #3
    Bu sorguda where ad_id ile limitlemişsin. Yani ad_id eğer 3 numara ise bu 3 ID numaralı kayıtların verilerini getirir, ad_id e göre son 10 kaydı çekmek istiyorsan aşağıdaki gibi yapabilirsin.
    <?php
    $connection= mysql_connect("localhost",'bir','iki') or die ("sql e baglanamadik");
    $db=mysql_select_db ("uc", $connection) or die ("veritabanina baglanamadik");
    
    // sorgu yap
    $sql=mysql_query("SELECT * FROM phpclass_ad order by ad_id DESC limit 10");
    while($row=mysql_fetch_array($sql)){
    $no = $row["ad_id"];
    $title = $row["ad_title"];
    
    //ekrana yaz
    echo"$no Numaralı İlan";
    echo "<a href=/ilan/detail.php?id=$no>[$title]</a>";
    }
    ?>
  • 01-07-2007, 23:15:56
    #4
    Ersat ve Lisans Teşekkür ederim...

    Yalnız verileri çekince tr karakterler düzgün gözükmüyor. Bunun için özel bi çözüm varmı?

    Alıntı
    [bu ilan deneme ilanıdır]
  • 01-07-2007, 23:18:11
    #5
    <?php
    $connection= mysql_connect("localhost",'bir','iki') or die ("sql e baglanamadik");
    $db=mysql_select_db ("uc", $connection) or die ("veritabanina baglanamadik");
    
    mysql_query("SET NAMES 'latin5'");
    mysql_query("SET CHARACTER SET latin5");
    mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");
    
    // sorgu yap
    $sql=mysql_query("SELECT * FROM phpclass_ad order by ad_id DESC limit 10");
    while($row=mysql_fetch_array($sql)){
    $no = $row["ad_id"];
    $title = $row["ad_title"];
    
    //ekrana yaz
    echo"$no Numaralı İlan";
    echo "<a href=/ilan/detail.php?id=$no>[$title]</a>";
    }
    ?>
    Böyle denermisin.
    Eğer db deki kayıtlarda sorun yoksa bu şekilde düzelmesi lazım.
  • 01-07-2007, 23:23:23
    #6
    sql den gelen veriler bozuk sanırım

    INSERT INTO `phpclass_ad` VALUES (4, 1, 2, 'Çok Temiz Bol Çamurlu mont', 'Bu montu giyen adam olmaz', 1183320663, 1185912663, 0, 0, 0, 0, 0, 0, 2, 0.00, 0, 0.00, '0', 0, 0, 0, 0);
    INSERT INTO `phpclass_ad` VALUES (3, 1, 2, 'bu ilan deneme ilanıdır', 'bu fiyata kaçmaz', 1183297226, 1185889226, 0, 0, 0, 0, 3, 0, 44, 0.00, 0, 0.00, '0', 0, 0, 0, 0);
    INSERT INTO `phpclass_ad` VALUES (5, 1, 2, 'Türkçe Karekter deneme şemşiye ülfet', 'çok harika', 1183321269, 1185913269, 0, 0, 0, 0, 1, 0, 1, 0.00, 0, 0.00, '0', 0, 0, 0, 0);
  • 01-07-2007, 23:54:31
    #7
    Üyeliği durduruldu
    Update phpclass_ad set kolonadi=replace(replace(replace(kolonadi,'Ç','Ç'),'ü','ü'),'ı','ı')

    Şeklinde kendinde üreterek replace yap düzeltirsin karakterler,
  • 02-07-2007, 09:36:50
    #8
    while ile verileri çektikten sonra bozuk karakterleri replace edip update ile gönderebilirsin.
  • 02-07-2007, 13:22:53
    #9
    str_replace ile hallettim