Pagina 1 din 1

Evidențiere cuvânt interogat

Scris: Mie Feb 13, 2013
de bvlucretiu
Am acest cod pentru interogarea unei baze de date:

Cod: Selectaţi tot

<form action="http://localhost/enom_db/index.php?pagina=doi" method="post">
<br><b><i>Introduceti Interogarea:</i></b><br><br><input align="center" type="text" name="ceruta">
<input type="Submit" value="Cauta">
</form>
<?php
echo '<div id="select">';
$ceruta =($_POST['ceruta']);
// conecteaza la baza de date "tests" 
$conn = new mysqli('localhost', 'root', '3824', 'enom');

// verifica conexiunea
if (mysqli_connect_errno()) {
  exit('Connect failed: '. mysqli_connect_error());
}
$id = $ceruta;
$alias = $ceruta;
$nume = $ceruta;
$nume_initial = $ceruta;
$prenume = $ceruta;   

// interogare sql SELECT 
$sql = "SELECT `id`,
                         `nume`,
			 `nume_initial`,
			 `prenume` FROM `ronto`WHERE 
			 `prenume`='$prenume' OR
			 `prenume2`='$prenume2' OR 
			 `nume`='$nume' OR
			 `nume_initial`='$nume_initial' OR
			 `id`='$id'  "; 

$result = $conn->query($sql);

$result = $conn->query($sql);

// daca $result contine cel putin un rand
if ($result->num_rows > 0) {
  // afiseaza datele din fiecare rand din $result
  while($row = $result->fetch_assoc()) {
     echo '<br /> <div id="id"> Id: <br><b>'. $row['id']. '</b> </div> <div id="nume">Nume:<br><b>'
	 . $row['nume']. '</b>  <i>'
	 . $row['nume_initial']. ' </i><b> '
	 . $row['prenume'].'  ';
  }
}
else {
  echo '0 rezultate';
}

$conn->close();
echo '</div>';
?>
nu știu unde ar trebui să-i introduc un div sau ce ar trebui să fac pentru a evidenția cuvântul căutat, în interogare acel cuvânt să apară evidențiat (colorat, îngroșat, etc), în toate locurile unde apare?
Am făcut un rezumat al codului sper să nu fi omis ceva din greșală!
Vă mulțumesc!

Re: Evidențiere cuvânt interogat

Scris: Joi Feb 14, 2013
de steell
poti sa inlocuiesti cuvantul dupa ce extragi datele din tabel cu <b>cuvant</b>
adaugi asta la inceputul acelui while()

Cod: Selectaţi tot

$row = str_ireplace($cuvantul, '<b>'.$cuvantul.'</b>', $row);
unde $cuvantul este cuvantul preluat prin $_GET sau $_POST

Evidențiere cuvânt interogat

Scris: Joi Feb 14, 2013
de MarPlo
Daca vrei sa evidentiezi cu alta culoare, dupa interogarea Select adaugi coloana respectiva intre tag <span> cu "style".
Cam asa:

Cod: Selectaţi tot

echo '... <span style="color:#0001fe;">'. $row['nume_cloana'] .'</span> ...';
 

Re: Evidențiere cuvânt interogat

Scris: Vin Feb 15, 2013
de bvlucretiu
Bună!
La căutarea unui cuvânt îmi apare toată înregistrarea de pe acel rând care conţine cuvântul respectiv din baza de date însă eu chiar asta doresc să-mi afişeze toată linia şi doar acel cuvânt să fie afişat cu altă culoare, însă în căutare poate să fie cuvânt din oricare coloană, poate să îmi afişeze rândul care are acel cuvânt în nume sau să existe şi în prenume, iar eu doresc să se observe mai repede cuvântul pe care l-am căutat!
Mulţumesc!

Evidențiere cuvânt interogat

Scris: Sâm Feb 16, 2013
de MarPlo
Daca acel cuvant cautat e in variabila $ceruta, incearca sa aplici in script dupa acest model:

Cod: Selectaţi tot

echo '... '. str_ireplace($ceruta, '<strong style="color:#0001fe;">'. $ceruta .'</strong>', $row['nume']) .' ...';
 

Evidențiere cuvânt interogat

Scris: Sâm Feb 23, 2013
de bvlucretiu
Bună
Este super codul, l-am văzut aproape imediat după ce l-aţi postat dar nu am avut timp să-l încerc, dar este super ok.
Vă mulţumesc pentru înţelegere şi ajutor, asta doream!

Cod: Selectaţi tot

echo '... '. str_ireplace($ceruta, '<strong style="color:#0001fe;">'. $ceruta .'</strong>', $row['nume']) .' ...';
Apropo, cum faceţi că postările dumneavoastră de cod, apar colorate ca în program (ex. Notepad++) php?

Evidențiere cuvânt interogat

Scris: Sâm Feb 23, 2013
de MarPlo
Pentru postari cu evidentieri colorate a codului php in acest forum se foloseste tag-ul