|
|
Ayuda mostrar datos de una consulta PHP
|
|
|
|
|
Mensaje: #1
Ayuda mostrar datos de una consulta PHP
Hola a todos.
Hace tiempo que no me paso por aquí pero siempre es un placer volver a veros, hoy vengo porque tengo una duda y estaría genial consiguiesemos resolverla.
Bien mi problema es el siguiente, yo estoy creando una web en la cual hay varios campos que rellenas buscando algo por ejemplo quiero un Carnicería en Madrid y si esta esta en la bd debería salir.
Mi código es el siguiente
Lenguaje PHP
<?php
$link = mysql_connect($hostname_cetb, $username_cetb, $password_cetb)or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db("$database_cetb", $link)or die ('Error al seleccionar la Base de Datos de MySQL: '.mysql_error());;
$result = mysql_query("SELECT * FROM vclientes ORDER BY name", $link);
$prueba = ("url");
if ($col = mysql_fetch_array($result))
{
echo "<table border = '1'> \n";
echo "<tr> \n";
while ($field = mysql_fetch_field($result))
{
echo "<td>$field->name</td> \n";
}
echo "</tr> \n";
do {
echo "<tr> \n";
echo "<td>".$row["name"]."</td> \n";
echo "<td>".$row["$prueba"]."</td> \n";
echo "<td>".$row["direccion"]."</td> \n";
echo "</tr> \n";
echo "</font>";
}
while ($row = mysql_fetch_array($result));
echo "</table> \n";
}
else
{
echo "¡ No se ha encontrado ningún registro !";
}
?>
Bien, este código funciona y devuelve el registro pero lo devuelve de esta manera:
Sin embargo yo lo quiero parecido a esto:
Y nose que código emplear para conseguir esa estética.
Un saludo y gracias de antemano
(Este mensaje fue modificado por última vez en: 27-09-2011 08:50 PM por NuX.)
|
|
| 27-09-2011 08:48 PM |
|
|
|
Mensaje: #2
RE: Ayuda mostrar datos de una consulta PHP
Te voy a decir como haría yo, no quisiera darte el code hecho sin antes hacerte pensar, espero que lo comprendas.
El código a emplear es el mismo que estás usando, Tablas. Solo tienes que organizarlas diferentes a como lo has hecho y conseguirás que se parezca al estilo que buscas.
Si no das con como hacerlo, vuelve a postear y bueno te ayudaremos con tu problema.
Suerte ^^
|
|
| 28-09-2011 03:41 AM |
|
|
|
Mensaje: #3
RE: Ayuda mostrar datos de una consulta PHP
Jajajaja gracias por la motivación Sifaw, aveces lo que necesitas es oir algo de eso, creo que estoy tan ofuscado con el tema que por eso no me salía.
El codigo resultante es el siguiente.
Lenguaje PHP
<?php
$link = mysql_connect($hostname_cetb, $username_cetb, $password_cetb)or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db("$database_cetb", $link)or die ('Error al seleccionar la Base de Datos de MySQL: '.mysql_error());;
$result = mysql_query("SELECT * FROM vclientes ORDER BY name", $link);
if ($col = mysql_fetch_array($result))
{
echo "<table border = '0'> \n";
//Mostramos los nombres de las tablas
echo "<tr> \n";
while ($field = mysql_fetch_field($result))
{
echo "<td>$field->name</td> \n";
}
echo "</tr> \n";
do
{
echo "<tr> \n";
echo "<td>" .$row["name"]. "" .$row["direccion"]. "" .$row["url"]. "". "</td> \n";
echo "</tr> \n";
echo "</font>";
while ($row = mysql_fetch_array($result));
echo "</table> \n";
}
else
{
echo "¡ No se ha encontrado ningún registro !";
}
?>
Y gráficamente queda así
El problema ahora es el color de las letras, he tratado de meter un
Lenguaje PHP
echo
// con la linea de color
<td><strong><font color="#006394" face="Verdana" size="2">prueba</font></strong></td>
Veamos si puedes ayudarme con esto :)
|
|
| 28-09-2011 08:33 AM |
|
|
|
Mensaje: #4
RE: Ayuda mostrar datos de una consulta PHP
Nada que ver, para toquetear el estilo de las fuentes o de lo que desees debes usar css, usa la propiedad style="" y dentro de las comillas coloca el css que desees, para el color de las fuentes quedaría algo así: <td style="color: #FF0000;">
HTC Desire SLCD: S-OFF, cm7/r2 hboot, CyanogenMod Kernel, CyanogenMod NB 262
Samsung Galaxy S i9000: Chainfire Kernel (CF-ROOT), Value Pack ROM 2.3.6 JVU
SE Xperia x10i: Unlocked Bootloader, FXP052 Kernel, CyanogenMod 7.2.0 FXP052
Motorola Dext MB200: CyanogenMod 7.1 RC1
LG Optimus One P500: Stock ROM 2.3.3
ZTE Racer: Stock
|
|
| 28-09-2011 11:13 AM |
|
|
|
Mensaje: #5
RE: Ayuda mostrar datos de una consulta PHP
O si no quieres hacer uso de los css para el color de las letras y demás puedes hacerlo así, yo si es poco texto prefiero en el mismo código antes que un css, porque si no acabo con muchos ficheros por ahí.
Lo único que veo que utilizas para los echo las comillas dobles es decir "" si lo del color y demas va dentro del echo deberías utilizar la comilla simple '' para que no lo lea como un fin de cadena.
Es decir la cosa te quedaría algo asi:
Código PHP:
// con la linea de color echo"<td><strong><font color='#006394' face='Verdana' size='2'>prueba</font></strong></td>";
O al reves, la simple para el echo y las dobles para el color y demás.
|
|
| 29-09-2011 12:51 AM |
|
|
|
Mensaje: #6
RE: Ayuda mostrar datos de una consulta PHP
Chicos no logro poner el código bien.
Lenguaje PHP
{
// <td><strong><font color="#006394" face="Verdana" size="2">Municipio</font></strong></td>
echo "<font color='#006394' face='Verdana' size='2'>";
echo "<tr> \n";
echo "<td>" .$row["name"]. "" .$row["direccion"]. "" .$row["url"]. "". "</td> \n";
echo "</tr> \n";
echo "</font>";
}
Eso es correcto pero todo sigue en negro, luego también he probado a poner:
Lenguaje PHP
echo "<font color=\"red\">lo que sea</font>";
Mas el código CSS que me ha dicho -Gosw- pero no sale bien y además aun estoy lejos de conseguir lo que necesito ya que si os fijais en
Lenguaje PHP
echo "<td>" .$row["name"].
esa parte tiene que salir en negrita (<strong>) y lo demás en normal como en la foto que puse arriba
A ver si conseguimos hallar el código, tal vez lo esté haciendo mal desde el principio y ese sea el problema, lo que pasa es que yo no se CSS apenas algo de html y php, voy aprendiendo pero no saco esto.
(Este mensaje fue modificado por última vez en: 29-09-2011 03:30 AM por NuX.)
|
|
| 29-09-2011 03:28 AM |
|
|
|
Mensaje: #7
RE: Ayuda mostrar datos de una consulta PHP
Lenguaje PHP
{
// <td style=\"color: #006394; font-weight: bold; font-size: 2; font-family: Verdana, Arial, sans-serif;\">Municipio</td>
echo "<tr> \n";
echo "<td style=\"color: #006394; font-size: 2; font-family: Verdana, Arial, sans-serif;\">" .$row["name"]. "" .$row["direccion"]. "" .$row["url"]. "". "</td> \n";
echo "</tr> \n";
}
Prueba así y me cuentas.
HTC Desire SLCD: S-OFF, cm7/r2 hboot, CyanogenMod Kernel, CyanogenMod NB 262
Samsung Galaxy S i9000: Chainfire Kernel (CF-ROOT), Value Pack ROM 2.3.6 JVU
SE Xperia x10i: Unlocked Bootloader, FXP052 Kernel, CyanogenMod 7.2.0 FXP052
Motorola Dext MB200: CyanogenMod 7.1 RC1
LG Optimus One P500: Stock ROM 2.3.3
ZTE Racer: Stock
|
|
| 29-09-2011 09:49 AM |
|
|
|
Mensaje: #8
RE: Ayuda mostrar datos de una consulta PHP
-Gosw- Funcionó a la perfección pero sigo teniendo un par de problemas, el codigo actualmente está asi:
Lenguaje PHP
{
echo ("<table border = '0'>");
echo ("<td>$prov</Td>\n");
echo ("<td style=\"color: #006394; font-size: 14; font-family: Verdana, Arial, sans-serif;\">" .$row["name"]. "" .$row["direccion"]. "" .$row["url"]. " ". "</td>\n");
echo ("</table>\n");
}
Y funciona perfectamente, pero mi problema es que ahora necesito dos cosas.
1º Necesito que $row["name"] esté en negrita y sea un hipervínculo hacia el "perfil" del propio negocio.
2º Que la url sea un hipervínculo.
He probado a introducir <a href...... pero siempre me da error de sintaxis, también probé con el codigo que tengo abajo:
Lenguaje PHP
{
echo ("<table border = '0'>");
echo ("<td>$prov</Td>\n");
echo ("<td style=\"color: #006394; font-size: 14; font-family: Verdana, Arial, sans-serif;\">" .$row["name"]. "</td>\n");
echo ("<td style=\"color: #006394; font-size: 14; font-family: Verdana, Arial, sans-serif;\">" ."" .$row["direccion"]. "" .$row["url"]. " ". "</td>\n");
echo ("</table>\n");
}
Para intentar ponerle la negrita y el href a $row["name"] pero me lo coloca todo en diferentes columnas por los "td" y entonces no queda como quiero.
He introducido las siguientes lineas
Lenguaje PHP
<?php
echo ("<table border = '0' align='right'>");
// Muestra el número de negocios
echo ("<td> <font color=\"#000080\">Número de Negocios: $filas</font></td>");
echo ("</table>\n");
?>
Están en otro php porque cuando lo ponia detras de la tabla se me repetia una y otra vez por cada negocio, esta fue la manera de que no se repitiese que encontré, nose si se podría poner todo junto. La variable filas es esto
Un saludo chicos, yo lo seguiré intentando, gracias de antemano y siento daros tanto la brasa
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
EDIT:
He conseguido hacer lo siguiente:
Lenguaje PHP
{
echo ("<table border = '0'>");
echo ("<td>$prov</Td>\n");
echo ("<td style=\"color: #006394; font-size: 15; font-weight:900; font-family: Verdana, Arial, sans-serif;\">" .$row["name"]. "</td>\n");
echo ("</table>\n");
echo ("<font color=\"#000080\" size='2'>" .$row["direccion"]. "");
echo ("<font color=\"#000080\" size='2'>" ."" .$row["url"]. " "."");
}
Consigo poner la linea del nombre en negrita y en cuanto al hipervínculo he leido algo sobre "a:link [" pero no consigo hacer que sea correcto.
Por otro lado, como ves he sacado la dirección y la url de la tabla, así conseguía que estas no se pusiesen en negrita y estéticamente queda así:
Si te fijas tanto la dirección como la url estan separadas un pelin eso se debe al marco de la tabla, nose como podríamos alinearlo y denuevo solo faltaría meter los hipervínculos tanto en 'name' como en 'url'
Un saludo -Gosw- espero tu respuesta
(Este mensaje fue modificado por última vez en: 29-09-2011 09:29 PM por NuX.)
|
|
| 29-09-2011 09:03 PM |
|
|
|
Mensaje: #9
RE: Ayuda mostrar datos de una consulta PHP
Hola. En cuanto a lo de la url como hipervínculo, la etiqueta <a> debería de funcionarte bien y no dar errores prueba esto a ver cómo va:
Lenguaje PHP
{
echo ("<table border = '0'>");
echo ("<td>$prov</Td>\n");
echo ("<td style=\"color: #006394; font-size: 15; font-weight:900; font-family: Verdana, Arial, sans-serif;\"><a href=\"http://....\">" .$row["name"]. "</a></td>\n"); //Recuerda poner la url
echo ("</table>\n");
echo ("<font color=\"#000080\" size='2'>" .$row["direccion"]. "");
echo ("<font color=\"#000080\" size='2'>" ."" .$row["url"]. " "."");
}
Espero te sirva. Este finde estaré más activo y podré ayudar mejor.
(Este mensaje fue modificado por última vez en: 30-09-2011 01:53 AM por Sifaw.)
|
|
| 30-09-2011 01:51 AM |
|
|
|
RE: Ayuda mostrar datos de una consulta PHP
-Sifaw- Funcionó correctamente y lo aplique al campo del nombre del negocio.
Lenguaje PHP
{
echo ("<table border = '0'>");
echo ("<td>$prov</Td>\n");
echo ("<td style=\"color: #006394; font-size: 15; font-weight:900; font-family: Verdana, Arial, sans-serif;\"><a href=\"$url1\">" .$row["name"]. "</a></td>\n");
echo ("</table>\n");
echo ("<font color=\"#000080\" size='2'>" .$row["direccion"]. "");
echo ("<font color=\"#000080\" size='2'><a href=\"$prueba\">" ."" .$row["url"]. " "."</a>");
}
Como ves la url es una variable que funciona perfectamente sin embargo probé a hacerlo en la ultima linea en el campo de la "url" del negocio, lo peculiar de este campo es que la propia url es dinámica y tiene que cogerla de la bd, probe a poner ('url') , ['url'] , e incluso lo que pone en estos momentos $prueba, que corresponde a esto:
Lenguaje PHP
$prueba = mysql_query("SELECT url FROM vclientes, $link");
Sin embargo no consigo que funcione. Aún me falta bastante con todo este tema pues ahora lo que tengo que hacer es filtrar la búsqueda de todos estos registros, espero que preguntar mucho no sea un problema :)
Un saludo y gracias de antemano
|
|
| 30-09-2011 08:16 PM |
|
|
|
RE: Ayuda mostrar datos de una consulta PHP
Ok. Tu error es frecuente al inicio de PHP. Mi recomendación sería que releyeras un poco sobre variable en PHP para que te quede claro como concatenar variables con el html, o variables entre sí. Te dejo a continuación ese tozo de código con la url dinámica correctamente puesta.
Lenguaje PHP
{
echo ("<table border = '0'>");
echo ("<td>".$prov."</td>\n");
echo ("<td style=\"color: #006394; font-size: 15; font-weight:900; font-family: Verdana, Arial, sans-serif;\"><a href=\"$url1\">" .$row["name"]. "</a></td>\n");
echo ("</table>\n");
echo ("<font color=\"#000080\" size='2'>" .$row["direccion"]. "");
echo ("<font color=\"#000080\" size='2'><a href=\"".$prueba."\">" ."" .$row["url"]. " "."</a>");
}
Bien fíjate en el cambio, solo añadí -> ". <- y -> ." <- En php, para las comillas del html colocas \" pero, cuando quieres usar variables de php añadidas al html, colocas comillas sin más para terminar la cadena, ", y luego un punto (.) seguido de lo que se quiere añadir para que se una. Y lo mismo para añadir a la variable cadena por detrás, punto (.) para concatenar la cadena y unas comillas sin más " para indicar que es cadena.
![[Imagen: moderadorglobal.png]](http://img832.imageshack.us/img832/3400/moderadorglobal.png)
(Este mensaje fue modificado por última vez en: 02-10-2011 01:13 AM por Sifaw.)
|
|
| 30-09-2011 09:37 PM |
|
|
|
RE: Ayuda mostrar datos de una consulta PHP
Perdona por estar ausente estos días, no tuve ni un solo minuto.
Verás he estado intentando modificar el código para lograr lo que quería pero no lo conseguí, veras si se crea un hipervínculo pero al pinchar no redirecciona a la web que pone he probado a poner 'url' y una variable ($prueba) que es una select sobre las tablas pero no consigo nada.
Lenguaje PHP
<?php
$link = mysql_connect($hostname_cetb, $username_cetb, $password_cetb)or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db("$database_cetb", $link)or die ('Error al seleccionar la Base de Datos de MySQL: '.mysql_error());;
$result = mysql_query("SELECT * FROM vclientes ORDER BY name", $link);
$prueba = mysql_query("SELECT url FROM vclientes, $link");
$filas = mysql_num_rows($result);
if ($row = mysql_fetch_array($result))
{
while ($field = mysql_fetch_field($result))
{
}
do
{
echo ("<table border = '0'>");
echo ("<td>$prov</Td>\n");
echo ("<td style=\"color: #006394; font-size: 15; font-weight:900; font-family: Verdana, Arial, sans-serif;\"><a href=\"$url1\">" .$row["name"]. "</a></td>\n");
echo ("</table>\n");
echo ("<font color=\"#000080\" size='2'>" .$row["direccion"]. "");
echo ("<font color=\"#000080\" size='2'><a href=\"http://$prueba\">" ."" .$row["url"]. " "."</a>");
}
while ($row = mysql_fetch_array($result));
}
else
{
echo "¡ No se ha encontrado ningún registro !";
}
?>
Quité los puntos de tu código porque al pinchar salian en la barra de la url.
Ahora viene la parte mas complicada Sifaw y es que no se bien como filtrar la búsqueda, mi formulario es el siguiente:
Lenguaje PHP
<table width="342" border="0" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bgcolor="#FFFFFF">
<tr>
<form id="consulta" name="consulta" method="post" action="consulta.php">
<td width="114" scope="col"><font color="#006394" face="Verdana" size="2"><strong>¿Qué buscas?</strong></font></td>
<td width="218" scope="col">
<select name="tn" id="tn" size="">
<option value=""></option>
<?php
do {
?>
<option value="<?php echo $row_tnrecordes['dstn']?>"><?php echo $row_tnrecordes['dstn']?></option>
<?php
} while ($row_tnrecordes = mysql_fetch_assoc($tnrecordes));
$rows = mysql_num_rows($tnrecordes);
if($rows > 0) {
mysql_data_seek($tnrecordes, 0);
$row_tnrecordes = mysql_fetch_assoc($tnrecordes);
}
?>
</select></td>
</tr>
</table>
<table width="343" border="0" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bgcolor="#FFFFFF">
<tr>
<th width="118" scope="col"><p> </p></th>
<td width="215" scope="col"><font color="#006394" face="Verdana" size="2"><strong>¿Dónde?</strong></font></td>
</tr>
</table>
<table width="342" border="0" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bgcolor="#FFFFFF">
<tr>
<td width="112" scope="col"><strong><font color="#006394" face="Verdana" size="2">Provincia</font></strong></td>
<td width="214" scope="col"><font color="#006394" face="Verdana" size="2">
<select name="prov" id="prov">
<option value="" selected></option>
<?php
do {
?>
<option value="<?php echo $row_provinciasrecordset['provincia']?>"><?php echo $row_provinciasrecordset['provincia']?></option>
<?php
} while ($row_provinciasrecordset = mysql_fetch_assoc($provinciasrecordset));
$rows = mysql_num_rows($provinciasrecordset);
if($rows > 0) {
mysql_data_seek($provinciasrecordset, 0);
$row_provinciasrecordset = mysql_fetch_assoc($provinciasrecordset);
}
?>
</select>
</font></td>
</tr>
<tr>
<td><strong><font color="#006394" face="Verdana" size="2">Municipio</font></strong></td>
<td>
<input type="text" name="municipio" id="municipio">
</td>
</tr>
<tr>
<td><strong><font color="#006394" face="Verdana" size="2">Código Postal </font></strong></td>
<td>
<input type="text" name="cp" id="cp">
</td>
</tr>
</table>
<table width="340" border="0" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bgcolor="#FFFFFF">
<tr>
<th width="112" scope="col"> </th>
<td width="212" scope="col"><input type="submit" name="enviar" id="enviar" value="Buscar"></td>
</tr>
</table>
<label>
</label>
</form>
Puff... esto te va a resultar algo feo de ver creo XD, el caso es que quiero que me filtre la búsqueda en un principio solamente por las listas, es decir los negocios y las provincias. Esas selects las hice con dreamweaver pero ya no lo uso, uso eclipse helios pero mantengo ese código, las variables que salen representan esto:
Lenguaje MYSQL
mysql_select_db($database_cetb, $cetb);
$query_tnrecordes = "SELECT dstn FROM vnegocios ORDER BY 1";
$tnrecordes = mysql_query($query_tnrecordes, $cetb) or die(mysql_error());
$row_tnrecordes = mysql_fetch_assoc($tnrecordes);
$totalRows_tnrecordes = mysql_num_rows($tnrecordes);
mysql_select_db($database_cetb, $cetb);
$query_provinciasrecordset = "SELECT provincia FROM vprovincias ORDER BY 1";
$provinciasrecordset = mysql_query($query_provinciasrecordset, $cetb) or die(mysql_error());
$row_provinciasrecordset = mysql_fetch_assoc($provinciasrecordset);
$totalRows_provinciasrecordset = mysql_num_rows($provinciasrecordset);
He leido sobre la función
Lenguaje PHP
if(isset($_GET['Submit']) && $_GET['Submit'] == 'Buscar'){
Pero nosé bien como aplicarla, creo que va con el $_POST...
Un saludo y gracias de antemano.
|
|
| 06-10-2011 06:51 AM |
|
|
|
RE: Ayuda mostrar datos de una consulta PHP
Hola chicos
Veréis ya he consigo realizar todo el filtro de búsqueda en función de 3 de los 4 campos que tengo pero ahora me ha surgido un pequeño problemilla.
Uno de los campos es Código Postal y subir una tabla con todos los códigos postales de España es bastante trabajo porque además nose si sabréis pero los códigos están repetidos asik la PK que tendría que introducir seria doble contra el código y la descripción del mismo, además los códigos que encontré son bastante malos porque están algunos repetidos varias veces etc....
En resumen mi idea es establecer en el campo un rango del 00001 al 52999 debido a las provincias de mi país y en función de eso el que vaya a buscar introducirá uno y a partir de ahí haré una búsqueda en la bd.
Lo veis bien o se os ocurre algo mejor?
|
|
| 16-10-2011 09:58 PM |
|
Usuario(s) navegando en este tema: 1 invitado(s)
|