Presentacion de listados con resultados de anuncios.

Posted on June  14th, 2009 by Technology Department 

Ahora ha llegado el momento de mostrar los resultados de los anuncios puestos por nuestros alumnos y por usuarios en general. Vamos a suponer que queremos mostrar el listado de todos los anuncios que tienen la clasificacion de Computers, por tanto hay que hacer una nueva consulta a Mysql para obtener todos los registros ( identificadores id ) cuyo campo "tipo de Objeto" sea igual a computer

 

Codigo simplificado para mostrar resultados Mysql

En la primera parte del codigo, tan solo es repetir lo anterior, os sea hay que abrir el php, asignar a la variable $code el valor computer  e incluir el archivo con los datos de la base de datos

<?php

$code = "computer";

include("config.inc.php");
$conexion = mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db("$db_name", $conexion);

A continuacion,  tomamos la tabla y seleccionamos los ultimos 10 registros. La manera de decir esto es mediante la anotacion ORDER BY id DESC LIMIT 10. Si queremos que en la pagina tengamos 20  registros, tan solo hay que cambiar el  DESC LIMIT 20.

Recordamos que las variables $queEmp  o $resEmp  son nombradas a nuestro antojo. Se pueden llamar , si quereis como $cadena1  o $busca-datos, etc.

$queEmp = "SELECT * FROM $db_table WHERE field_6 = '$code' ORDER BY id DESC LIMIT 10 ";
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);

 

En al siguiente linea aparece un While, esto es, mientras se cumpla lo que hay entre parentesis. Esta funcion Recupera una fila de resultado como una matriz asociativa. Supongamos que al buscar en la base de datos, el primer identificador que cumple la condicion que el campo 6 sea la palabra computer. Esta instruccion recoge todos los datos que hay en esa fila, desde el 1º campo al ultimo y lo pone en un array de datos. Ya tenemos un array con toda la informacion de ese identificador (id) listo para ser mostrado en pantalla. Primero generamos una tabla en html y para ello cerramos php y añadimos el codigo html necesario y a gusto del alumno. Esa tabla puede tener los campos filas y columnas que uno quiera, dando color a las celdas, añadiendo bordes a las tablas, etc, etc. Esto es propio de html y se puede generar con algun editor de html como nvu. Como no es tema de este capitulo, pasamos a lo esencial.

while ($rowEmp = mysql_fetch_assoc($resEmp)) {?>

<table border="1" width="92%" bordercolor="#333399" style="border-collapse: collapse">
<tr>
<td width="165" bgcolor="#E6E0C0" bordercolorlight="#FF9933" bordercolordark="#FF6600" bordercolor="#FF6600" rowspan="2">
<font size="1">

<img border="0" src="images/schedule.png" width="27" height="26" align="left" hspace="1"></font><p>
<font size="1">

 

El primer apartado que vemos donde se genera el primer dato de la base de datos es el siguinte

<? echo $rowEmp['field_10'];?>

Es muy sencillo. Lo primero es abrir php, despues decimos que se muestre en pantalla el valor de la variable $rowEMP que esta todamo de la base de datos, pero como esta variable es del tipo array ( contiene muchos valores en funcion de la posicion o valor ) se selecciona el field_10 que corresponde con la fecha guardada.

Así podemos hacer con todos los datos como el precio, descripcion, etc.

Aclaramos que esta variable de tipo array no tienen un valor, como $dato1 = "344";  sino que pueden contener muchos valores y por eso se llaman multidimensionales.

El resto del codigo es facil de entender porque no es mas que aplicar los criterios anteriores

</font></p>
<p>
<font size="1">
<?
$base = "http://www.petervaldivia.com/technology/php/board/";
//Vamos a quitar el enlace desde donde esta la foto y tomar la foto pequeña
// para ello le quitamos el directorio y le ponemos el nuevo directorio con la foto pequeña
// la imagen 1 dara la ruta de la foto grande
$image1 = $rowEmp['field_9'];

$image2 = substr ($image1, 7);
$image3 = "thumbs/".$image2;




echo "<a href=# onclick= abrirpopup('$image1',500,500)> <img src='$image3' border='1' class= borde></a>";
//echo "<a target= _blank href='$image1'> <img src='$image3' border='1' class= borde></a>";

?></font></p>
<td bgcolor="#B6E5FF">
<p style="margin-top: 0; margin-bottom: 0"><font size="2">

</span> </font><b>
<font size="2">
<img border="0" src="images/money-bag.png" width="32" height="32" align="left"> <? echo $rowEmp['field_11'];?> €</font></b><font size="2"><b><span lang="es">
</span></b> </font> </p>
<p style="margin-top: 0; margin-bottom: 0"><font size="2"><b>
<font color="#FF3300">Title</font></b><font color="#FF3300"></b></font>:<b><font color="#333399"> <? echo $rowEmp['field_8'];?>
</font></b> </font> </p></td>
</tr>
<tr>

<td bgcolor="#B6E5FF">
<p style="margin-top: 0; margin-bottom: 0"><b>
<font size="2" color="#FF3300">Description</font></b><font size="2">: <?
// vamos a reducir el texto a poner a 400 caracteres
$string1 = $rowEmp['field_7'];

$description = substr($string1,0,400);

echo $description;?>
</font><b>
<font size="2">&nbsp;<font color="#FF3300">Owner</font>:<? echo $rowEmp['field_1'];?> </font>
</b>

<img border="0" src="images/HP-Mobile-2.png" width="32" height="32" > <? echo $rowEmp['field_5'];?>
<img border="0" src="images/address-book-2.png" width="32" height="32"> <? echo $rowEmp['field_3'];?>
<b>
<span lang="es">
<font size="2">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

</font>
</p></td>
</tr>
</table>
<?

}
}
?>
 

El el codigo anterior, substr($string1,0,400);-> Sustrae de una variable ( $string1 ) los primeros 400 valores a contar desde el valor 0. Esto se hace para limitar el numero de palabras a mostrar.

Dictionary:

More information 

Posted on 2009