Afisare rezultate duplicate o singura data
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
claUdiu
- Mesaje:313
Afisare rezultate duplicate o singura data
Buna. Am si eu o intrebare. PRima data: am acest cod:
Cod: Selectaţi tot
<?php
include("config.php");
//Bagam intr-o variabila data de astazi ZZ.LL.AAAA
$date = date('d.m.Y');
//Selectam din baza de date posturile cu data mai mica de decat data din variabila $date
$select = mysql_query("SELECT * FROM posts WHERE date < '$date' ORDER BY date DESC");
//Pastram rezultatele intr-o variabila
while($show = mysql_fetch_assoc($select)){
$date2 = $show['date'];
//Afisam rezultatele
echo '<a href="post_archive.php?d='.$date2.'">'.$date2.'</a>';
echo "<br/>";
}
?>
care-mi afiseaza corect. Doar ca am o problema. Eu am 3 posturi cu o data, de ex: am postat patru posturi pe 20.11.2011. Scriptul o sa imi afiseze data aceasta de 3 ori.
Aici vine intrebarea: cum pot sa fac sa mi-o arate doar o data? Indiferent daca am postat 100 posturi intr-o zi? Multumes!
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?
MarPlo
Mesaje:4343
Poti retine intai toate rezultatele intr-un array, apoi cu
array_unique() se elimina ce e duplicat.
Exemplu, acest cod:
Cod: Selectaţi tot
//Pastram rezultatele intr-o variabila de tip array
$date2 = array();
while($show = mysql_fetch_assoc($select)){
$date2[] = $show['date'];
}
// daca $date2 contine cel putin un rezultat
if(count($date2) > 0) {
// aplica array_unique() pt. a elimina rezultatele duplicate
$date2 = array_unique($date2);
// parcurge array-ul cu rezultatele ramase (unice) si le afiseaza
foreach($date2 AS $dv) {
echo '<a href="post_archive.php?d='.$dv.'">'.$dv.'</a><br/>';
}
}
Subiecte similare
- Afisare numar cel mai mare dintr o coloana
PHP - MySQL - XML
Primul mesaj
Bună Marplo
Vreau să extrag din coloan pret cel mai mare numar ca de exemplu 4444.
Mie imi afisează 54 în loc de 4444, dacă în loc de 4444 modific...
Ultimul mesaj
Am schimbat `pret` varchar(20) DEFAULT NULL in `pret` int(11) NOT NULL ca la tine si merge.
Multumesc