Cautare pe site in mai multe tabele
Scris: Lun Mai 02, 2016
Salut marplo !
Am creat acest cod de cautare pe site, dar am mici probleme cu el :
1. De exemplu daca caut un cuvant ce se afla si in tabela de programe si in tabela de intrebari , nu imi arata amandoua rezultate ....
2. La rezultate la programe, nu am link unic pentru fiecare program in parte asa cum am la intrebari sau la firma, dar am vazut ca se poate face cumva (cred ca in java, cu scroll), adica la fiecare div am o denumire + un id unic pentru fiecare div, dar nu stiu cum sa fac acest scroll direct la fisierul selectat, iar acesta selectat sa fie cumva semnalizat ... o culoare schimbata, o bordura ceva ... gen cum este la facebook la comentarii, te duce direct la comentariul selectat din notificari si e semnalizat acolo cumva ca sa iti dai seama ca e vorba de el !
Am creat acest cod de cautare pe site, dar am mici probleme cu el :
1. De exemplu daca caut un cuvant ce se afla si in tabela de programe si in tabela de intrebari , nu imi arata amandoua rezultate ....
2. La rezultate la programe, nu am link unic pentru fiecare program in parte asa cum am la intrebari sau la firma, dar am vazut ca se poate face cumva (cred ca in java, cu scroll), adica la fiecare div am o denumire + un id unic pentru fiecare div, dar nu stiu cum sa fac acest scroll direct la fisierul selectat, iar acesta selectat sa fie cumva semnalizat ... o culoare schimbata, o bordura ceva ... gen cum este la facebook la comentarii, te duce direct la comentariul selectat din notificari si e semnalizat acolo cumva ca sa iti dai seama ca e vorba de el !
Cod: Selectaţi tot
<?php include('conectare.php');
if($_POST)
{
$search = $_POST['searchword'];
$programe = $dbh->query("SELECT COUNT(*) FROM `programe` WHERE `descriere` like '%$search%' ORDER BY RAND() LIMIT 8")->fetch(PDO::FETCH_NUM);
$rezprograme = $programe[0];
$firme = $dbh->query("SELECT COUNT(*) FROM `firme` WHERE `denumire` like '%$search%' ORDER BY RAND() LIMIT 8")->fetch(PDO::FETCH_NUM);
$rezfirme = $firme[0];
$intrebari = $dbh->query("SELECT COUNT(*) FROM `intrebari` WHERE `intrebare` like '%$search%' ORDER BY RAND() LIMIT 8")->fetch(PDO::FETCH_NUM);
$rezintrebari = $intrebari[0];
// asociere rezultate //
$rowprograme = $dbh->query("SELECT * FROM `programe` WHERE `denumire` like '%$search%' ORDER BY RAND() LIMIT 8");
$rowfirme = $dbh->query("SELECT * FROM `firme` WHERE `denumire` like '%$search%' ORDER BY RAND() LIMIT 8");
$rowintrebari = $dbh->query("SELECT * FROM `intrebari` WHERE `intrebare` like '%$search%' ORDER BY RAND() LIMIT 8");
if($rezprograme == 0 AND $rezfirme == 0 AND $rezintrebari == 0)
{ ?>
<div class="display_box" align="left" style="color:red;">
<center>
Fara rezultate. <br>
<b>Sfat: Scrie corect sau este posibil sa nu existe momentan pe site ceea ce cauti!</b>
</center>
</div><?php }
else {
// daca se gaseste ceva in programe //
if($rezprograme > 0) {
while ($search = $rowprograme->fetch(PDO::FETCH_ASSOC)){
$final = str_ireplace($_POST['searchword'], '<b>'.ucwords($_POST['searchword']).'</b>', ''.ucwords($search['denumire']).''); ?>
<a href="/programe.php" style="text-decoration:none;" target="_">
<div class="display_box" align="left;color:red;">
<?php echo " $final "; ?>
</div>
</a>
<?php }
}
// end rezultate programe //
// cautare firme //
else if($rezfirme > 0) {
while ($search = $rowfirme->fetch(PDO::FETCH_ASSOC)){
$final = str_ireplace($_POST['searchword'], '<b>'.ucwords($_POST['searchword']).'</b>', ''.ucwords($search['denumire']).''); ?>
<a href="/firma/<?php echo "$search[adresa]";?>.php" style="text-decoration:none;" target="_">
<div class="display_box" align="left;color:red;">
<?php echo " $final "; ?>
</div>
</a>
<?php }
}
// end search firme //
// cautare intrebari //
else if($rezintrebari > 0) {
while ($search = $rowintrebari->fetch(PDO::FETCH_ASSOC)){
$final = str_ireplace($_POST['searchword'], '<b>'.ucwords($_POST['searchword']).'</b>', ''.ucwords($search['intrebare']).''); ?>
<a href="/intrebare/<?php echo "$search[adresa]";?>.php" style="text-decoration:none;" target="_">
<div class="display_box" align="left;color:red;">
<?php echo " $final "; ?>
</div>
</a>
<?php }
}
// end search intrebari //
}
}
?>