Skip to content

Commit d68ab1a

Browse files
author
alemandiazcarlos
committed
ok
1 parent 92c61d4 commit d68ab1a

File tree

15 files changed

+1902
-214
lines changed

15 files changed

+1902
-214
lines changed
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
<?php
2+
3+
// http://localhost/Proyecto/codefuncode/blog_entradas/error_consulta_larga/buscador/buscador.php
4+
$GLOBALS['conexion'] = "conn.php";
5+
busca_anuncio();
6+
7+
function busca_anuncio()
8+
{
9+
$idmarca = 1;
10+
$idmodelo = 2;
11+
12+
include $GLOBALS['conexion'];
13+
try {
14+
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
15+
$conn->exec('SET CHARACTER SET UTF8');
16+
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
17+
// $conn->execute('SET CHARACTER SET UTF8');
18+
$stmt = $conn->prepare(
19+
"SELECT
20+
anuncio.idanuncio,
21+
anuncio.nombre,
22+
anuncio.pagado,
23+
-- anuncio.direccion,
24+
anuncio.telefono,
25+
anuncio.email,
26+
anuncio.idcategoria,
27+
categoria.nombre as nombre_categoria,
28+
anuncio.idmarca,
29+
marca.nombre as nombre_marca,
30+
anuncio.idmodelo,
31+
modelo.nombre as nombre_modelo,
32+
anuncio.year,
33+
anuncio.idclasificacion,
34+
clasificacion.nombre as nombre_clasificacion,
35+
anuncio.idcondicion,
36+
condicion.nombre as nombre_condicion,
37+
anuncio.idtransmission,
38+
transmission.nombre as nombre_trasmission,
39+
anuncio.licencia,
40+
anuncio.multas,
41+
anuncio.millage,
42+
anuncio.descripcion,
43+
-- anuncio.imagen,
44+
anuncio.full_lablel,
45+
anuncio.idpueblo,
46+
pueblo.nombre as nombre_pueblo,
47+
anuncio.precio,
48+
anuncio.mejoroferta
49+
FROM
50+
anuncio,
51+
categoria,
52+
marca,
53+
modelo,
54+
clasificacion,
55+
condicion,
56+
transmission,
57+
pueblo
58+
WHERE anuncio.idmarca=:idmarca
59+
AND anuncio.idmodelo=:idmodelo
60+
AND categoria.idcategoria=anuncio.idcategoria
61+
AND marca.idmarca=anuncio.idmarca
62+
AND modelo.idmodelo=anuncio.idmodelo
63+
AND clasificacion.idclasificacion=anuncio.idclasificacion
64+
AND condicion.idcondicion=anuncio.idcondicion
65+
AND transmission.idtransmission=anuncio.idtransmission
66+
AND pueblo.idpueblo=anuncio.idpueblo"
67+
// GROUP BY anuncio.idanuncio"
68+
);
69+
$stmt->bindParam(':idmarca', $idmarca);
70+
$stmt->bindParam(':idmodelo', $idmodelo);
71+
72+
if ($stmt->execute()) {
73+
74+
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
75+
// $result = $stmt->fetchAll();
76+
77+
for ($i = 0; $i < count($result); $i++) {
78+
79+
$imagenes_encontradas = buscaImagenes_anuncio($result[$i]['idanuncio']);
80+
81+
array_push($result[$i], $imagenes_encontradas);
82+
83+
}
84+
85+
echo json_encode($result);
86+
87+
} else {
88+
$result = array(
89+
"resultado" => "error");
90+
echo json_encode($result);
91+
}
92+
93+
} catch (PDOException $e) {
94+
echo "Error: " . $e->getMessage();
95+
}
96+
$conn = null;
97+
98+
}
99+
100+
function buscaImagenes_anuncio($id)
101+
{
102+
103+
include $GLOBALS['conexion'];
104+
try {
105+
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
106+
107+
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
108+
109+
$stmt = $conn->prepare("SELECT * FROM imagenes WHERE idanuncio=:idanuncio");
110+
$stmt->bindParam(':idanuncio', $id);
111+
$stmt->execute();
112+
113+
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
114+
115+
return $result;
116+
117+
} catch (PDOException $e) {
118+
// NOTA
119+
// Retorna falso , sin embargo no esta controlada
120+
// la acción y retorna falso, sera error grave
121+
// return false;
122+
echo "Error: " . $e->getMessage();
123+
}
124+
$conn = null;
125+
}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<?php
2+
// http://localhost/Proyecto/codefuncode/blog_entradas/error_consulta_larga/buscador/buscador2.php
3+
$GLOBALS['conexion'] = "conn.php";
4+
5+
$idmarca = 1;
6+
$idmodelo = 2;
7+
8+
$consulta =
9+
"SELECT
10+
anuncio.idanuncio,
11+
anuncio.nombre,
12+
anuncio.pagado,
13+
anuncio.telefono,
14+
anuncio.email,
15+
anuncio.idcategoria,
16+
categoria.nombre as nombre_categoria,
17+
anuncio.idmarca,
18+
marca.nombre as nombre_marca,
19+
anuncio.idmodelo,
20+
modelo.nombre as nombre_modelo,
21+
anuncio.year,
22+
anuncio.idclasificacion,
23+
clasificacion.nombre as nombre_clasificacion,
24+
anuncio.idcondicion,
25+
condicion.nombre as nombre_condicion,
26+
anuncio.idtransmission,
27+
transmission.nombre as nombre_trasmission,
28+
anuncio.licencia,
29+
anuncio.multas,
30+
anuncio.millage,
31+
anuncio.descripcion,
32+
anuncio.full_lablel,
33+
anuncio.idpueblo,
34+
pueblo.nombre as nombre_pueblo,
35+
anuncio.precio,
36+
anuncio.mejoroferta,
37+
imagenes.descripcion_imagen,
38+
imagenes.nombre_directorio ,
39+
imagenes.ruta_imagen
40+
FROM anuncio
41+
JOIN categoria ON categoria.idcategoria=anuncio.idcategoria
42+
JOIN marca ON marca.idmarca=anuncio.idmarca
43+
JOIN modelo ON modelo.idmodelo=anuncio.idmodelo
44+
JOIN clasificacion ON clasificacion.idclasificacion=anuncio.idclasificacion
45+
JOIN condicion ON condicion.idcondicion=anuncio.idcondicion
46+
JOIN transmission ON transmission.idtransmission=anuncio.idtransmission
47+
JOIN pueblo ON pueblo.idpueblo=anuncio.idpueblo
48+
JOIN imagenes ON imagenes.idanuncio=anuncio.idanuncio
49+
AND imagenes.numero_imagen=1
50+
WHERE anuncio.idmarca={$idmarca}
51+
AND anuncio.idmodelo={$idmodelo}";
52+
53+
busca_anuncio($consulta);
54+
function busca_anuncio($consulta)
55+
{
56+
header('Content-Type: application/json; charset=utf-8');
57+
// $idmarca =
58+
// json_decode($_GET['idmarca']);
59+
// $idmodelo =
60+
// json_decode($_GET['idmodelo']);
61+
62+
include $GLOBALS['conexion'];
63+
try {
64+
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
65+
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
66+
$stmt = $conn->query($consulta);
67+
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
68+
echo json_encode($result);
69+
70+
} catch (PDOException $e) {
71+
echo "Error: " . $e->getMessage();
72+
}
73+
$conn = null;
74+
75+
}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<?php
2+
// https://forum.infinityfree.net/t/db-error-the-select-would-examine-more-than-max-join-size-rows/5885
3+
// http://localhost/Proyecto/codefuncode/blog_entradas/error_consulta_larga/buscador/buscador3.php
4+
$GLOBALS['conexion'] = "conn.php";
5+
6+
$idmarca = 1;
7+
$idmodelo = 2;
8+
9+
$consulta =
10+
"SELECT
11+
anuncio.idanuncio,
12+
anuncio.nombre,
13+
anuncio.pagado,
14+
anuncio.telefono,
15+
anuncio.email,
16+
anuncio.idcategoria,
17+
categoria.nombre as nombre_categoria,
18+
anuncio.idmarca,
19+
marca.nombre as nombre_marca,
20+
anuncio.idmodelo,
21+
modelo.nombre as nombre_modelo,
22+
anuncio.year,
23+
anuncio.idclasificacion,
24+
clasificacion.nombre as nombre_clasificacion,
25+
anuncio.idcondicion,
26+
condicion.nombre as nombre_condicion,
27+
anuncio.idtransmission,
28+
transmission.nombre as nombre_trasmission,
29+
anuncio.licencia,
30+
anuncio.multas,
31+
anuncio.millage,
32+
anuncio.descripcion,
33+
anuncio.full_lablel,
34+
anuncio.idpueblo,
35+
pueblo.nombre as nombre_pueblo,
36+
anuncio.precio,
37+
anuncio.mejoroferta,
38+
imagenes.descripcion_imagen,
39+
imagenes.nombre_directorio ,
40+
imagenes.ruta_imagen
41+
FROM anuncio
42+
JOIN categoria ON categoria.idcategoria=anuncio.idcategoria
43+
JOIN marca ON marca.idmarca=anuncio.idmarca
44+
JOIN modelo ON modelo.idmodelo=anuncio.idmodelo
45+
JOIN clasificacion ON clasificacion.idclasificacion=anuncio.idclasificacion
46+
JOIN condicion ON condicion.idcondicion=anuncio.idcondicion
47+
JOIN transmission ON transmission.idtransmission=anuncio.idtransmission
48+
JOIN pueblo ON pueblo.idpueblo=anuncio.idpueblo
49+
JOIN imagenes ON imagenes.idanuncio=anuncio.idanuncio
50+
AND imagenes.numero_imagen=1
51+
WHERE anuncio.idmarca={$idmarca}
52+
AND anuncio.idmodelo={$idmodelo}";
53+
54+
echo "<br/>";
55+
echo "<br/>";
56+
echo "=====================================================================";
57+
echo "<br/>";
58+
echo "Literal de la consulta";
59+
echo "<br/>";
60+
echo "<br/>";
61+
echo $consulta;
62+
echo "<br/>";
63+
echo "<br/>";
64+
echo "<br/>";
65+
echo "=====================================================================";
66+
echo "<br/>";
67+
echo "Resultado de la consulta ";
68+
echo "<br/>";
69+
echo "<br/>";
70+
busca_anuncio($consulta);
71+
function busca_anuncio($consulta)
72+
{
73+
// header('Content-Type: application/json; charset=utf-8');
74+
75+
include $GLOBALS['conexion'];
76+
try {
77+
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
78+
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
79+
$stmt = $conn->query($consulta);
80+
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
81+
echo json_encode($result);
82+
83+
} catch (PDOException $e) {
84+
echo "Error: " . $e->getMessage();
85+
}
86+
$conn = null;
87+
88+
}

0 commit comments

Comments
 (0)