problema script cautare
Scris: Sâm Oct 01, 2011
salut, am si eu o problema si nu stiu ce sa ii fac. am codul acesta
daca ii pun
merge foarte bine iar daca ii pun
imi afiseaza toate inregistrarile pe care le am indiferent ce scriu eu acolo. nu stiu ce sa ii fac. astept raspuns, multumesc anticipat, cu stima trif
Cod: Selectaţi tot
<form action="" method="post">
<input type="text" size="70" name="term" value="" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" />
<input type="submit" name="submit" value="Cauta" /><right>
<div class="suggestionsBox" id="suggestions" style="display: none;">
<div class="suggestionList" id="autoSuggestionsList">
</div>
</div>
</form>
<?php
// Script - Tutorial de la https://marplo.net
$nrac=0;
// Se verifica daca e primita valoare de la formular si are mai mult de 1 caracter
if (isset($_POST['term']) && strlen($_POST['term'])>1) {
// Preia valoarea, eliminand posibile spatii exterioare
$term = trim($_POST['term']);
// Se face conectarea la serverul MySQL si selectarea bazei de date
$conn = mysql_connect("localhost", "root", "ialexs") or die("Nu m-am putut conecta la serverul MySQL");
$selectdb = mysql_select_db('cantari_ppt');
if (!$selectdb) echo "Baza de date nu a putut fi selectata: ". mysql_errno(). " : ". mysql_error();
// Se verifica daca "magic_quotes_gpc()" este setat ON
// Daca e ON, se aplica stripslashes() pentru a nu se adauga de 2 ori "\" la filtrare
if(get_magic_quotes_gpc()) { $term = stripslashes($term); }
// Se aplica filtrarea cu mysql_real_escape_string() (la adaugarea datelor trebuie sa fi fost folosita aceeasi filtrare)
$term = mysql_real_escape_string($term);
// Se face selectarea si afisarea dateor returnate
$sql="SELECT * FROM categorie
INNER JOIN cantari_ppt
ON cantari_ppt.categoria = categorie.cheie
WHERE denumire LIKE '$litera%' AND aprobare = 1 ORDER BY denumire ASC";
//$sql = "SELECT * FROM `cantari_ppt` WHERE `denumire` LIKE '%$term%' AND aprobare = 1";
$resql = mysql_query($sql, $conn) or trigger_error(E_USER_ERROR);
if (mysql_num_rows($resql) == 0) { echo 'Nu avem o astfel de cantare'; }
else {
echo '<b>Rezultatele cautari: <font color="red"> '.$term.'</font></b><br><br>';
echo '<table border="0" width="600" >';
echo '<tr> <td><b>Avem cantarile urmatoare: </b></td></tr>';
while ($rand = mysql_fetch_assoc($resql)) {
// Elimina caracterele "\" care au fost adaugate de "mysql_real_escape_string()"
$col = stripslashes($rand['denumire']);
if ($rand['nrac'] == 0)
{
echo '<tr> <td><a class="link" href="class.CountAccess.php?urlf='.$rand['urlf'].'">'.$rand['denumire'].'<span>Nr. Accesari: '.$rand['nrac'].'<br> Data descarcarii: --- <br> Categoria: '.$rand['denumire_categorie'].'</span></a></td>
</tr>';
}
elseif ($rand['nrac'] > 0)
{
echo '<tr>
<td> <a class="link" href="class.CountAccess.php?urlf='.$rand['urlf'].'">'.$rand['denumire'].'<span>Nr. Accesari: '.$rand['nrac'].'<br> Data descarcarii: '.$rand['dt'].' <br> Categoria: '.$rand['denumire_categorie'].'</span></a>
</td>
</tr>';
}
} echo '</table>';
}
}
?>
Cod: Selectaţi tot
$sql = "SELECT * FROM `cantari_ppt` WHERE `denumire` LIKE '%$term%' AND aprobare = 1";
Cod: Selectaţi tot
$sql="SELECT * FROM categorie
INNER JOIN cantari_ppt
ON cantari_ppt.categoria = categorie.cheie
WHERE denumire LIKE '$litera%' AND aprobare = 1 ORDER BY denumire ASC";