Autor Zpráva
jurinko2000
Profil
mám toto
                                    <li><a href="product.php?kat='Obaly'">Obaly</a>
                                    </li>
                                    <li><a href="product.php?kat='Púzdra'">Púzdra</a>
                                    </li>
                                    <li><a href="product.php?kat='Reproduktory'">Reproduktory</a>
                                    </li>
                                    <li><a href="product.php?kat='Batérie'">Batérie</a>
                                    </li>
                                    <li><a href="product.php?kat='Káble_a_adaptére'">Káble a adaptére</a>
                                    </li>
                                    <li><a href="product.php?kat='Nabíjače'">Nabíjače</a>
                                    </li>
                                    <li><a href="product.php?kat='Headsety'">Headsety</a>
                                    </li>
                                    <li><a href="product.php?kat='Ochrana_displeja'">Ochrana displeja</a>
                                    </li>
                                    <li><a href="product.php?kat='Perá'">Perá</a>
a potrebujem niečo také ako napr. "SELECT * FROM `products` WHERE `Kategory`=?kat" alebo také proste potrebujem aby mi to z db vypísalo to kde Kategory=?kat
mimochodec
Profil
Tenhle kód předpokládám generuješ nějakým php, kde názvy kategorií taháš z databáze.
jurinko2000
Profil
mam normal kod
                        <?php
$server = "localhost";
$login = "root";
$heslo = "";
$db = "eshop";
$link = mysqli_connect($server, $login, $heslo, $db);
$query = "SELECT * FROM `products`";
$result = mysqli_query($link, $query);
 

while ($row = mysqli_fetch_array($result))
{

      echo "<img src=\"../Photo/" .$row["Name"]. ".jpg\" width=\"100px\" height=\"100px\" align=\"right\">";
      echo "<a href=\"../detail.php?id=".$row["id"]."\"><h3>" .$row["Name"]. "</h3></a><br>";
      echo substr ($row["Description"], 0, 200)."&hellip;" ;
      echo "<p align=\"right\">".$row["Price"]."€</p><br><hr>";

}
                            
                            ?>
ä potrebujem aby mi to vypisalo iba to čo ma v Kategory ?Kat


napr. Obaly
mimochodec
Profil
Jestli chceš nějak do dotazu dostat id kategorie, musíš ho nejdřív někde získat. Předpokládám, že ten kód v #1 je výsledkem dotazu do databáze. Vypisuješ názvy kategorií, do odkazu vypisuj jejich id.


Aha, pardon. Až teď to vidím. Ty do té adresy dáváš název kategorie. Aby to fungovalo, smaž ty apostrofy.
<a href="product.php?kat='Obaly'">
Ale silně doporučuju místo názvu kategorie používat v adrese její id.
jurinko2000
Profil
ja to mam v db ako kategory a tam to pridavam pomocou
<select name="Kategory">
                    <option value="Obaly">Obaly</option>
                    <option value="Púzdra">Púzdra</option>
                    <option value="Reproduktory">Reproduktory</option>
                    <option value="Batérie">Batérie</option>
                    <option value="Káble a adaptére">Káble a adaptére</option>
                    <option value="Nabíjače">Nabíjače</option>
                    <option value="Headsety">Headsety</option>
                    <option value="Ochrana displeja">Ochrana displeja</option>
                    <option value="Perá">Perá</option>
                    <option value="Radiče">Radiče</option>
                    <option value="TV karty">TV karty</option>
                    <option value="Zvukové karty">Zvukové karty</option>
                    <option value="Led pási">Led pási</option>
                    <option value="Hodinky">Hodinky</option>
                    <option value="Nože">Nože</option>
                    <option value="Kancelárske potreby">Kancelárske potreby</option>
                    <option value="select" selected="selected">VYBER</option>
                        </select></td></tr>



podla toho ako hovoríš

mimochodec:
Aby to fungovalo, smaž ty apostrofy.
a dám to takto
do druheho suboru
                        <?php
