New question

Question:

Date: 08-02-2020 07:14:53 (In Spanish)

Error con el INNER JOIN[Resolved]

Hola amigos, resulta que hago un INNER JOIN en phpmyadmin y me sale bien, pero cuando copio este y me lo llevo a mi proyecto me esta saliendo mal y no el motivo, estoy intentando sacar la foto de perfil del usuario que ha publicado un producto pero no me esta sacando nada.

Aquí les dejo el código que tengo escrito:
<?php

// Sacar la foto de perfil de la persona que ha publicado el producto
$stmt = $conexion->query("SELECT name FROM users INNER JOIN product ON product.user_id = users.id");
$stmt->execute(['email' => $email]);
while ($row = $stmt->fetch()) {
    $photo_vendedor = $row['photo_perfil'];
}

// Sacar todos la información del producto publicado
$stmt = $conexion->query("SELECT * FROM product");
$stmt->execute(['email' => $email]);
while ($row = $stmt->fetch()) {
    $id = $row['id'];
    $user_id = $row['user_id'];
    $title = $row['title'];
    $description = $row['description'];
    $moneda = $row['moneda'];
    $price = $row['price'];
    $ubication = $row['ubication'];
    $video = $row['video'];
    $miniatura = $row['miniatura'];
    $images = $row['images'];
    $category = $row['category'];
    $state = $row['state'];
    $create_at = $row['create_at'];
?>
  <!-- Contenido con los card -->
<section>
  <article class="col s12 m6 xl3">
          <a href="detail">
              <div class="row">
                  <div class="col s12 m12 xl12">
                    <div class="card">
                      <div class="card-image">
                        <img src="./miniaturas/<?=$miniatura?>" alt="Miniatura del producto">
                        <a class="btn-floating halfway-fab waves-effect waves-light red"><img src="photo-perfil/<?=$photo_vendedor?>" class="circle" alt="Foto de perfil del vendedor" title="Foto del vendedor"></a>
              </a> <!-- Final del enlace de la imagen -->
                      </div>
                      <a href="" class="black-text">
                          <div class="card-content">
                              <h1 class="card-title" title="Vendo casa con marquecina"><?=$title?></h1>
                          <p><?=$description?></p>
                          <b class="green-text">$<?=$price?></b>
                          </div>
                      </a> <!-- Final del enlace de los titulos y el precio -->
                    </div>
                  </div>
                </div>
      </article>
</section> <!-- Fin de un card -->
<?php } ?>
  <!-- Modal de ayuda -->
  <?php require_once('modal/modal.ayuda.php') ?>
Tags: MySQL - PHP Votes: 0 - Answers: 2 - Views: 6 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 09-02-2020 05:52:11 Hola amigos, esta pregunta ya la he resorbido, y no quiero sonar presuntuoso, pero la he resulto yo mismo. El problema estaba en que colocaba 2 while donde con uno solo era suficiente.

    Aquí abajo dejo el código ya resuelto de como debe ser la consulta y toda bien sin error.

    <?php
    
    // Sacar el nombre de la persona que ha iniciado sesion
    $stmt = $conexion->query("SELECT * FROM product INNER JOIN users ON users.id = product.user_id ORDER BY RAND()");
    $stmt->execute(['email' => $email]);
    while ($row = $stmt->fetch()) {
        $photo_vendedor = $row['photo_perfil'];
        $id = $row['id'];
        $user_id = $row['user_id'];
        $title = $row['title'];
        $description = $row['description'];
        $moneda = $row['moneda'];
        $price = $row['price'];
        $ubication = $row['ubication'];
        $video = $row['video'];
        $miniatura = $row['miniatura'];
        $images = $row['images'];
        $category = $row['category'];
        $state = $row['state'];
        $create_at = $row['create_at'];
    
    ?>
      <!-- Contenido con los card -->
    <section>
      <article class="col s12 m6 xl3">
              <a href="detail">
                  <div class="row">
                      <div class="col s12 m12 xl12">
                        <div class="card">
                          <div class="card-image">
                            <img src="./miniaturas/<?=$miniatura?>" title="<?=$title?>" alt="Miniatura del producto">
                            <a class="btn-floating halfway-fab waves-effect waves-light white">
                            
                            <img src="photo-perfil/<?=$photo_vendedor?>" class="circle" alt="Foto de perfil del vendedor" title="Foto del vendedor">
                            
                            </a>
                  </a> <!-- Final del enlace de la imagen -->
                          </div>
                          <a href="" class="black-text">
                              <div class="card-content">
                                  <h1 class="card-title"><?=$title?></h1>
                              <p><?=$description?></p>
                              <b class="green-text"><?=$moneda.' '.$price?></b>
                              </div>
                          </a> <!-- Final del enlace de los titulos y el precio -->
                        </div>
                      </div>
                    </div>
          </article>
    </section> <!-- Fin de un card -->
    <?php } ?>
      <!-- Modal de ayuda -->
      <?php require_once('modal/modal.ayuda.php') ?>


    Esta pregunta ya ha sido resuelta
      Votes: 0 - Link answer
     
  • Date: 09-02-2020 05:54:30 NOTA: en realidad el INNER JOIN no estaba mal, por eso lo mencione en la publicación donde decía que en phpmyadmin funcionaba pero en mi proyecto no me funcionaba, entonces lo que hice fue eliminar un while y la consulta del while eliminada me la lleve a la otra consulta.   Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com