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?