$server = "localhost";
$login = "root";
$heslo = "";
$db = "eshop";
$link = mysqli_connect($server, $login, $heslo, $db);
$query = "SELECT * FROM `products` WHERE `Kategory`=?kat";
$result = mysqli_query($link, $query);
 

while ($row = mysqli_fetch_array($result))
{

      echo "<img src=\"../Photo/" .$row["Name"]. ".jpg\" width=\"100px\" height=\"100px\" align=\"right\">";
      echo "<a href=\"../detail.php?id=".$row["id"]."\"><h3>" .$row["Name"]. "</h3></a><br>";
      echo substr ($row["Description"], 0, 200)."&hellip;" ;
      echo "<p align=\"right\">".$row["Price"]."€</p><br><hr>";

}
                            
                            ?>
tak mi to vypíše
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\DOKUMENTY\PLOCHA\Juro\projekt\Eshop\wamp\www\Product.php on line 53


53= while ($row = mysqli_fetch_array($result))


podla toho ako hovoríš

mimochodec:
Aby to fungovalo, smaž ty apostrofy.
a dám to takto
do druheho suboru
                        <?php
$server = "localhost";
$login = "root";
$heslo = "";
$db = "eshop";
$link = mysqli_connect($server, $login, $heslo, $db);
$query = "SELECT * FROM `products` WHERE `Kategory`=?kat";
$result = mysqli_query($link, $query);
 

while ($row = mysqli_fetch_array($result))
{

      echo "<img src=\"../Photo/" .$row["Name"]. ".jpg\" width=\"100px\" height=\"100px\" align=\"right\">";
      echo "<a href=\"../detail.php?id=".$row["id"]."\"><h3>" .$row["Name"]. "</h3></a><br>";
      echo substr ($row["Description"], 0, 200)."&hellip;" ;
      echo "<p align=\"right\">".$row["Price"]."€</p><br><hr>";

}
                            
                            ?>
tak mi to vypíše
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\DOKUMENTY\PLOCHA\Juro\projekt\Eshop\wamp\www\Product.php on line 53


53= while ($row = mysqli_fetch_array($result))
mimochodec
Profil
jurinko2000:
Nerozumím ti, je těžké tě dešifrovat. Odkaz na nějaké autoritativní doporučení ti nedám, ale

- adresa ve tvaru domena.cz?parm='val' je skoro určitě chyba, nebo si tím přinejmenším zaděláváš na problém.
- adresa ve tvaru domena.cz?parm=Kancelárske potreby je možná teoreticky přípustná, ale nedělej to, zaděláváš si na problém.

V url adrese se vyhýbej použití všech znaků mimo a-z, 1-0, -, _
To platí samozřejmě i pro parametry získávané z formulářů, ve tvém případě název selectu a jeho hodnoty.
Úplně nejjednodušší řešení je ?katid=14 - předání id kategorie
jurinko2000
Profil
som to prepisoval
<li><a href="product.php?id=1">Obaly</a>
                                    </li>
                                    <li><a href="product.php?id=2">Púzdra</a>
                                    </li>
                                    <li><a href="product.php?id=3">Reproduktory</a>
                                    </li>
                                    <li><a href="product.php?id=4">Batérie</a>
                                    </li>
                                    <li><a href="product.php?id=5">Káble a adaptére</a>
                                    </li>
                                    <li><a href="product.php?id=6">Nabíjače</a>
                                    </li>
                                    <li><a href="product.php?id=7">Headsety</a>
                                    </li>
                                    <li><a href="product.php?id=8">Ochrana displeja</a>
                                    </li>
                                    <li><a href="product.php?id=9">Perá</a>
                                    </li>
