Afisarea ingrosat la rezultate

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
claUdiu
Mesaje: 313

Afisarea ingrosat la rezultate

Buna am si eu o itrebare. am urmatorul scris:

Cod: Selectaţi tot

<?php
$cuvant=$_GET['q'];



if($cuvant == NULL || $cuvant == '') {echo "<br>Ne pare rau dar nu ati scris nici un cuvant";}

$conn = mysql_connect("localhost", "cautari", "cautari") 
    or die("Unable to connect to MySQL"); 
$selectdb = mysql_select_db('cautari'); 
$interogare = "SELECT * FROM siteuri WHERE cuvinte_cheie LIKE '%$cuvant%'"; 
$rezultat = mysql_query($interogare); 
if (mysql_errno()) { 
    echo "<br />". mysql_errno(). " : ". mysql_error(). "<br />"; 
} 
$nr_campuri = mysql_num_fields($rezultat); 
if (mysql_num_rows($rezultat) == 0) { 
    echo '<br><br>Ne pare rau dar nu am gasit nici un rezultat pentru cautarea <font color="red"><b>'.$cuvant.'</b></font><br><br>'; 
} 
else { 
    while ($rand = mysql_fetch_assoc($rezultat)) {    


echo '<br><table>
<tr>
<td></td><td align="left"><font size="5"><a href="'.$rand['link_site'].'" target="_blank">'.$rand['nume_site'].'</a></font><br><font color="green" size="4">'.$rand['descriere_site'].'</font><br><font color="red" size="4">'.$rand['link_site'].'</font><br></td>
</tr><tr>
<td><font size="1pt"></font></td><td align="right"></td>
</tr><tr>
<td align="center" colspan="2">

</tr>
</table>';
  }
}
?>
Cum as putea ca daca cineva scrie in casuta de cautare filme iar pe pagina de rezultate apar multe rezultate in care este inclus cuvantul filme el sa apara ingrosat???sau cu alta culoare??pls help
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

MarPlo Mesaje: 4343
De exemplu, daca vrei sa apara ingrosat cuvantul din variabila $cuvant in rezultatele din $rand['descriere_site'], poti folosi functia str_replace().
In loc de $rand['descriere_site'] se pune asa: str_replace($cuvant, '<b>'.$cuvant.'</b>', $rand['descriere_site']) (va adauga $cuvant intre tag-utile <b> </b>)

- Similar si pt. alte rezultate din $rand['var'], sau pt. a fi subliniat, in loc de '<b>' si '</b>' se pune '<u>' ... '</u>'.

claUdiu Mesaje: 313
Multumesc pentru raspuns. Am facut cum miai zis si imi da erroarea asta:

Cod: Selectaţi tot

Parse error: syntax error, unexpected '>' in /home/hosting/gamestime/cauta-site.hi2.ro/search.php on line 67
Am incercat sa sterg <b> si </b> dar dupa imi da erroarea asta:

Cod: Selectaţi tot

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /home/hosting/gamestime/cauta-site.hi2.ro/search.php on line 67
Dupaia am adaugat la cod asa: '.$rand['descriere'].' si akm rezultatele imi apar asa:

Cod: Selectaţi tot

str_replace($cuvant, ip, Vezi IP-ul tau in imagine si text doar aici)
Ce problema sa aibe?:)thx
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

MarPlo Mesaje: 4343
Nu stiu cum ai pus de-ti da eroare. Am testat codul urmator si functioneaza.

Cod: Selectaţi tot

<?php
$rand['descriere_site'] = 'test abc 123';
$cuvant = 'abc';
echo str_replace($cuvant, '<b>'.$cuvant.'</b>', $rand['descriere_site']);
?>
- Oricum, vezi si cum e exact in manual despre "str_replace()", la pagina http://www.php.net/manual/ro/function.str-replace.php" target="_blank

claUdiu Mesaje: 313
Eu lam pus in acest cod:

Cod: Selectaţi tot

<br><table>
<tr>
<td></td><td align="left"><font size="5"><a href="'.$rand['link_site'].'" target="_blank">'.$rand['nume_site'].'</a></font><br><font color="green" size="4">str_replace($cuvant, '<b>'.$cuvant.'</b>', $rand['descriere'])</font><br><font color="red" size="4">'.$rand['link_site'].'</font><br></td>
</tr><tr>
<td><font size="1pt"></font></td><td align="right"></td>
</tr><tr>
<td align="center" colspan="2">

</tr>
</table>
:((
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

MarPlo Mesaje: 4343
Trebuia sa inchizi ghilimelele simple, adica sirul, inainte de acel cod, fiindca e o functie; apoi sa le deschizi iar pt. continuarea sirului.
Incearca asa:

Cod: Selectaţi tot

    <br><table>
    <tr>
    <td></td><td align="left"><font size="5"><a href="'.$rand['link_site'].'" target="_blank">'.$rand['nume_site'].'</a></font><br><font color="green" size="4">'. str_replace($cuvant, '<b>'.$cuvant.'</b>', $rand['descriere']). '</font><br><font color="red" size="4">'.$rand['link_site'].'</font><br></td>
    </tr><tr>
    <td><font size="1pt"></font></td><td align="right"></td>
    </tr><tr>
    <td align="center" colspan="2">

    </tr>
    </table>

claUdiu Mesaje: 313
Acuma nu da erroare dar nu arata descrierea:((
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

MarPlo Mesaje: 4343
Incearca diferite teste, se numeste si "debug", ca sa vezi ce returneaza acel str_replace().
Separat din tabel pui un echo 'str_rep = '. str_replace($cuvant, '<b>'.$cuvant.'</b>', $rand['descriere']);.
La fel, vezi ce da doar "$rand['descriere']".
Cam asa, treptat, prin teste cu "echo" sau "print_r" vezi ce returneaza anumite variabile si-ti dai seama ce sa mai schimbi pana returneaza ce vrei.

claUdiu Mesaje: 313
Am gasit problema era la '.$rand['descriere'].' trebuie in loc de descriere - descriere_site multumesc mult pentru ajutorul dat.
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

Subiecte similare