Select in MySQL dupa data de azi

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
tycyssg
Mesaje:58

Select in MySQL dupa data de azi

Vreau afisez niste date dintr-un tabel dupa data din ziua respectiva , in cazul in care sunt date adaugate in acea zi in tabel.

Cod: Selectaţi tot

$data=@date('d-m-Y');
mysql_select_db("autentificare", $conexiune);
$result= mysql_query("SELECT *FROM clients WHERE data=".$data);
if(mysql_num_rows($result)>0)
     {
          while($row = mysql_fetch_array($result))
              {  
                 echo'
<b>Name:</b> '.$row['name'].' </br /> 
<b>Surname:</b> '.$row['surname'].' </br />                 
';
              }
               echo'
                Press<a href="paginamenu.php"> here </a>to go back previous page
                  Press<a href="iesire.php"> here </a></span>to exit.
      </div></center>
                 ' ;
                 }
                 else{
                 echo'
                 <center> <div class="menuprod3" >
                Hei <b><i>'.$_SESSION['user'].'</b></i></div>
                   Sory! Today we don`t have any customers !</div>
                 Press<a href="paginamenu.php"> here </a>to go back previous page.</div>
     Press<a href="iesire.php"> here </a>to exit.
                 </div></center>
                ';
                } 
                mysql_close($conexiune);
}
 
Acesta este codul pe care il folosesc.Nu imi da nici o eroare , dar nu imi afiseaza datele (de astazi in cazul de fata) .Am date adaugate astazi in tabel , dar el imi afiseaza acest echo , ca si cum nu ar fi existand date in tabel.

Cod: Selectaţi tot

else{
                 echo'
                 <center> <div class="menuprod3" >
                Hei <b><i>'.$_SESSION['user'].'</b></i></div>
                   Sory! Today we don`t have any customers !</div>
                 Press<a href="paginamenu.php"> here </a>to go back previous page.</div>
     Press<a href="iesire.php"> here </a>to exit.
                 </div></center>
                ';
                }  
Daca dau select dupa Id , sau daca dau select data='22-08-2012' " el imi returneaza ce trebuie.
Multumesc .

MarPlo Mesaje:4343
Salut
Incearca interogarea SQL asa (cu data adaugata intre ghilimele simple):

Cod: Selectaţi tot

$result= mysql_query("SELECT *FROM clients WHERE data='$data'");
 
Daca inca nu functioneaza, depinde de tipul coloanei "data" din MySQL, ar putea mrge asa:

Cod: Selectaţi tot

$result= mysql_query("SELECT *FROM clients WHERE DATE(data) = CURDATE()");
 
Sau asa:

Cod: Selectaţi tot

$result= mysql_query("SELECT *FROM clients WHERE DATE(data)='".date('Y-m-d')."'");
 

tycyssg Mesaje:58
A mers cu prima varianta. Mersi mult !

Si mai revin cu o intrebare; are legatura cu problema de mai sus.Tot la acest script mi-am creat o "portita" de a vizualiza si rezultatele din urma.
Si am facut un <input> pe care l-am preluat prin $_POST.

Cod: Selectaţi tot

$customersearch=$_POST['searchcustomer'];
mysql_select_db("autentificare", $conexiune);
$result=mysql_query("SELECT *FROM clients WHERE id=".$customersearch."OR data=".$customersearch);
if(mysql_num_rows($result)>0)
     {
          while($row = mysql_fetch_array($result))
              {        
                 echo'
El merge foarte bine cand il las sa imi selecteze doar dupa id , cand adaug si acel:

Cod: Selectaţi tot

"OR data=".$customersearch);
Imi da o eroare:

Cod: Selectaţi tot

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\autyg\customerselect.php on line 52
Linia 52 este.

Cod: Selectaţi tot

if(mysql_num_rows($result)>0)
Daca schimb ghilimelele si le pun ceva de genu.

Cod: Selectaţi tot

$result=mysql_query("SELECT *FROM clients WHERE id='.$customersearch.'OR data='.$customersearch'");
 
Nu imi mai da eroare cand introduc valori in acel <input>, dar nici nu imi afiseaza nimic, chiar daca bag data , sau ID.

MarPlo Mesaje:4343
Probabil la ID trebuie un numar (fara ghilimele), iar pt coloana "data" o data de timp (intre ghilimele simple).
Tu stii ce este $customersearch , si cum e ID sau "data", daca se potriveste cu formatul /valorile din acele coloane.
Incearca asa:

Cod: Selectaţi tot

$result=mysql_query("SELECT *FROM clients WHERE id = $customersearch OR data='$customersearch'");
 
- Mai mult nu stiu, poate altcineva.

Subiecte similare