Problema cu afisatul imaginilor
#1
Posted 18 June 2009 - 02:53
De cateva zile ma chinui sa afisez niste imagini si nu reusesc.Poate ma ajuta si pe mine cineva.
Treburile stau asa:am o baza de date intitulata filme cu 4 tabele(an,categorii,filme,subcategorii).In tabela filme sunt retinute informatiile despre filme si este alcatuita din urmatoarele row-uri(randuri):Nume(Numele filmului),Categorie(unde este stocat id-ul categoriei din tabela categorii),Subcategorie(genul filmului,cu id la fel k la categorie),Pret,An(cu id la fel ca la categorie),Regizor,Actor1,Actor2,Durata,Descriere, Poza de tip varchar(50) in care e stocat path-ul imaginii filmului respectiv(ex:poze/imagine.jpg). Urmatorul cod PHP are scopul de a afisa pe pagina doar detaliile unui film: <?php $query = 'SELECT filme.Nume AS Nume, subcategorii.Nume AS Categorie, Pret, Descriere, an.An AS An, filme.ID AS ID, Regizor, Actor1, Actor2, Durata, Poza FROM filme JOIN categorii ON filme.Categorie = categorii.ID JOIN subcategorii ON filme.Subcategorie = subcategorii.ID JOIN an ON filme.An = an.ID WHERE filme.ID = '.$_GET['id'].' LIMIT 1'; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { echo (' <h1>'.$row['Nume'].'</h1> <div> <div class="Body"> <p><strong>Pret: '.$row['Pret'].' RON</strong></p> <p><strong>An: '.$row['An'].'</strong></p> <p><strong>Gen: '.$row['Categorie'].'</strong></p> <p><strong>Regizor: '.$row['Regizor'].'</strong></p> <p><strong>Actor 1: '.$row['Actor1'].'</strong></p> <p><strong>Actor 2: '.$row['Actor2'].'</strong></p> <p><strong>Durata: '.$row['Durata'].' minute</strong></p> <p><strong>Detalii:</strong><br />'.$row['Descriere'].'</p> <p>ID produs: '.$row['ID'].'</p> '); } ?> Pe mine ma intereseaza cum afisez imaginea cu path-ul din campul "Poza" din tabela filme.Tineti cont si de faptul ca in baza de date se pot adauga filme si ca imaginea filmelor nu poate fi afisata separat de codul de mai sus. Site-ul este un fel de magazin virtual unde se pot sorta filmele dupa categorie,subcategorie,an.De exemplu din categoria DVD aleg subcategoria Actiune de unde imi sunt afisate toate filme de actiune.De aici aleg un film la care imi sunt afisate detaliile lui precum si poza cu coperta dvd-ului. Sper ca ati inteles ceea ce doresc eu. Raman recunoscator celora care ma ajuta si pe mine. |
#2
Posted 18 June 2009 - 11:01
Ai putea încerca cu <img src="/Imagini/<?php $Poza; ?>" width="50" height="50" /> de ex. Eu așa am rezolvat o problemă de acest gen.
Ar fi bine pentru tine dacă numele imaginii pe care vrei s-o afișezi ar fi legat de numele filmului, ca să nu te mai folosești de noi câmpuri și variabile. Edited by veliky_stefan, 18 June 2009 - 11:02. |
#3
Posted 18 June 2009 - 16:14
veliky_stefan, on 18th June 2009, 12:01, said: Ai putea încerca cu <img src="/Imagini/<?php $Poza; ?>" width="50" height="50" /> de ex. Eu așa am rezolvat o problemă de acest gen. Ar fi bine pentru tine dacă numele imaginii pe care vrei s-o afișezi ar fi legat de numele filmului, ca să nu te mai folosești de noi câmpuri și variabile. am incercat cum ai zis tu dar imi afiseaza un chenar unde ar trebui sa fie poza. |
#4
Posted 18 June 2009 - 16:26
#5
Posted 18 June 2009 - 16:33
alin19, on 18th June 2009, 17:26, said: dai view source si vezi daca calea care se afla la src corespunde cu calea unde este imaginea ta, raportata la pagina html de unde ai incarcat-o; am dat view source si la src corespunde calea cu cea a imaginii... later edit adik stai...cum exact trebuie sa apara? Edited by fr0lic, 18 June 2009 - 16:37. |
#6
Posted 18 June 2009 - 16:38
fr0lic, on 18th June 2009, 16:33, said: am dat view source si la src corespunde calea cu cea a imaginii... Si daca dai click dreapta pe poza "chenar" si "view image", iti apare imaginea? Eu ma indoiesc. Deci uita-te cu atentie pentru ca ai generat o cale catre o resursa (imagine) inexistenta. later edit trebuie sa apara de ca si cum ar fi fost scrisa manual, static, si ar sta acolo de o vecie: <img srg="/imagini/imagine.jpg"> Ah, si foloseste doar litere mici peste tot prin cale, nu directoare ca "Imagini" sau "imagine.jPg"! Unele sisteme sunt case-sensitive (adica: a.jpg, A.jpg sau a.jpG sunt 3 fisiere distincte) Edited by OriginalCopy, 18 June 2009 - 16:41. |
#7
Posted 18 June 2009 - 17:04
OriginalCopy, on 18th June 2009, 17:38, said: Si daca dai click dreapta pe poza "chenar" si "view image", iti apare imaginea? Eu ma indoiesc. Deci uita-te cu atentie pentru ca ai generat o cale catre o resursa (imagine) inexistenta. later edit trebuie sa apara de ca si cum ar fi fost scrisa manual, static, si ar sta acolo de o vecie: <img srg="/imagini/imagine.jpg"> Ah, si foloseste doar litere mici peste tot prin cale, nu directoare ca "Imagini" sau "imagine.jPg"! Unele sisteme sunt case-sensitive (adica: a.jpg, A.jpg sau a.jpG sunt 3 fisiere distincte) nu apare asa.....( inseamna k am gresit cu ceva?dar nu stiu cu ce. hai sa o luam babeste....fiind un super incepator. mai exact unde trebuie sa pun si cum portiunea img src daca folderul cu poze se numeste "poze" si path-ul pozelor se gaseste intr-un row de tip varchar in tabela filme? va rog sa nu va suparati pe mine.v-am zis k sunt la inceput de drum in ceea ce priveste php. |
#8
Posted 18 June 2009 - 17:11
DECI
Cu PHP generezi output dinamic in format HTML (static.html). Ceea ce vrei sa faci este ca codul generat sa arate ca si cum ar fi fost scris de mana. Fa abstractie pentru un moment de PHP, sursa ta de date, deci toata dinamicitatea asta tampita, si scrie-ti un fisier HTML care sa arate o <img>. Pune acest fisier static.html in acelasi director in care se afla fisierul tau .php cu problema. 1. Fiind in windows explorer, unde se afla subdirectorul "poze", relativ la static.html? 2. Vino cu codul HTML concret din static.html. Inainte de a adauga dinamicitate, trebuie sa te asiguri ca stii cum ar merge "calea statica". Te astept cu raspunsuri la 1. si 2., apoi vom continua "calatoria". PS: nu ne suparam, nu trebuie decat sa cooperezi si sa intelegi ce faci. atunci cand nu intelegi ceva din ce se spune, pune intrebari Edited by OriginalCopy, 18 June 2009 - 17:16. |
#9
Posted 18 June 2009 - 19:47
va trebui sa ma scuzati inca odata pentru faptul ca nu inteleg mare branza.eu nu am facut programare deloc si daia nu cunosc multe in ceea ce priveste realizarea unui site(mai ales cu php si baze de date).
pt originalcopy: 1. daca te referi la locatia folderului "poze"...acesta se afla in folderul cu celelate fisiere ale site-ului(si anume site/poze).Folderul "site" la randul lui se afla in folderul "www" deoarece lucrez cu easyPHP. 2.daca te referi la codul html obtinut de la view source....este cel de mai jos.daca te refereai la altceva cand ziceai de static.html atunci nu stiu la ce te-ai referit. <div id="Content"> <div class="pad"> <div> <div class="Body"> <p><strong>Pret: 9 RON</strong></p> <p><strong>An: 2006</strong></p> <p><strong>Gen: Horror</strong></p> <p><strong>Regizor: John Moore</strong></p> <p><strong>Actor 1: Julia Stiles</strong></p> <p><strong>Actor 2: Liev Schreiber</strong></p> <p><strong>Durata: 105 minute</strong></p> <p><strong>Detalii:</strong><br />Diplomatul S.U.A. Robert Thorn (Liev Schreiber) inlocuieste copilul sau cu un orfan pentru a o proteja pe sotia sa (Julia Stiles). Dar dupa o serie de crime grotesti si amenintari ingrozitoare, sotii Thorn realizeaza ca propriul copil este fiul Satanei!</p> <p>ID produs: 9</p> <td><img src="/poze/<?php $poza; ?>" width="50" height="50" /></td> </div> </div> </div> </div> <div class="clear"></div> <br /> </div> <div id="BodyBottom"></div> <div class="clear"></div> potiunea de mai sus presupun ca este codul generat de scriptul php. daca nu am raspuns la punctele 1 si 2 cum trebuia sau ce trebuia atunci spuneti-mi excat ce si cum trebuie sa fac. inca odata va rog sa aveti rabdare cu mine deoarece nu am pregatire in domeniul acesta. Edited by OriginalCopy, 18 June 2009 - 20:27. |
#10
Posted 18 June 2009 - 20:25
fr0lic, on 18th June 2009, 19:47, said: va trebui sa ma scuzati inca odata pentru faptul ca nu inteleg mare branza.eu nu am facut programare deloc si daia nu cunosc multe in ceea ce priveste realizarea unui site(mai ales cu php si baze de date). pt originalcopy: 1. daca te referi la locatia folderului "poze"...acesta se afla in folderul cu celelate fisiere ale site-ului(si anume site/poze).Folderul "site" la randul lui se afla in folderul "www" deoarece lucrez cu easyPHP. 2.daca te referi la codul html obtinut de la view source....este cel de mai jos.daca te refereai la altceva cand ziceai de static.html atunci nu stiu la ce te-ai referit. <div id="Content"> <div class="pad"> <div> <div class="Body"> <p><strong>Pret: 9 RON</strong></p> <p><strong>An: 2006</strong></p> <p><strong>Gen: Horror</strong></p> <p><strong>Regizor: John Moore</strong></p> <p><strong>Actor 1: Julia Stiles</strong></p> <p><strong>Actor 2: Liev Schreiber</strong></p> <p><strong>Durata: 105 minute</strong></p> <p><strong>Detalii:</strong><br />Diplomatul S.U.A. Robert Thorn (Liev Schreiber) inlocuieste copilul sau cu un orfan pentru a o proteja pe sotia sa (Julia Stiles). Dar dupa o serie de crime grotesti si amenintari ingrozitoare, sotii Thorn realizeaza ca propriul copil este fiul Satanei!</p> <p>ID produs: 9</p> <td><img src="/poze/<?php $poza; ?>" width="50" height="50" /></td> </div> </div> </div> </div> <div class="clear"></div> <br /> </div> <div id="BodyBottom"></div> <div class="clear"></div> potiunea de mai sus presupun ca este codul generat de scriptul php. daca nu am raspuns la punctele 1 si 2 cum trebuia sau ce trebuia atunci spuneti-mi excat ce si cum trebuie sa fac. inca odata va rog sa aveti rabdare cu mine deoarece nu am pregatire in domeniul acesta. 2. Nu ma refeream la view source. Am zis sa creezi un fisier banal static.html in care sa pui codul <img> corect pentru a afisa o imagine din subdirectorul "poze". Pe baza acestui fisier te voi ajuta apoi sa-l faci dinamic. Altfel spus, de la particular (cod html static), la general (cod html dinamic). Edited by OriginalCopy, 18 June 2009 - 20:28. |
|
#11
Posted 18 June 2009 - 22:32
1.din cate stiu eu calea absoluta e cea care porneste de radacina pana la fisier iar calea relativa e calea din directorul curent pana la fisier.daca gresec va rog sa ma corectati.
2.am creat un fisier banal "static.html" cum ai zis tu doar pentru a afisa o imagine din subdirectorul "poze" si afiseaza o imaginea specificata de mine(). static.html <html> <head> <title>incercare</title> </head> <body> <img src="poze/tdk.jpg" /> </body> </html> Edited by fr0lic, 18 June 2009 - 22:33. |
#12
Posted 18 June 2009 - 22:56
fr0lic, on 18th June 2009, 22:32, said: 1.din cate stiu eu calea absoluta e cea care porneste de radacina pana la fisier iar calea relativa e calea din directorul curent pana la fisier.daca gresec va rog sa ma corectati. 2.am creat un fisier banal "static.html" cum ai zis tu doar pentru a afisa o imagine din subdirectorul "poze" si afiseaza o imaginea specificata de mine(). static.html <html> <head> <title>incercare</title> </head> <body> <img src="poze/tdk.jpg" /> </body> </html> a. absolute "complet" : http://host.tld b. absolute cu pastrarea schemei (http de exemplu): ///host.tld c. absolute relativ la domeniul curent: /host.tld 2. Bun. Si acum, ce ai observa daca ai scrie mai multe imagini manual, una sub alta? Toate ar avea "poze/" comun in calea lor, nu? Deci in baza de date nu iti ramane decat sa salvezi cai relative precum "tdk.jpg" si sa le adaugi in output: while($row = mysql_fetch_assoc($res)) { echo '<img src="poze/',$row['path'],'" />'; } Daca nici asta nu functioneaza (sau asa faceai deja), vino cu un PoC complet: script php, database dump. PS: poti sa-l iei ca pe un moft de-al meu, insa echo nu este functie, ci instructiune PHP, deci nu pune parametrii echo intre paranteze Edited by OriginalCopy, 18 June 2009 - 22:57. |
#13
Posted 18 June 2009 - 23:19
mersi mult.a mers din prima.
originalcopy esti cel mai tare!!!!!!!!!!!!!!!! mersi inca odata. |
#14
Posted 19 June 2009 - 08:08
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users