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)
);
Problem s vyhladavanim na webe
No mohol by si tu hodit kod vypisu vyhladanych suborov??? Ak to mas tak jednoducho ako vravis staci dopisat vo vypise:
Ak bereme do uvahy, ze $vysledky je vysledok dotazu a chces vyslesky zobrazit na stranku vyhladane s vyuzitim case ... skus sem hodit kod.
Kód: Vybrať všetko
while ( $riadok = mysql_fetch_assoc( $vysledky )) {
extract( $riadok );
.
.
.
echo "<a href='index.php?page=vyhladane&nazov=$nadpis'>$nadpis</a>";
.
.
.
}
<?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";
}
?>
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";
}
?>