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:
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.
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.