Ispis iz baze

problem je ovakav imam select za odabir namirnice iz baze i kada ju odaberem nemogu iz baze iščitati koji je id odabrane namirnice, u nastavku slijedi kod, a greška koju mi izbacuje je

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in unos_u_recept.php on line 89

zašto ne staviš

Ime namirnice ????

ne razumijem baš što želiš reći. meni treba upit na bazu gdje će izvući id_namirnice koja je odabrana u select-u.

Imas gresku u query-u:

<select multiple="multiple" name="namirnicaodabir[]">
                                <?php
                                $upit = ("SELECT * FROM namirnice");
                                $rezultat = mysql_query($upit);
                                while ($red=mysql_fetch_array($rezultat))

                                {?>
                                <option><?php echo $red['ime_namirnice']; ?></option>
                                <?php } ?>
                            </select>

$namirnica = $_POST['namirnicaodabir'];
                $brojnamirnica = count($namirnica);

                    for ($i=0; $i < $brojnamirnica ; $i++) 
                    { 
                        $nazivnamirnice = $namirnica[$i];
                        $ime=mysql_real_escape_string($nazivnamirnice);

                        $sql_idnam = "SELECT * FROM namirnice WHERE ime_namirnice='".$ime."'"; // OVDJE JE BILA GRESKA
                        $rezultat = mysql_query($sql_idnam);

                        $red=mysql_fetch_array($rezultat);    //ovo je linija 89;
                      
                        $id_nam=$red['id_namirnice'];
                      
                        echo $nazivnamirnice;
                        $sql_upit = "INSERT INTO recipes_groceries VALUES ('','$id_rec','$id_nam','')";

Creatif pita zašto nisi koristio umjesto:
naziv namirnice
ovo
naziv namirnice

Želim ti reći da ti nije potreban upit na bazu nakon subitanja forme ako u option imaš atribut value gdje bi mogao pospremiti id namirnice. Tim načinom bi nakon slanja forme dobio id odabranih namirnica, pa bi izbjegao drugi upit na bazu.

Dakle nešto ovako

Nisam ovaj kod testirao ali mislim da bi trebao raditi.

P.S. Napomena: Molim te da ovaj kod ne koristiš ovakav kakav je u druge svrhe osim testiranja jer boluje od teških sigurnosnih rupa.

a da probaš ovako?

[php]

<?php $upit = ("SELECT * FROM namirnice"); $rezultat = mysql_query($upit); // ovdje još možeš staviti || die(mysql_error()) while ($red = mysql_fetch_array($rezultat)) { ?> <?php echo $red['ime_namirnice']; ?> <?php } ?> <?php $namirnica = $_POST['namirnicaodabir']; $brojnamirnica = count($namirnica); for ($i = 0; $i < $brojnamirnica; $i++) { $nazivnamirnice = $namirnica[$i]; $ime = mysql_real_escape_string($nazivnamirnice); $sql_idnam = "SELECT * FROM namirnice WHERE ime_namirnice='" . $ime.'"'; $rezultat = mysql_query($sql_idnam); // i ovdje možeš staviti || die(mysql_error()) while ($red = mysql_fetch_array($rezultat)) { $id_nam = $red['id_namirnice']; $sql_upit = "INSERT INTO recipes_groceries VALUES ('', '" . $id_rec . "', '" . $id_nam . "','')"; } } ?>[/php]

hvala svima na savjetima napravio sam da mi u tablicu sprema ime namirnice, a ne id. Na kraju se to riješenje pokazalo boljim.