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
- Adaugare orar zilele saptamanii in baza de date
PHP - MySQL - XML
Primul mesaj
Salut
Am o baza de date cu toate locatiile
location_id | name |address |telephone | open
Si un formular prin care incarc datele in bd....
Ultimul mesaj
Treaba cu adaugare json in mysql e simpla, se rezuma la adaugarea unui sir care contine ghilimele duble.
Problema la tine e ca acele ghilimele sunt...
- Afisare numar cel mai mare dintr o coloana
PHP - MySQL - XML
Primul mesaj
Bună Marplo
Vreau să extrag din coloan pret cel mai mare numar ca de exemplu 4444.
Mie imi afisează 54 în loc de 4444, dacă în loc de 4444 modific...
Ultimul mesaj
Am schimbat `pret` varchar(20) DEFAULT NULL in `pret` int(11) NOT NULL ca la tine si merge.
Multumesc