Autor Zpráva
Honzicek76
Profil *
Zdravim, mam nize uvedeny kod pro vysledek vyhledavani, ale nekde je chyba a ja na tu chybu ci chyby nemuzu prijit, budte tak hodni a poradte mi prosim. Predem moc dekuji. :o)

Poznatky:

1) Pri existujicich zaznamech vse funguje bajecne.

2) Pokud neni vyplnena promenna $name supne to chybu + varovani

Notice: Undefined variable: result in c:\program files\easyphp1-8\www\mojewww\search.php on line 43

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\mojewww\search.php on line 43


3) Pokud je promenna $name vyplnena, ale v databazi neni obsazena, tak to nevyhodi zadnou chybovou hlasku.

4) Pokud mate lepsi reseni, tak sem s nim :o)


<?php

$name = $_GET['name'];
$category = $_GET['category'];

if($name != "" && $name != " "){
$result = mysql_query("SELECT * from zaznam WHERE (name LIKE '%$name%') AND (category LIKE '%$category%')");
$delka = mysql_num_rows($result);

if($delka ==1){
$s = "byl nalezen $delka záznam";
} else {
$s = "byly nalezeny $delka záznamy";
}
if($delka >=5){
$s = "bylo nalezeno $delka záznamů";
}

if($delka > 0) {
echo "<table border='0' cellpadding='2' cellspacing='0'>";
echo "<tr>";
echo "<td><font color='#800000'><h4>Výsledky vyhledávání</h4></font></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Pro hledaný výraz ''<strong>$name</strong>'' $s.</td>";
echo "</tr>";
echo "</table>";
}
} else {
echo "<table border='0' cellpadding='2' cellspacing='0'>";
echo "<tr>";
echo "<td><font color='#800000'><h4>Výsledky vyhledávání</h4></font></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Chyba při zpracování dotazu ''<strong>$name</strong>''.</td>";
echo "</tr>";
echo "</table>";
}
?>

<table border="0" cellpadding="2" cellspacing="0" width="100%">
<?php while ($row = mysql_fetch_array($result)): ?>
.
.
.

<?php endwhile; ?>
</table>
Anonymní
Profil *
>3) Pokud je promenna $name vyplnena, ale v databazi neni obsazena, tak to nevyhodi zadnou chybovou hlasku.
sa cudujes ze ti to nevyhodi ziadny error ked ho nemas definovany
if $premenna == 0
echo ziadny najdeny


a ta chybova hlaska

Notice: Undefined variable:
result in c:\program files\easyphp1-8\www\mojewww\search.php on line 43
nedefinovana premenna, definuj :)

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\mojewww\search.php on line 43

zly prikaz, not valid, pozri history tam toho najdes (gattaca :))
Anonymní
Profil *
problem je vtom ze ked ti neplati podmienka $name != "" && $name != " " tak to skoci rovno sem:

} else {
echo "<table border='0' cellpadding='2' cellspacing='0'>";
echo "<tr>";
echo "<td><font color='#800000'><h4>Výsledky vyhledávání</h4></font></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Chyba při zpracování dotazu ''<strong>$name</strong>''.</td>";
echo "</tr>";
echo "</table>";
}
?>

<table border="0" cellpadding="2" cellspacing="0" width="100%">
<?php while ($row = mysql_fetch_array($result)): ?>
.
.
.

<?php endwhile; ?>
</table>

a tu neni definovany result, a tudiz nemoze byt platnym mysql zdrojom

pS:
toto:

if($delka ==1){
$s = "byl nalezen $delka záznam";
} else {
$s = "byly nalezeny $delka záznamy";
}
if($delka >=5){
$s = "bylo nalezeno $delka záznamů";
}

by som zmenil na:
if($delka ==1){
$s = "byl nalezen $delka záznam";
} elseif($delka >=5){
$s = "bylo nalezeno $delka záznamů";
} else {
$s = "byly nalezeny $delka záznamy";
}

je to viac "programatorske" riesenie
Toto téma je uzamčeno. Odpověď nelze zaslat.

0