I need to select one image path from db for one row with an external key, but I have many images for that external key 'id_ext'.
This is my php function code:
function oferte_speciale() {
$sql="SELECT t1.*, t2.*, t3.*,t4.*,t5.*
FROM anunturi t1
INNER JOIN tip_proprietate t2 ON t1.tip = t2.id_prop
INNER JOIN anunt_preturi t3 ON t1.id_anunt = t3.ext
INNER JOIN anunturi_images t5 ON t1.id_anunt = t5.id_ext ORDER BY `sort` DESC LIMIT 1
INNER JOIN tranzactie t4 ON t1.tranzactie = t4.id_tranzactie
WHERE t1.special=1 ORDER BY `data` DESC LIMIT 14" ;
$stmt = $this->dbh->prepare($sql);
$stmt->execute();
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $result)
{
$pret=strlen($result['pret_normal']);
if($pret==4) $pretul=substr($result['pret_normal'], 0, 1).".".$pretul=substr($result['pret_normal'], 1, 4);
if($pret==5) $pretul=substr($result['pret_normal'], 0, 2).".".$pretul=substr($result['pret_normal'], 2, 5);
if($pret==6) $pretul=substr($result['pret_normal'], 0, 3).".".$pretul=substr($result['pret_normal'], 3, 6);
if($pret==7) $pretul=substr($result['pret_normal'], 0, 2).".".$pretul=substr($result['pret_normal'], 2, 4)
.".".$pretul=substr($result['pret_normal'], 4, 7);
if($pret==8) $pretul=substr($result['pret_normal'], 0, 2).".".$pretul=substr($result['pret_normal'], 3, 5)
.".".$pretul=substr($result['pret_normal'], 5, 8);
if($pret==9) $pretul=substr($result['pret_normal'], 0, 3).".".$pretul=substr($result['pret_normal'], 3, 6)
.".".$pretul=substr($result['pret_normal'], 6, 9);
if($result['tranzactie']=='2') $luna="/luna"; else $luna="";
$special[]='
<li>
<div class="image">
<img src="'.$result['den_imag'].'" alt="" />
<span><a href="#" class="decor">'.$result['den_tranzactie'].' '.$result['den_prop'].' '.$pretul.' €'.$luna.'</a></span>
</div>
</li>';
}
return $special;
}
How can I fix it? Thanks in advance!
You need to use GROUP BY
and need to give LIMIT as 1.like
WHERE t1.special=1 ORDER BY `data` GROUP BY 't1.ext' DESC LIMIT 1" ;
Where id_ext
will be the auto increment fields in your main table t1
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.