2017-01-19 8 views
0
$bugun = date("Y-m-d"); 
$dogum_cek = mysql_query("SELECT * FROM secim_uyeleri WHERE STR_TO_DATE(uye_dogum,'%d-%m-%Y') = '".$bugun."'"); 
      while ($a= mysql_fetch_array($dogum_cek)){ 
      $uye_dogum = $a['uye_dogum']; 
      $uye_isim = $a['uye_isim']; 
      $uye_tel = $a['uye_tel']; 


      echo' 
       <tr> 
       <td>'.$uye_isim.'</td> 
       <td>'.$uye_tel.'</td> 
       <td>'.$uye_dogum.'</td> 
      </tr>';} 

は、私は私が誕生日を保つmysqlのテーブルにVARCHAR列を持っている。(私が原因でExcelが含むのVARCHARとして挿入。)だから今、私は誕生日を持っている現在の日と行を取得する必要があります。私は日付としてvarCharを取得するためにstr_to_dateを試しましたが、何の結果も得られませんでした。取得Brithdays VARCHAR列から日付形式として

「uye_dogum」は、誕生日をdd-mm-YYYYとして保存するvarChar列です。しかしOK - - `mysql_ *`拡張子がある

SELECT * FROM secim_uyeleri WHERE (I NEED THIS PART) = '".$bugun."' 
+0

申し訳ありませんが..私はそれを使用するつもりだ少しソリューションについて..私はこのようにすべての行を取得することができます。..ここにあります時代遅れのエラー抑制は常に**悪い考えです。 **決して**日付をVARCHARに格納することはできません.DATEクエリ関数を使用することはできません(MySQLにはDATE型があります)...本質的には、あなたがいる場所から出発することをお勧めします。 – CD001

+0

私はmysqliをホストofcourseで使用するつもりです。私はvarCharを日付として取得できるかどうかを知りたがっています。Cuaseには8000を超える行が挿入されていて変更できません。多分私は最初の5文字の列(dd - mm)を取得し、これに応じてクエリを行うことができますか? –

+0

あなたは長期的にそれを後悔しますが、 'd-m-Y'と部分的にマッチさせたい場合は' LIKE' ... '' SELECT * FROM secim_uyeleri WHERE uye_dogum LIKE '"を使うことができます。 $ bugun。 "% '" '...それはすべて非常に特殊なフォーマットです。 – CD001

答えて

0
$bugun = date("d-m"); 
$dogum_cek = mysql_query("SELECT uye_dogum,uye_isim,uye_tel FROM secim_uyeleri WHERE LEFT(uye_dogum,5) LIKE '".$bugun."' ORDER BY uye_isim"); 
      while ($a= mysql_fetch_array($dogum_cek)){ 
      $uye_dogum = $a['uye_dogum']; 
      $uye_isim = $a['uye_isim']; 
      $uye_tel = $a['uye_tel']; 


      echo' 
       <tr> 
       <td>'.$uye_isim.'</td> 
       <td>'.$uye_tel.'</td> 
       <td>'.$uye_dogum.'</td> 
      </tr>';} 

ソリューションは

関連する問題