Autor Zpráva
Wendy88
Profil *
Dobrý den,
potřebuju poradit. Napsala jsem malý skript na editaci alb (úkol do školy)
function vratAlbaPodleId($id) {
  $r = mysql_query('SELECT * FROM album WHERE ida = "' . $id . '"');
  if ($r) {
    
    $pom = mysql_fetch_assoc($r);
      zdrojObrazku($pom); 
    return $pom;  
  }
  return FALSE;
}

function zdrojObrazku (&$radek) {
      $urlMaly = 'images/image' . $radek['ida'] . '.thumb.jpg';
      $urlVelky = 'images/image' . $radek['ida'] . '.jpg';
      if (file_exists($urlMaly)) {
        $radek['obrazekThumb'] = $urlMaly;
        $radek['obrazek'] = $urlVelky;
      } 
}


a toto vypisuju ve formuláři
  <?php if ($radek['obrazek'] != NULL) { 
     echo '<img src="images/image' . $model['data']['ida'] . '.thumb.jpg" /><br /><label><input type="checkbox" name="smazat" value="1" />smaž obrázek!</label>';
     }
?>   


problém je v tom, že mi to ve formuláři nezobrazí ikdyž ty obrázky existují a hlavně mi to nic nezahlásí.. Když jsem to postupně var_dumpovala tak to vypadá že to ty informace obsahuje. Nemám špatně použité "&" v té funkci?
Alphard
Profil
$radek figuruje ve funkci (lokalní platnost proměnné). Odkaz vede na adresu $pom, ta je pak vrácena přes normální return. Máte tam nějaké $radek = vratAlbaPodleId(5);?

Nemyslela jste spíš tohle?
global $radek;
Wendy88
Profil *
Je to vlastně MVC model (můj první). V kontroleru to volám takto
} else if ($akce == 'edituj') {
  $id = $_REQUEST['id'] + 0;
  $model = array();
  $model['data'] = vratAlbaPodleId($id);
  $model['skupina'] = menuSkupina();  
  $model['zanr'] = menuZanr();  
  zobrazPohled('formular', $model);


původně jsem to měla dělané tak, že jsem se přímo v samotném HTML ptala if file_exist, ale učitel mi to vrátil, že to nemůžu mít tak natvrdo v designu, že to musím dát do databázové vrstvy a od té doby to už nefunguje.
Alphard
Profil
Místo
if ($radek['obrazek'] != NULL)
zkuste
if ($model['data']['obrazek'] != NULL)
Wendy88
Profil *
Funguje, jupííííí. Jste poklad. Děkuju

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0