ide to cez ID ale teraz potrebujem urobit product.php tak aby mi to tam vypisalo vsetko kde sa kategory = ID :/
mimochodec
Profil
A co ti brání načíst $_GET["id"], patřičně ošetřit a pak použít takto? "... WHERE kategorie = ".$id
Taps
Profil
jurinko2000:
 <?php
 $server = "localhost";
 $login = "root";
 $heslo = "";
 $db = "eshop";


 $id = intval($_GET['id']);

 $link = mysqli_connect($server, $login, $heslo, $db);
 $query = "SELECT * FROM `products` WHERE `Kategory`=".$id;
 $result = mysqli_query($link, $query);
 
 
 while ($row = mysqli_fetch_array($result))
 {
     
     echo "<img src=\"../Photo/" .$row["Name"]. ".jpg\" width=\"100px\" height=\"100px\" align=\"right\">";
     echo "<a href=\"../detail.php?id=".$row["id"]."\"><h3>" .$row["Name"]. "</h3></a><br>";
     echo substr ($row["Description"], 0, 200)."&hellip;" ;
     echo "<p align=\"right\">".$row["Price"]."€</p><br><hr>";
     
 }
 ?>
jurinko2000
Profil
v tomto prípade mi to píše Notice: Undefined variable: id in D:\DOKUMENTY\PLOCHA\Juro\projekt\Eshop\wamp\www\Product.php on line 99
pre prirovnanie celý kod
<html>
<head>
<?php
    include "Style.css";
?>
<meta charset="UTF-8">
<title>Home</title>
<style>
#Login{
    width: 223px;
    height: auto;
    background-color:#FFF;
    margine-left: auto;
    margin-right: 50px;
    margin-top: 50px;
    
    }

</style>

</head>

<body style="background-image:url(background.jpg);
            background-attachment:fixed;
            background-position:center;
            background-repeat:no-repeat;">
            <div id="LOGO">
                <div id="BETA">
                <h3>WEB JE V BETE</h3>
    
                </div>
                    <?php
                    include "login.p.php";
                    
                    ?>

                </div>
                <?php 
                include "head.php";
                ?>

                <div id="products">
                        <?php
                        if($_GET['id'] == 1){
                            $kat="Obaly";
                        }
                        if($_GET['id'] == 2){
                            $kat="Púzdra";
                        }
                        if($_GET['id'] == 3){
                            $kat="Reproduktory";
                        }
                        if($_GET['id'] == 4){
                            $kat="Batérie";
                        }
                        if($_GET['id'] == 5){
                            $kat="Káble a adaptére";
                        }
                        if($_GET['id'] == 6){
                            $kat="Nabíjače";
                        }
                        if($_GET['id'] == 7){
                            $kat="Headsety";
                        }
                        if($_GET['id'] == 8){
                            $kat="Ochrana displeja";
                        }
                        if($_GET['id'] == 9){
                            $kat="Perá";
                        }
                        if($_GET['id'] == 10){
                            $kat="Radiče";
                        }
                        if($_GET['id'] == 11){
                            $kat="TV karty";
                        }
                        if($_GET['id'] == 12){
                            $kat="Zvukové karty";
                        }
                        if($_GET['id'] == 13){
                            $kat="Led pási";
                        }
                        if($_GET['id'] == 14){
                            $kat="Hodinky";
                        }
                        if($_GET['id'] == 15){
                            $kat="Nože";
                        }
                        if($_GET['id'] == 16){
                            $kat="Kancelárske potreby";
                        }
                            
                        
$server = "localhost";
$login = "root";
$heslo = "";
$db = "eshop";
$link = mysqli_connect($server, $login, $heslo, $db);
$query = "SELECT ... FROM `products` WHERE `Kategory`= ".$id;
$result = mysqli_query($link, $query);
 

while ($row = mysqli_fetch_array($result))
{

      echo "<img src=\"../Photo/" .$row["Name"]. ".jpg\" width=\"100px\" height=\"100px\" align=\"right\">";
      echo "<a href=\"../detail.php?id=".$row["id"]."\"><h3>" .$row["Name"]. "</h3></a><br>";
      echo substr ($row["Description"], 0, 200)."&hellip;" ;
      echo "<p align=\"right\">".$row["Price"]."€</p><br><hr>";

}
                            
                            ?>
                    
                </div>

<?php

?>


</body>
</html>
mimochodec
Profil
jurinko2000:
$query = "SELECT ... FROM `products` WHERE `Kategory`= ".$id;

Proměnnou $id plníš přesně kde?
jurinko2000
Profil
aha ok uz som to tam pridal a ide to dikyy :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: