Timestamp / convert / timeago
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
MAR
- Mesaje:8
Timestamp / convert / timeago
Salutari, am si eu urmatorul script si nu reusesc in nici un fel sa il fac sa arate data si ora si baza de date.
Exemplu: "2015-02-04 21:42:02" , asa imi arata in baza mea de date, si nu reusesc sa fac sa afiseze exact la fel si pe site. Pe site imi afiseaza "1 hour ago / 2 hours ago", eu vreau sa imi afiseze exact ca in primul exemplu. Scriptul este folosit sa afiseze data si ora cand a fost postat X subiect.
In baza de date tabelul cu data si ora este numit "date" , daca ajuta cu ceva...
Ma poate ajuta cineva va rog?
Cod: Selectaţi tot
* Convert a timestap into timeago format
* @param time
* @return timeago
*/
public static function timeago($time){
$time=strtotime($time);
$periods = array(e("second"), e("minute"), e("hour"), e("day"), e("week"), e("month"), e("year"), e("decade"));
$lengths = array("60","60","24","7","4.35","12","10");
$now = time();
$difference = $now - $time;
$tense= e("ago");
for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
$difference /= $lengths[$j];
}
$difference = round($difference);
if($difference != 1) {
$periods[$j].= "s";
}
return "$difference $periods[$j] $tense ";
}
MarPlo
Mesaje:4343
Salut,
Daca vrei sa afisezi data si ora asa cum e in baza de date, nu ai nevoie de acea functie timeago().
Pentru data si ora, coloana respectiva din baza de date trebuie sa fie de tip DATETIME sau TIMESTAMP. Folosesti valoarea selectata din coloana fara sa aplici acea functie, si vezi ce iti iese.
MAR
Mesaje:8
Am gasit urmatorul script, dar nu am reusit sa il fac sa functioneze corect..
Practic eu vreau sa selectez din baza de date / din tabelul "url" / campul "date / datetime" , cam asa am eu in baza de date.
Cod: Selectaţi tot
<?php
$result = mysql_query("SELECT `datetime` FROM `table`");
$row = mysql_fetch_row($result);
$date = date_create($row[0]);
echo date_format($date, 'Y-m-d H:i:s');
#output: 2012-03-24 17:45:12
echo date_format($date, 'd/m/Y H:i:s');
#output: 24/03/2012 17:45:12
echo date_format($date, 'd/m/y');
#output: 24/03/12
echo date_format($date, 'g:i A');
#output: 5:45 PM
echo date_format($date, 'G:ia');
#output: 05:45pm
echo date_format($date, 'g:ia \o\n l jS F Y');
#output: 5:45pm on Saturday 24th March 2012
?>
MarPlo
Mesaje:4343
In primul rand, mysql_query() este deprecated (anulat), ar trebui sa folosesti MySQLi sau PDO. Daca nu stii cum, gasesti de invatat in lectiile PHP-MySQL de pe site.
In codul pe care l-ai postat sunt exemple de format date-time din care poti face cum vrei sa afisezi data si timpul.
- Personal nu am inteles care e problema, ce ai incercat sa faci (nu coduri copiate), si ce nu merge? Ce rezultat obtii fata de cum ai vrea sa afiseze?
MAR
Mesaje:8
Chiar am nevoie de ajutor....
Te rog Marplo, imi poti face un script php care sa arate date si timpul afisat in baza de date? scriptul vreau sa il folosesc pentru o pagina .php. Nu ii dau de cap si nu reusesc in nici un fel sa o fac sa functioneze...
MarPlo
Mesaje:4343
Acest site si forum e de cursuri pentru cine vrea sa invete.
Nu stiu ce ai incercat sa faci, ce rezultat obtii si unde nu te descurci.
Cam asa se face un select la baza de date MySQL folosind PHP MySQLi.
Cod: Selectaţi tot
// conecteaza la baza de date "tests"
$conn = new mysqli('localhost', 'root', 'parola', 'tests');
// verifica conexiunea
if (mysqli_connect_errno()) {
exit('Connect failed: '. mysqli_connect_error());
}
// interogare sql SELECT
$sql = "SELECT nume_coloana FROM nume_tabel";
// executa interogarea si retine datele returnate
$result = $conn->query($sql);
// daca $result contine cel putin un rand
if($result->num_rows > 0) {
// afiseaza datele din fiecare rand din $result
$i = 0; // index pentru a afisa randurile numerotate
while($row = $result->fetch_assoc()) {
$i++;
echo '<br />'. $i .': '. $row['nume_coloana'];
}
}
else {
echo '0 rezultate';
}
andras
Mesaje:430
MarPlo a fost politicos, dar ca idee generala aici nu prea merge sa ceri cuiva sa-ti faca un script. Eventual sa-ti dea un exemplu din care sa te inspiri sau sa-ti dea un link din care sa extragi ce ai nevoie. Daca nu te chinui si nu pierzi noptile cautind si incercind (asa mi se intimpla mie) nu prea poti invata. Salut !