Autor Zpráva
FraK
Profil *
Dobrý den,
potřeboval bych udělat následující. 3 tabulky:
1 tabulka: texty o programech
2 tabulka: linky na adresáře
3 tabulka: linky na fotografie

Dotazem jsem nezískal nic, ani žádnou ERROR hlášku (resp vyhodilo mi to na else...)

Dá se dotaz takhle vůbec napsat a nebo je potřeba jiný postup?
<?php $res = mysql_query("SELECT prog_nazev, prog_text, prog_title, prg_fotonazev, prg_foto, prg_fotocopyright, prg_link FROM prog_ensemble_cz INNER JOIN prog_pics, pics_link ON prog_ensemble_cz.prog_id=prog_pics.prg_nazev AND prog_pisc.prg_link=pics_link.link_id WHERE prog_nazev = '$nazev' ");
if($res !== FALSE){//pokud jsou data vystup ano
while($data=mysql_fetch_assoc($res)){
$prog_nazev = $data ['prog_nazev'];
$prog_text = $data ['prog_text'];
$prog_title = $data ['prog_title'];
$foto_nazev = $data ['prg_fotonazev'];
$foto = $data ['prg_foto'];
$fotocopy = $data ['prg_fotocopyright'];
$link = $data ['prg_link'];
list($width, $height) = getimagesize("http://www.collegiummarianum.cz/fotogalerie/$link/$foto ");

echo '<div class="fotoleft fotolist">';
echo "<a href='javascript:zoom(" http://www.collegiummarianum.cz/fotogalerie/$link/$foto","$foto_nazev" , "", "&copy; Foto $fotocopy", $width, $height);'return false>";//cesta ke fotografii v plne velikosti
echo "<img src="http://www.collegiummarianum.cz/fotogalerie/$link/prev/$foto" alt="$foto_nazev" border="0">"; //cesta k nahledu
echo '</a>';
echo '</div>';
}echo '<hr class="fotoclear" />';
}else{//pokud nejsou nasleduje tento vystup
nightfish
Profil
co ti brání si tu chybovou hlášku vypsat?

před ten if
echo mysql_error()
FraK
Profil *
Tam není žádná chybová hláška...
else{//pokud nejsou nasleduje tento vystup

echo '<div class="fotoright">';
echo '<p class="foto">';
echo 'Požadované fotografie nejsou k dispozici';
echo '</a></p>';
echo '</div>';
echo '<hr class="fotoclear" />';
}

A vypíše mi to Požadované fotografie nejsou k dispozici
FraK
Profil *
...IF
Domníval jsem se, že testuji, zda li jsou tam vůbec nějaká data. pokud ne, tak ...
nightfish
Profil
ne...testuješ, jestli dotaz proběhl korektně
na to, jestli vrátil nějaký výsledek se musíš zeptat jinak

if ($res && mysql_num_rows($res) > 0) {
FraK
Profil *
OK, děkuji, ale to asi neřeší problém s výpisem dat...
nightfish
Profil
problém se zřejmě v tom dotazu... prostě je nastaven tak, že nevrátí žádný výsledek
nicméně s tím, co jsi uvedl nemám chuť se dotazem probírat
zkus kdyžtak vypsat ke každé tabulce všechny sloupce a pak taky všechny vazby
FraK
Profil *
V dotazu mi šlo o to, zda li jde v INNER JOIN postavit za sebe dvě tabulky a následně testovat po ON dvě podmínky. Chtěl jsem se zeptat na možnou syntaxi, zda li je princip možný.
FraK
Profil *
Měj sem tam překlepy, nicméně vystupo je stejný = žádný.
Výsledek by měl být zobrazení fotogalerie daného programu.

if (get_magic_quotes_gpc()) $nazev = stripslashes($_GET['page']);
else $nazev = $_GET['page'];
$nazev = mysql_real_escape_string($nazev);

... dostanu název stránky

tabulka: "prog_ensemble_cz"
prog_id (čísla jednotlivých programů)
prog_nazev (názvy jednotlivých programů)

tabulka:"prog_pics"
prg_foto (link na konkrétní fotografii - neco.jpg)
prg_fotonazev (alternativní text k fotografii)
prg_link (číslo k linkům na adresáře /do tabulky pics_link řádek link_id/)
prg_nazev (čislo k programům /do tabulky prog_ensemble_cz řádek prog_id/)

tabulka:"pics_link"
link_id (čísla linků na jednotlivé adresáře)
link (vlastní link na adresář - soirees/_2007)
FraK
Profil *
Ještě kód:
<?php $res = mysql_query("SELECT prog_nazev, prg_fotonazev, prg_foto, link FROM prog_ensemble_cz INNER JOIN prog_pics, pics_link ON prog_ensemble_cz.prog_id=prog_pics.prg_nazev AND prog_pics.prg_link=pics_link.link_id WHERE prog_ensemble_cz.prog_nazev = '$nazev' ");
if ($res && mysql_num_rows($res) > 0){//pokud jsou data vystup ano
while($data=mysql_fetch_assoc($res)){
$prog_nazev = $data ['prog_nazev'];
$foto_nazev = $data ['prg_fotonazev'];
$foto = $data ['prg_foto'];
$link = $data ['link'];
list($width, $height) = getimagesize("http://www.collegiummarianum.cz/fotogalerie/$link/$foto ");
nightfish
Profil
SELECT prog_nazev, prog_text, prog_title, prg_fotonazev, prg_foto, prg_fotocopyright, prg_link FROM prog_ensemble_cz, prog_pics, pics_link WHERE prog_nazev = '$nazev' AND prg_link = link_id AND prg_nazev = prog_id
FraK
Profil *
Děkuju moc za pomoc, nicméně jsem úplný idiot. Začal jsem předělávat linky na absolutní s doménou. Nejsem na to zvyklý doposud a nenahrál jsem změny na web. Moc se omlouvám za Váš čas a děkuju.
To nightfish dík moc
Toto téma je uzamčeno. Odpověď nelze zaslat.