Diana Madeira Posted April 5, 2017 at 10:06 PM Report #603516 Posted April 5, 2017 at 10:06 PM Olá Estou a criar um loja online de livros. Já criei a minha base de dados onde coloquei toda a informação sobre o livro incluindo uma imagem. Para isto usei myphpadmin. Depois criei uma pasta em php onde criei o meu código: <?php include('config.php'); $sql= "SELECT * FROM books WHERE category='computing'"; $result= $conn -> query($sql); if($result-> num_rows >0) { while($row = $result-> fetch_assoc()) { echo "category: " .$row["category"]. "<br>"; } } $conn->close(); ?> Aquilo que pretendo é por exemplo ao carregar na categoria "informática" que me apareçam os livros dessa categoria. Como por exemplo no site da Amazon. Com este código aquilo que obti foi o seguinte: category: computing category: Computing category: computing Alguém me pode ajudar pf? Obrigado
Th3Alchemist Posted April 7, 2017 at 07:58 AM Report #603524 Posted April 7, 2017 at 07:58 AM Uma maneira simples é utilizar um método GET, e com este fazer a respectiva query. Tens por exemplo no site inicial várias categorias e muitos livros onde SELECT * FROM books E depois vais a categorias 'computing' cujo link por exemplo é ./livros.php?categoria=computing Agora podes chamar essa variavel GET e filtar os resultados diretamente: <?php include('config.php'); $categoria = $_GET['categoria']; $sql= "SELECT * FROM books WHERE category='" . $categoria . "'"; $result= $conn->query($sql); ...
HappyHippyHippo Posted April 7, 2017 at 08:54 AM Report #603525 Posted April 7, 2017 at 08:54 AM On 4/5/2017 at 11:06 PM, Diana Madeira said: if($result-> num_rows >0) { while($row = $result-> fetch_assoc()) { echo "category: " .$row["category"]. "<br>"; } } Pois, mas vês como estás sempre a apresentar a informação de categoria e não os dados do livro ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Diana Madeira Posted April 7, 2017 at 04:40 PM Author Report #603528 Posted April 7, 2017 at 04:40 PM (edited) Olá Eu entretanto consegui lá chegar da seguinte maneira: <?php include( 'config.php'); $sql="SELECT * FROM books WHERE category='computing'" ; $r=mysqli_query($conn, $sql); ?> <table cellpadding="2" cellspacing="2" border="0"> <tr> <th> ISBN </th> <th> Title </th> <th> Author's name </th> <th> edition </th> <th> year </th> <th> category </th> <th> publisher </th> <th> quantity-in-stock </th> <th> price </th> </tr> <?php while($books=mysqli_fetch_object($r)){?> <tr> <td> <?php echo $books-> ISBN;?> </td> <td> <?php echo $books -> Title; ?> </td> <td> <?php echo $books -> Authorsname; ?> </td> <td> <?php echo $books -> edition; ?> </td> <td> <?php echo $books -> year; ?> </td> <td> <?php echo $books -> category; ?> </td> <td> <?php echo $books -> publisher; ?> </td> <td> <?php echo $books -> quantityinstock; ?> </td> <td> <?php echo $books -> price; ?> </td> </tr> <?php } ?> </table> Mas o problema é que esta foi a única maneira que encontrei para disponibilizar a informação que se encontra na base de dados de forma organizada. Mas aquilo que eu pretendo mesmo é que a informação aparece como por exemplo em sites como a fnac. A imagem do livro e por baixo a informação relativa ao livro. Em relação a imagem tambem estou com problemas, na base de dados amazenei a imagem como tipo longblob mas ao chama-la como chamei o ISBN etc o ecra aparece todo disfigurado com inumeros caracteres. A base de dados está criada em myphpadmin. Alguem me pode ajudar sff? Obrigado Edited April 7, 2017 at 07:22 PM by apocsantos identar código
M6 Posted April 8, 2017 at 08:54 PM Report #603542 Posted April 8, 2017 at 08:54 PM A forma de apresentação podes alterar desenhando um layout diferente.. Quanto à imagem, partindo do principio que a mesma foi guardada de forma correta, isto deve permitir-te mostrar a mesma: echo '<img src="data:image/jpeg;base64,'.base64_encode( $books->image ).'"/>'; Tens de compreender o tipo de dados que estás a guardar em cada campo, neste caso é um binário, e tens de o interpretar corretamente. PS: a base de dados não está criada em myphpadmin, está criada em MySQL ou MariaDB (dependendo do motor), isso é apenas uma interface para simplificar a utilização da base de dados. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
Diana Madeira Posted April 8, 2017 at 09:05 PM Author Report #603544 Posted April 8, 2017 at 09:05 PM Olá M6 Acabei de experimentar e continua sem dar, eu guardei a imagem em myphpadmin com tipo:longblob. Não sei o que possa estar a fazer de mal. Cumps, Diana
apocsantos Posted April 8, 2017 at 09:21 PM Report #603545 Posted April 8, 2017 at 09:21 PM Boa noite, Bem, a "bruxa" não atende o telefone, logo não tenho como adivinhar o que possa estar a dar errado, no entanto se mostrares o que está a ser guardado na base de dados no campo onde supostamente estaria a imagem, certamente será mais fácil ajudar. Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
M6 Posted April 10, 2017 at 11:02 AM Report #603568 Posted April 10, 2017 at 11:02 AM Como disse o apocsantos, sem mais informação não é possível perceber o que se passa. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
Diana Madeira Posted April 10, 2017 at 02:59 PM Author Report #603570 Posted April 10, 2017 at 02:59 PM eu adoraria se desse para fazer o upload de imagens aqui. quero vos mostrar o print screen q tirei da minha base de dados mas pelos vistos aqui n se pode fazer o upload de fotos
apocsantos Posted April 10, 2017 at 03:05 PM Report #603571 Posted April 10, 2017 at 03:05 PM Bem, parece que dá! Permite-me mostrar-te como: 🙂 Spoiler https://imgur .com/a/rJQEn Colocas a imagem no imgur.com, depois clicas em "spoiler" o botão que parece um olho, colocas lá o link e a imagem aparece cá! 🙂 Nada que um "espertinho", não consiga fazer! Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
Diana Madeira Posted April 10, 2017 at 03:16 PM Author Report #603572 Posted April 10, 2017 at 03:16 PM Olá Obrigado creio que ja consegui. Conseguem ver as imagens. https://i.postimg.cc/4dnZB7Ts/2Y04XB8.png https://i.postimg.cc/MG9q70N9/vPk23ir.png
devgoncalo Posted April 13, 2017 at 08:36 AM Report #603611 Posted April 13, 2017 at 08:36 AM ola uma observação: o nome dos campos da base de dados não seguem uma estrutura lógica - existem campos tipo qwe_qwe, QWE, Qwe, qweqwe - o que não facilita a compreensão e manutenção da mesma, especialmente quando os projectos começam a crescer. pessoalmente, gosto do formato qwe_qwe. cumps
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now