data afisare

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

data afisare

selectez data din baza de date asa print

Cod: Selectaţi tot

date("d-m-Y : G-i", strtotime($row[data]));
iar in pagina imi afiseaza asa

Cod: Selectaţi tot

30-11--0001 : 0-00
ce trebuie facut ?

MarPlo Mesaje:4343
Ciudat, daca 'Y' returneza 0001, probabil strtotime($row[data]) nu da o data UNIX valida.
Incearca strtotime($row['data']) (cu ghilimele).

Wayn3 Mesaje:111
am rezolvat cu ajutorul lectiei tale https://marplo.net/php-mysql/functii_data_timp.html" target="_blank ... merci fain



dar mai am o problema.. vreau sa selectez liniile din tabel unde coloana 'data' este = cu data curenta... uite cum am facut eu si nu am reusit.

Cod: Selectaţi tot

$azi = 'DATE_ADD(NOW(), INTERVAL -24 HOUR)';
$cerereSQL = "SELECT * FROM `biletul_zilei` WHERE `stare_bilet`='1' and `data`<$azi  ORDER BY `castig` DESC";
.. ar fi buna ideea sa incerc ceva de genul ?
SELECT * FROM `dt_tb` WHERE data between date(NOW(),-24 HOUR) and date()
dati-mi o idee

MarPlo Mesaje:4343
Nu ma pricep la comenzi SQL, incearca urmatoarele, poate vreuna e buna:

SELECT * FROM table WHERE DATE_ADD(CURDATE(), INTERVAL -1 DAY)

SELECT * FROM nume_tabel WHERE DATE(coloada_data) = DATE(NOW())

SELECT * FROM nume_tabel WHERE DATE_ADD('an-luna-zi', INTERVAL '-1' DAY)

SELECT * FROM table WHERE DATE BETWEEN [start_DATE] AND [END_DATE]

Wayn3 Mesaje:111
salut.. am revenit din nou... am incercat variantele enumerate de tine dar nu mi-au folosit :( ..
deci incerc sa selectez data adaugarii unei linii din baza de date.. apoi sa fac un select si sa o compar cu data curenta... cum ar veni ca vreau sa afisez liniile adaugate azi... insa nu-mi afiseaza nimic...

Cod: Selectaţi tot

$cerereSQL11 = "SELECT * FROM `biletul_zilei` WHERE `stare_bilet`='1' ORDER BY `castig` DESC LIMIT 1";
$rezultat11 = mysql_query($cerereSQL11);
while($rand11 = mysql_fetch_array($rezultat11)) {

$timp = $rand11['data'];

}

$cerereSQL = "SELECT * FROM `biletul_zilei` WHERE `stare_bilet`='1' and `data`>".$timp."  ORDER BY `castig` DESC LIMIT 1";

$rezultat = mysql_query($cerereSQL);
while($rand = mysql_fetch_array($rezultat)) {

echo "<table border='0' cellpadding='10' bgcolor='rgb(0,255,0)'>
<tr>
<td width=90><center>Utilizator</center></td>
</tr>
<tr><td width=100><center><b><a href=http://www.domain.ro/userinfo.php?user=$rand[3]>$rand[3]</a></b></center></td><td width=50><center>$rand[48]</center></td></tr>
        </table>";
		

}
ce nu am facut bine in codul de mai sus ? va rog cat de rapid se poate ca am nevoie urgent...


PS: data selectata este de tip UNIX... de asta ma tem sa nu mearga .. deoarece nu poti compara cifrele cu data [ex. 2011-02-15].. dar nu stiu cum sa convertesc data curenta , in UNIX

MarPlo Mesaje:4343
Cu:
$unx_azi = strtotime('today');
se obtine timpul UNIX cand a inceput ziua de azi (la ora 0:00).
Daca vei compara `data`>$unx_azi returneaza normal inregistrarile facute azi, de la ora 0; daca si in coloana `data` timpul e inregistrat sub forma UNIX.

Wayn3 Mesaje:111
tot aceeasi , niciun rezultat... sau uite.. am incercat asa

Cod: Selectaţi tot

$cerereSQL = "SELECT * FROM `biletul_zilei`
WHERE `stare_bilet`='1' AND
CURDATE() > ( SELECT `data` FROM `biletul_zilei` 
WHERE `stare_bilet`='1' ORDER BY `castig` DESC LIMIT 1 ) 
ORDER BY `castig` DESC ";
e bine ? doar ca imi returneaza ultima linie adaugata... adica poate sa fie si una de acum 7 zile..

MarPlo Mesaje:4343
Nu ma pricep la imbricari de comenzi SQL, asa diferite. Poate altcineva mai experimentat.

Subiecte similare