2017-01-19 1 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>';} 

je VARCHAR dans le tableau mysql où je garde les anniversaires. (J'ai inséré varchar en raison d'Excel, y compris.) Alors maintenant, je dois récupérer les lignes avec les jours actuels qui a des anniversaires . J'ai essayé str_to_date pour récupérer varChar comme date mais n'a pas pu obtenir de résultats. "Uye_dogum" est la colonne de varChar où je garde des anniversaires comme jj-mm-AAAA.Extraction Brithdays comme format de date de la colonne varchar

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

Désolé - mais OK - la 'mysql_ *' extension est obsolète. La suppression des erreurs est ** toujours ** une mauvaise idée. ** Jamais ** stocker des dates dans un VARCHAR car vous ne pouvez pas utiliser les fonctions de requête DATE sur eux (MySQL a un type DATE) ... essentiellement, d'où vous êtes, vous devriez peut-être recommencer à zéro. – CD001

+0

Je vais utiliser mysqli dans l'hôte ofcourse juste je voulais savoir si je peux récupérer varChar comme date .. Cuase il ya plus de 8000 lignes insérées et ne peut pas les changer. Peut-être que je peux récupérer les 5 premiers caractères de la colonne (jj-mm) et faire la requête en fonction de cela? –

+0

Vous le regretterez à la longue, mais si vous voulez faire une correspondance partielle sur 'd-m' contre' d-m-Y', vous pouvez simplement utiliser 'LIKE' ...' "SELECT * FROM secim_uyeleri WHERE uye_dogum LIKE '". $ bugun. "% '" '... tout est très spécifique au format. – CD001

Répondre

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>';} 

La solution est ici .. je peux obtenir toutes les lignes comme ça .. Pour peu solution que je vais l'utiliser ..