PHP - Link con php

 
Vista:

Link con php

Publicado por jose luis (5 intervenciones) el 04/02/2014 01:14:55
Cree un buscador que obtiene datos de una tabla de productos en mysql y muestra los resultados en php por:

- Foto
- Titulo
- Subtitulo

Quiero que al darle clic a cualquiera de esos datos se abra en otra página todo el resto de la información del producto.
alguna idea?
gracias!
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
sin imagen de perfil

Link con php

Publicado por sergio (10 intervenciones) el 04/02/2014 01:34:24
eso es facil,

pero porque no haces el codigo y lo subes para ver donde te falta o en que te falla.

asi aprendes sobre la marcha.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Link con php

Publicado por jose luis (5 intervenciones) el 04/02/2014 01:58:01
Si mira, este es el código, básico sin css ni nada eso lo veo después.

resutaldos.php

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
<?php
require_once("condb.php");
 
$sql="select *  from productos
where
titulo like '%".$_GET["s"]."%'
or
subtitulo like '%".$_GET["s"]."%'
or 
img like '%".$_GET["s"]."%'
";
$res=mysql_query($sql,$con);
if ($reg=mysql_fetch_array($res))
{
?>
<html>
<head>
<title>Buscador</title>
</head>
 
<body>
<div align="center">
<form name="buscador" method="get" action="resultados.php">
<input type="text" name="s" id="buscador" size="60" />
<input type="submit" name="search">
</form>
</div>
 
 
 
<div align="center" id="main">
<table align="center" width="500">
<tr>
<td valign="top" align="center" width="500" colspan="3">
<h3>Resultados</h3>
</td>
</tr>
 
<tr style="background-color:#666666; color:#FFFFFF; font-weight:bold">
<td valign="top" align="center" width="100">
Título
</td>
<td valign="top" align="center" width="300">
Subtitulo
</td>
<td valign="top" align="center" width="100">
Img
</td>
</tr>
 
	<tr>
	<td valign="top" align="center" width="500" colspan="3" style="background-color:#f0f0f0">
	No hay registros para ese criterio de b&uacute;squeda
	</td>
	</tr>
 
<!-----acá se muestran los resultados de la consulta nose como ponerles link para que se abran en una nueva ventana y mostrar más detalles de estos----->
 
<?php echo "".$_GET["s"]."","<b>".$_GET["s"]."</b>",$reg["titulo"];?>
<?php echo "".$_GET["s"]."","<b>".$_GET["s"]."</b>",$reg["subtitulo"];?>
<?php echo '<img src="'.$reg['img'].'" id="picture" alt="vista previa" height="100" width="100"/>';?>
 
<?php
}
?>
 
</div>
 
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Link con php

Publicado por sergio (10 intervenciones) el 04/02/2014 03:10:44
$sql="select * from productos
where
titulo like '%".$_GET["s"]."%'
or
subtitulo like '%".$_GET["s"]."%'
or
img like '%".$_GET["s"]."%'
";


empezamos

dice buscar en productos en titulo,subtitulo,img, que coincida son variable "s"

primero tienes varios or

si es una tabla con tres elementos solo usa uno, ponle un id
"select * from productos where id= '"$GET["s"]"'";

asi te sacara todo lo que corresponda a ese numero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Link con php

Publicado por jose luis (5 intervenciones) el 04/02/2014 03:20:05
No no, la tabla tiene 12 elementos, la mayoría del tipo varchar, pero me interesa que la búsqueda sea en esas 3 columnas nada más, titulo, subtitulo e img.

Lugo el buscador me muestra los elementos encontrados.. pero quiero que ahora al darle clic a los resultados se me abra otra ventana donde pueda mostrar el resto de los detalles del producto.

¿se entiende? =o
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Link con php

Publicado por sergio (10 intervenciones) el 04/02/2014 03:26:36
te digo

no entiendo los or que tienes
tienes un estas condicionando con un if
lo que sucedera que si no funciona la consulta a la base de datos no se mostrara tu codigo html

tienes que quitar ese If y usar un while en donde quieres que te aparesca los datos de tu base
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Link con php

Publicado por jose luis (5 intervenciones) el 04/02/2014 03:42:55
el buscador si esta funcionando, encuentra lo que le pido, probado.

