Да не се повтарят резолтатите от БД

diva4et0o0

Registered
Как мога да го направя да изважда един резултат а не 10 едни исьщи имам предвид 1 резултат ако са 5 едни и сьщи да изкарва от тези 5 само един но да не е с лимит 1 има много дати но се повтарят искам да спра повтарянето да изкава само по един независимо дали има 100 записа на тази дата искам датата да я изкарва единпьт
PHP:
 To: <select name="date1" style="width: 115px"> ';
    $row_d=mysql_query("SELECT * FROM `work` ORDER BY date DESC") or die(mysql_error());
while($row=mysql_fetch_assoc($row_d)){
echo '
<option value="'.$row['date'].'">'.date("d/m/y", $row['date']).'</option>';
}
 
PHP:
 To: <select name="date1" style="width: 115px"> ';
    $row_d=mysql_query("SELECT * FROM `work` ORDER BY date DESC GROUP BY date") or die(mysql_error());
while($row=mysql_fetch_assoc($row_d)){
echo '
<option value="'.$row['date'].'">'.date("d/m/y", $row['date']).'</option>';
}
 
Нестава със DISTINCT date защото при уних тиме последните цифри винаги се менят ако може да се проверяват само първите цифри които са за месец ден и година
 
Защо не сложиш един ограничител от - до с лимит примерно Limit 0 ,10 ;
и не си сложиш един цикъл while () { а тук един иф елсе с който да проверяваш дали вече има изведена такава променлива и му удряш exit , но не се сещам самата проверка как да я структорираш в иф и елсе} Примерно с едно преброяване на полетата да задаваш лимита също става :
PHP:
$date = mysql_query("SELECT count(date) as datefull FROM tablica"); 
while($r=mysql_fetch_array($date)){ 
$broi = $r['date'];
echo "Имаме <b>$broi</b> дати на брой в таблицата!"; 

$our = mysql_query("SELECT *FROM tablica ORDER BY date LIMIT $broi");
while($r=mysql_fetch_array($our)){ 
$seedate = $r['date'];
if ($seedate = 1)
{
echo "$seedate";
}
else
{
exit;
}
} 

}
Друг вариант е при записването на датата, да сложиш едно поле select, да му зададеш по дефаут да е 0 и преди да запишеш данните в базата извеждаш датите с цикъл сравняваш ги със сегашната и ако излезне, че датите са равни на полето селект добавяш единица, след което при извеждането на датите с цикъл просто извеждаш и селект полето и проверяваш:

if(select==0)
{
echo "Izvejdash datata";
}
else
{
echo "Mojesh i bez else ";
//Примерно някакав текст илии не го слагаш и остава само ИФ
}

Малкооо МНОГО се отклоних от темата, но ми хрумнаха като идеи тези работи :?:
 
PHP:
To: <select name="date1" style="width: 115px"> ';    $row_d=mysql_query("SELECT * FROM `work` ORDER BY date DESC WHERE date != date") or die(mysql_error());while($row=mysql_fetch_assoc($row_d)){echo '<option value="'.$row['date'].'">'.date("d/m/y", $row['date']).'</option>';}

Илиии пробвай така може и глупост да пиша, амаа съм леко замаян от сношния запой ии ми идва музата :D
 
diva4et0o0 каза:
Нестава със DISTINCT date защото при уних тиме последните цифри винаги се менят ако може да се проверяват само първите цифри които са за месец ден и година
И откога последните две цифри се менят? Нали ако са различни (и не само последни две), говорим за два различни записа :idea:
 
PHP:
$row_d=mysql_query("SELECT DISTINCT FROM_UNIXTIME(`date`, '%d/%m/%y') as `date` from `work` ORDER BY `date` DESC") or die(mysql_error());
while($row=mysql_fetch_assoc($row_d))
{
	echo '<option value="'.$row['date'].'">'.$row['date'].'</option>';
}
 

Back
Горе