PHP - Sacar información de 2 tablas diferentes y usarlo en un solo while

 
Vista:
Imágen de perfil de BlowDix
Val: 23
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Sacar información de 2 tablas diferentes y usarlo en un solo while

Publicado por BlowDix (6 intervenciones) el 03/09/2020 04:31:02
Hola, estoy empezando en este mundo de php y estoy haciendo una web de series, tengo un problema que no pedo encontrar la solución.

Quiero mostrar información de 2 tablas(tabla1= bd_general ; tabla2=bd_link)

En bd_link cargo los capítulos de todas las series

En bd_general cargo las series

de bd_general saco la descripción de la serie, la imagen y el nombre de bd_link caso el capitulo y los link que contienen los vídeos

en el código son 2 columnas una que muestra las ultimas películas y otra las ultimas series, van a ver que en el select * from pongo tipo="numero" así identifico cada cosa EJ: 2=peliculas 3=series

el codigo es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<section class="tops">
 
    <article>
        <div class="row">
            <h1 class="centrar-texto">Ultimas Peliculas!</h1>
            <?php //Consulta my sql y tra la lista de todo lo que hay
            $sql = "SELECT * FROM bd_link where tipo = 2 ORDER by id DESC LIMIT 2"; //muetra los ultimos 2 agregados que sean tipo 2
            $result = mysqli_query($conexion, $sql);
 
            $sql2 = "SELECT * FROM bd_general where id"; //muetra los ultimos 2 agregados que sean tipo 2
            $result2 = mysqli_query($conexion, $sql2);
 
 
 
 
            while ($mostrar = mysqli_fetch_array($result) and $mostrar2 = mysqli_fetch_array($result2)) {
 
            ?>
                <tr>
                    <td>
 
                        <div>
 
 
 
                            <a class="posicion2" href="series.php?id_serie=<?php echo $mostrar['nombre'] ?>">
 
                                <img class="img-dimencion" src="<?php echo $mostrar2['imagen']; ?>" alt="">
 
 
 
                                <div class="posicion3">
                                    <h4 style="font-weight: bold" ;>
                                        <?php echo $mostrar['nombre'] ?>
                                    </h4>
 
                                    <p>
                                        Capitulo: <?php echo $mostrar['capitulo'] ?>
                                    </p>
 
                                    <p>
                                        <?php echo $mostrar2['descripcion'] ?>
                                    </p>
                                </div>
                            </a>
                        </div>
 
                    </td>
                </tr>
            <?php
            }
            ?>
 
 
            <button class="boton">Ver todo!</button>
 
        </div>
 
    </article>
 
 
 
 
 
</section>
<section class="tops">
 
    <article>
        <div class="row">
            <h1 class="centrar-texto">Ultimas series!</h1>
            <?php //Consulta my sql y tra la lista de todo lo que hay
            $sql = "SELECT * FROM bd_link where tipo = 3 ORDER by id DESC LIMIT 2"; //muetra los ultimos 2 agregados que sean tipo 2
            $result = mysqli_query($conexion, $sql);
 
            $sql2 = "SELECT * FROM bd_general where id"; //muetra los ultimos 2 agregados que sean tipo 2
            $result2 = mysqli_query($conexion, $sql2);
 
 
 
 
            while ($mostrar = mysqli_fetch_array($result) and $mostrar2 = mysqli_fetch_array($result2)) {
 
            ?>
                <tr>
                    <td>
 
                        <div>
 
 
 
                            <a class="posicion2" href="series.php?id_serie=<?php echo $mostrar['nombre'] ?>">
                                <img class="img-dimencion" src="<?php echo $mostrar2['imagen']; ?>" alt="">
                                <div class="posicion3">
                                    <h4 style="font-weight: bold" ;>
                                        <?php echo $mostrar2['nombre'] ?>
                                    </h4>
 
                                    <p>
                                        Capitulo: <?php echo $mostrar['capitulo'] ?>
                                    </p>
 
                                    <p>
                                        <?php echo $mostrar2['descripcion'] ?>
                                    </p>
                                </div>
                            </a>
                        </div>
 
                    </td>
                </tr>
            <?php
            }
            ?>
 
 
            <button class="boton">Ver todo!</button>
 
        </div>
 
    </article>


Lo que pasa es que me trae bien el nombre descripción capitulo y todo eso pero las imágenes no concuerdan
quiero poner una condición para que la imagen que pertenece al contenido se muestre bien pero no se como hacerlo

También creo que mi código es algo desastroso así que pido disculpa si no se entiendo

espero puedan ayudarme por que no se como solucionarlo :C
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Luis
Val: 128
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Sacar información de 2 tablas diferentes y usarlo en un solo while

Publicado por Luis (31 intervenciones) el 03/09/2020 10:14:03
Hola,
Tienes que hacer una única consulta a la base de datos uniendo las tablas con el campo que sea igual en ambas ( la id ?? )

1
2
3
4
$sql = "SELECT * FROM bd_link
INNER JOIN  bd_general ON  bd_link.id=bd_general.id
where tipo = 2 ORDER by id DESC LIMIT 2";
$result = mysqli_query($conexion, $sql);

Olvidate del $result2, borra o sustituye por $result en el resto del código
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar