Problem s vyhladavanim na webe

Programovacie jazyky, rady, poradňa...
powers
Light Expert
Light Expert
Príspevky: 45
Registrovaný: 26 feb 2006, 10:08

Problem s vyhladavanim na webe

Príspevok od používateľa powers »

Mam na stranke jednoduche vyhladavanie a ked don napisem napriklad nazov clanku ktory je zadany v databaze vyhlada ho avsak nemozem nan kliknut ako na odkaz ako to docielim?

Tabulky vyzeraju takto:

CREATE TABLE temy (
id_temy MEDIUMINT NOT NULL auto_increment,
nadpis VARCHAR(255) NOT NULL,
obsah LONGTEXT NOT NULL,
autor VARCHAR(255) NOT NULL,
email CHAR(255) NOT NULL,
datum DATETIME NOT NULL,
uprava DATETIME NOT NULL,
ip CHAR(15) NOT NULL,
PRIMARY KEY(id_temy)
);

CREATE TABLE prispevky (
id_prispevku INT NOT NULL auto_increment,
obsah LONGTEXT NOT NULL,
autor VARCHAR(255) NOT NULL,
email CHAR(255) NOT NULL,
datum DATETIME NOT NULL,
k_teme MEDIUMINT NOT NULL,
ip CHAR(15) NOT NULL,
PRIMARY KEY(id_prispevku)
);
MeSo
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 20
Registrovaný: 01 jún 2005, 9:04
Bydlisko: Liptovský Mikuláš

Príspevok od používateľa MeSo »

No mohol by si tu hodit kod vypisu vyhladanych suborov??? Ak to mas tak jednoducho ako vravis staci dopisat vo vypise:

Kód: Vybrať všetko

while ( $riadok = mysql_fetch_assoc( $vysledky )) {
extract( $riadok );
.
.
.
echo "<a href='index.php?page=vyhladane&nazov=$nadpis'>$nadpis</a>";
.
.
.
}
Ak bereme do uvahy, ze $vysledky je vysledok dotazu a chces vyslesky zobrazit na stranku vyhladane s vyuzitim case ... skus sem hodit kod.
powers
Light Expert
Light Expert
Príspevky: 45
Registrovaný: 26 feb 2006, 10:08

Príspevok od používateľa powers »

<?php #vyhladavanie.php

require_once("mysql.php");



if(isset($_GET[retazec])){

if(empty($_GET[retazec])){


$retazec = FALSE;

$error = "Nezadali ste retazec pre vyhladávanie!<br />\n";

} else {

$retazec = $_GET[retazec];


}

if($_GET[podla] == "nadpis"){

$podla = "nadpis";

} elseif($_GET[podla] == "obsah"){


$podla = "obsah";

}

if($retazec){

echo "Výsledky vyhladávania <strong>$retazec</strong>!<br />\n";


$retazec = explode(" ",$retazec);

$sql = "SELECT nadpis FROM clanky WHERE $podla LIKE '%".$retazec[0]."%'";


for ($num=1;$num<count($hladaj);$num++) {

$sql .= "$sql AND $podla LIKE '%".$hladaj[$num]."%'";


}

$sql = "$sql ORDER BY id DESC";

$vysledok = mysql_query($sql);

$pocet = mysql_num_rows($vysledok);


if($pocet == NULL){

die("Zadaný retazec sa v databáze nenachádza!<br />\n");

}

while($zaznam = mysql_fetch_object($vysledok)){


$nadpis = $zaznam->nadpis;

echo "$nadpis<br />\n";

}

unset($nadpis);

echo "<hr />Výsledkov: <strong>$pocet</strong> | <a href='javascript:history.back()' title='Spät'>Spät</a><br />\n";


} else {

echo $error;

}

} else {

echo "<form action='{$_SERVER[PHP_SELF]}' method='get'>\n";

echo " <fieldset><legend>Zadajte retazec</legend>\n";


echo " Text:<br /><input name='retazec' type='text' /><br />\n";

echo " Hladaj...<br /><select name='podla'>\n";

echo " <option value='nadpis'>V nadpise</option>\n";


echo " <option value='obsah'>V obsahu</option>\n";

echo " </select><br /><br />\n";

echo " <input type='submit' value='Vyhladaj' />\n";


echo " </fieldset>\n";

echo "</form>\n";

}

?>
Napísať odpoveď