Afisare mai multe rezultate din baza de date

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

Afisare mai multe rezultate din baza de date

Buna, am facut o mica cautare in timp real (jQuery + PHP) si am o problema. Sincer sa fiu, eu cred ca e de la codul PHP, dar o sa-l pun si pe cel de la jQuery:

index.html:

Cod: Selectaţi tot

<html>
<head>
<title>Cauta</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#cuvant').keyup(function(){
var Cuvant = $('#cuvant').val();

$.post('cauta.php', {cuvant: Cuvant}, function(Rezultat){
$('#afis_rez').html('cautare...').html(Rezultat);
});
});
});
</script>
</head>
<body>
<input type="text" name="cuvant" id="cuvant" />
<br/>
<br/>
<div id="afis_rez">  </div>
</body>
</html>
cauta.php:

Cod: Selectaţi tot

<?php
mysql_connect("localhost", "root", "eoclaudiuu") or die("Nu ma pot connecta la MySQL");
mysql_select_db("cauta");

$cuvant = $_POST['cuvant'];
$select = mysql_query("SELECT * FROM siteuri WHERE descriere_Site LIKE '%$cuvant%' OR titlu_site LIKE '%$cuvant%'");
$rez = mysql_fetch_assoc($select);
$rezultate = mysql_num_rows($select);

$titlu = $rez['titlu_site'];
$descriere = $rez['descriere_Site'];
$link = $rez['link_site'];

if ($rezultate == 0){
echo "Nu s-a gasit nici un rezultat";
}else if(empty($cuvant)){
echo "Te rog scrie un cuvant ca sa cauti ceva";
}else{
echo '<font color="green" size="4">'.$titlu.'</font>';
echo "<br/>";
echo '<font color="black" size="3">'.$descriere.'</font>';
echo "<br/>";
echo '<a href="'.$link.'">'.$link.'</a>';
echo "<br/>";
echo "<br/>";
}
?>
In baza de date am campurile: titlue_site, descriere_Site si link_site. Am doua inregistrari, si anume: Google si Gool SPOT. Cand scriu in casuta Go (cuvantul care apartine la amandoua inregistrari) imi apare doar Google. Nu ar trebuii sa-mi apara si Gool SPOT? Eu asa stiam... Ms mult.
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

MarPlo Mesaje:4343
Buna,
Cand sunt returnate mai multe rezultate /randuri, setul de rezultate trebuie parcurs cu o functie repetitiva (WHILE, FOREACH).
Acestea ori sunt afisate direct in timpul parcurgerii, ori retinute intr-un array si afisate unde e codu pt. afisarea lor, cam asa:

Cod: Selectaţi tot

while($rez = mysql_fetch_assoc($select)){
  $titlu[] = $rez['titlu_site'];
  $descriere[] = $rez['descriere_Site'];
  $link[] = $rez['link_site'];
}

// se parcurge unul din Array, si se adauga si celelalte in afisare (fiind asociate cu aceeasi cheie, de la 0
for($i=0; $i<count($link); $i++) {
  echo $titlu[$i]. ' - '. $descriere[$i]. ' - '. $link[$i]. '<br/>';
} 

claUdiu Mesaje:313
Multumesc mult! Merge.
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

Subiecte similare