funciona así:

busca la palabra ingresada en:

- la columna titulo, si no encuentra nada.
- busca la palabra en la columna subtitulo, si no encuentra nada.
- busca la palabra en la columna donde están los nombres de las fotos.

la condicional "or" la puse para que busque solo en esos 3 campos.(la tabla tiene 9 campos más)

luego le pido, abajo, que me muestre el titulo, subtitulo y foto de todos los productos en donde se encontró la palabra buscada.
La verdad es que aquí podría ponerle que me muestre todos los datos del producto pero eso lo quiero hacer más personalizado y decirle que al hacer clic en la foto, me muestre el resto de toda la información en una nueva pagina..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Link con php

Publicado por sergio (10 intervenciones) el 04/02/2014 03:51:46
añade otro campo en tu tabla que sea url lo sacas igual

pones una etiqueta <a url= "aqui pones la consulta de tu base de datos"> enlace</a>



mira si puede subir el codigo de tus otras paginas y las tablas de tu base de datos

como te digo tienes mal extructurado tu codigo

y en tu codigo necesitas el while porque asi solo te mostrara 1 resultado
ponme lo que te pido y te explico paso por paso

para empezar mysql_ en un tiempo sera obsoleto te recomiendo que uses mysqli_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Link con php

Publicado por jose luis (5 intervenciones) el 04/02/2014 04:42:11
buscador.php

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
<html>
<head>
<title>Buscador</title>
<style type="text/css">
	#principal{ width:800px; height:100%}
	#header{ width:800px; height:100px; float:left; background-color:#666666; color:#FFFFFF}
	#menu{ width:800px; height:25px; float:left}
	.boton{ width:100px; height:25px; float:left; background-color:#FF0000; color:#FFFFFF}
	.buscador{ width:300px; height:25px; float:left}
 
</style>
</head>
 
 
<body>
 
<div id="principal">
<div align="center" id="header">
<h1>
cabecero
</h1>
</div>
<div id="menu">
 
<div class="boton">
boton 1
</div>
<div class="boton">
boton 1
</div>
<div class="boton">
boton 1
</div>
<div class="boton">
boton 1
</div>
<div class="boton">
boton 1
</div>
 
<!--acá va el div menu-->
<div align="center" class="buscador">
<form name="buscador" method="get" action="resultados.php">
<input type="text" name="s">
<input type="submit" name="search">
</a>
</form>
</div>
<!--acá va el div menu-->
 
</div>
 
</div>
 
</body>
</html>

resultados.php
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
<?php
require_once("conexion/conexion.php");
 
$sql="select count(*) as cuantos from productos
where
titulo like '%".$_GET["s"]."%'
or
subtitulo like '%".$_GET["s"]."%'
or 
img like '%".$_GET["s"]."%'
";
$res=mysql_query($sql,$con);
if ($reg=mysql_fetch_array($res))
{
	$total=$reg["cuantos"];
}
$resto=$total % 5;
$ultimo=$total-$resto;
 
//****************************************************************
if (isset($_GET["pos"]))
{
	$inicio=$_GET["pos"];
}else
{
	$inicio=0;
}
$sql="select * from productos
where
titulo like '%".$_GET["s"]."%'
or
subtitulo like '%".$_GET["s"]."%'
or 
img like '%".$_GET["s"]."%'
limit $inicio,5
";
$res=mysql_query($sql,$con);
 
?>
<html>
<head>
<title>Buscador</title>
<style type="text/css">
	#principal{ width:800px; height:100%}
	#header{ width:800px; height:100px; float:left; background-color:#666666; color:#FFFFFF}
	#menu{ width:800px; height:25px; float:left}
	.boton{ width:100px; height:25px; float:left; background-color:#FF0000; color:#FFFFFF}
	.buscador{ width:300px; height:25px; float:left}
	#main{ width:800px; height:100%; float:left}
 
</style>
</head>
 
 
<body>
 
<div id="principal">
<div align="center" id="header">
<h1>
cabecero
</h1>
</div>
<div id="menu">
 
<div class="boton">
boton 1
</div>
<div class="boton">
boton 1
</div>
<div class="boton">
boton 1
</div>
<div class="boton">
boton 1
</div>
<div class="boton">
boton 1
</div>
 
<!--acá va el div menu-->
<div align="center" class="buscador">
<form name="buscador" method="get" action="resultados.php">
<input type="text" name="s">
<input type="submit" name="search">
</a>
</form>
</div>
<!--acá va el div menu-->
 
</div>
 
<div align="center" id="main">
<table align="center" width="500">
<tr>
<td valign="top" align="center" width="500" colspan="3">
<h3>Resultados de su b&uacute;squeda</h3>
</td>
</tr>
 
<tr style="background-color:#666666; color:#FFFFFF; font-weight:bold">
<td valign="top" align="center" width="100">
T&iacute;tulo
</td>
<td valign="top" align="center" width="300">
Detalle
</td>
<td valign="top" align="center" width="100">
Autor
</td>
</tr>
<?php
if (mysql_num_rows($res)==0)
 
{
	?>
	<tr>
	<td valign="top" align="center" width="500" colspan="3" style="background-color:#f0f0f0">
	No hay registros para ese criterio de b&uacute;squeda
	</td>
	</tr>
	<?php
}else
{
 
$impresos=0;
while ($reg=mysql_fetch_array($res))
{
$impresos++;
?>
<tr style="background-color:#f0f0f0">
<td valign="top" align="center" width="100">
<?php echo chao_tilde(str_replace("".$_GET["s"]."","<b>".$_GET["s"]."</b>",$reg["titulo"]));?>
</td>
<td valign="top" align="center" width="300">
<?php echo chao_tilde(str_replace("".$_GET["s"]."","<b>".$_GET["s"]."</b>",$reg["subtitulo"]));?>
</td>
<td valign="top" align="center" width="100">
<?php echo '<img src="'.$reg['nombre'].'" id="picture" alt="vista previa" height="100" width="100"/>';?>
</td>
</tr>
<?php
}
}
?>
<tr>
<td valign="top" align="center" width="500" colspan="3">
<hr>
<!--*************************************-->
<?php
if (!$inicio==0)
{
	?>
	<a href="resultados.php?s=<?php echo $_GET["s"]?>&pos=0" title="Primero">Primero</a>
	<?php
}else
{
	?>
	Primero
	<?php
}
?>
<!--*************************************-->
<?php
if ($inicio==0)
{
	?>
	Anterior
	<?php
}else
{
	?>
	<a href="resultados.php?s=<?php echo $_GET["s"]?>&pos=<?php echo $inicio-5;?>" title="Anterior">Anterior</a>
	<?php
}
?>
 
<!--*************************************-->
<?php
if ($impresos==5)
{
	?>
	<a href="resultados.php?s=<?php echo $_GET["s"]?>&pos=<?php echo $inicio+5;?>" title="Siguientes">Siguiente</a>
	<?php
}else
{
	?>
	Siguientes
	<?php
}
?>
<!--*************************************-->
<?php
if ($inicio==$ultimo)
{
	?>
	Ultimo
	<?php
}else
{
?>
<a href="resultados.php?s=<?php echo $_GET["s"]?>&pos=<?php echo $ultimo;?>" title="Ultimo">Ultimo</a>
<?php
}
?>
<!--*************************************-->
</td>
</tr>
 
</table>
</div>
 
</div>
 
</body>
</html>


conexion.php

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$con=mysql_connect("localhost","root","123456");
$bd=mysql_select_db("tabla");
 
function chao_tilde($entra)
{
$traduce=array( 'á' => '&aacute;' , 'é' => '&eacute;' , 'í' => '&iacute;' , 'ó' => '&oacute;' , 'ú' => '&uacute;' , 'ñ' => '&ntilde;' , 'Ñ' => '&Ntilde;' , 'ä' => '&auml;' , 'ë' => '&euml;' , 'ï' => '&iuml;' , 'ö' => '&ouml;' , 'ü' => '&uuml;');
$sale=strtr( $entra , $traduce );
return $sale;
}
 
?>

sql

bueno la tabla sql tiene 12 camos...... id, titulo, subtitulo, foto1, foto2, foto3, id_usuario......... etc..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar