Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi
 
Domov > Forum > Računalništvo

Iskanje in izpis iz baze v PHP

 
 
13.1.2012, 18:40
Delam PHP stran, s katero je možno iskati po bazi in iz nje izpisovati najdene pojme.

Kodo, ki išče in izpisuje imam tako:

if($cat == 1){
$sql = mysql_query("select * from book where author like '%$term%' or title like '%$term%' or publisher like '%$term%' or description like '%$term%' ");

if($sql != ''){
while ($row = mysql_fetch_array($sql)){
echo '<br/> Avtor knjige: '.$row['author'];
echo '<br/><br/> Naslov knjige: '.$row['title'];
echo '<br/><br/> Leto izdaje: '.$row['year'];
echo '<br/><br/> Zalozba: '.$row['publisher'];
echo '<br/><br/> Opis: '.$row['description'];
echo '<br/><br/> povezava: ';?> <a target="_blank" href="<?php echo $row['link'] ?>">knjiga</a><?php ;
echo '<br/><br/><hr/><br/><br/>';
}

}
}


$cat je kategorija (v tem primeru knjiga, imam jih še več)
$term je iskalni pojem

Ta koda sicer lepo izpiše, ko je pojem najden v bazi. Imam tudi spisan if stavek, za preverjanje, če je iskalno polje prazno.

Zanima me, kako naj spišem if stavek, ki bo preveril, če je vpisani pojem enak kateremu v bazi in če ga ni, naj se naprimer izpiše 'Iskanega pojma ni v bazi'.


spremenil: NikMan (29.2.2012 ob 06.43.21)
 
 
 
13.1.2012, 21:09
Tole bi verjetno lahko rešil s povsem osnovnim štetjem vrstic, v tvojem primeru:
$num_results = mysql_num_rows($sql);

echo $num_results


V if stavku pa določiš, če je spremenljivka večja od 0 prikaži rezultate, drugače pa napis.
 
 
 
13.1.2012, 23:41
Super, dela!

Če bom naletel še na kako težavo, se oglasim.

Hvala.
 
 
 
28.2.2012, 22:47
Da ne odpiram nove teme...


<?php
if(isset($_GET['pageid'])){
$page=$_GET['pageid'];
}
else{
$page=0;
}
?>

<div id="menu">
<?php
$menu=array('ekociscenje.si', 'cenik', 'kako deluje', 'o nas', 'mobilno', 'stacionarno', 'za podjetja', 'vprašajte nas');
for($i=0; $i<8; $i++)
{
echo '<a href="index.php?pageid='.$i.'" target="_self" >'.$menu[$i].'</a>' ;
if($i==3){
echo '<div id="menudivider"></div>';
}
}
?>
</div>


Z gornjo kodo izpišem menu, s katerim mejavam vsebino strani z case stavkom.
Zanima me, kako bi lahko uredil, da bi bil aktiven link obarvan drugače.
 
 
 
28.2.2012, 23:10
V .css datoteko dodaj razred, da bo aktiven link obarvan drugače:

.aktivna_povezava a:active
{
color:ime_barve;
}


Nato pa znotraj ali zunaj div-a menu dodaj razred aktivna_povezava in ga na koncu zaključi.
Sem dodal kar v drugi del tvoje kode:

<div id="menu">
<span class = "aktivna_povezava">
<?php
$menu=array('ekociscenje.si', 'cenik', 'kako deluje', 'o nas', 'mobilno', 'stacionarno', 'za podjetja', 'vprašajte nas');
for($i=0; $i<8; $i++)
{
echo '<a href="index.php?pageid='.$i.'" target="_self" >'.$menu[$i].'</a>' ;
if($i==3){
echo '<div id="menudivider"></div>';
}
}
?>
</span>
</div>


spremenil: .lolo (28.2.2012 ob 23.11.00)
 
 
 
28.2.2012, 23:22
Ni ok. zanka izpiše menu samo enkrat, v celoti. Glede na števec i se potem izpiše iz case stavka pageid, od 0 do 7.
 
 
 
29.2.2012, 0:40
Aha, če prav razumem, bi ti imel nekje na koncu strani kazalo s stranmi od 1 do 7.
V stavku

echo '<a href="index.php?pageid='.$i.'" target="_self" >'.$menu[$i].'</a>' ;

ti izpiše strani z id-jem od 1 do 7, vmes, ko pa i doseže vrednost 3 (oziroma strani, na kateri se trenutno nahajaš), pa naj se ta obarva drugače, tako kot v spodnjih dveh primerih?

1.
ekociscenje.si cenik kako deluje o nas mobilno stacionarno za podjetja vprašajte nas

2.
http://lukatrzan.si/test-php.php

V tem primeru moraš v drugem echo stavku dodati povezavo in spremeniti barvo te. Prvemu echo stavku pa daj pogoj, da se izpiše samo, če je i različen od strani na kateri se trenutno nahajaš.


<div id="menu">
<?php
$menu=array('ekociscenje.si', 'cenik', 'kako deluje', 'o nas', 'mobilno', 'stacionarno', 'za podjetja', 'vprašajte nas');
for($i=0; $i<8; $i++)
{
if ($i != trenutna stran){
echo '<a href="index.php?pageid='.$i.'" target="_self" >'.$menu[$i].'</a>' ;
}
if($i == trenutna stran){
echo '<a href="index.php?pageid='.$i.'" style="color: druga_barva_povezave" " target="_self" >'.$menu[$i].'</a>' ;
}
}
?>
</div>


spremenil: .lolo (29.2.2012 ob 01.09.44)
 
 
 
29.2.2012, 14:11
if($page==$i){
echo '<a href="index.php?pageid='.$i.'" target="_self" style="color:white">'.$menu[$i].'</a>' ;
}
else if($page != $i){
echo '<a href="index.php?pageid='.$i.'" target="_self">'.$menu[$i].'</a>' ;
}


E, to je to, sem zrihtal. Hvala ti Lolo!
 
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!