Foros del Web » Programando para Internet » PHP »

recoger determinados valores en array

Estas en el tema de recoger determinados valores en array en el foro de PHP en Foros del Web. Hola, A ver sia lguien me puede ayudar. Tengo una base de datos (de coches), y tengo echo una pagina listado que lo recoge todo ...
  #1 (permalink)  
Antiguo 02/02/2010, 12:33
 
Fecha de Ingreso: enero-2006
Mensajes: 14
Antigüedad: 18 años, 3 meses
Puntos: 0
recoger determinados valores en array

Hola,

A ver sia lguien me puede ayudar.

Tengo una base de datos (de coches), y tengo echo una pagina listado que lo recoge todo bien.

Pero quiero hacer una previa, osea que en el index.php, me muestre los 4 ultimos añadidos a la lista, estos los pongo cada uno en una tabla contenida dentro de una capa.

De momento todo lo que he probado no me sirve... y no he encontrado nada que me explique como solucionarlo... se que seguramente es muy basico donde estoy fallando, pero me he bloqueado con esta tonteria...

tengo algo asi:

(..)
$link = mysql_connect ($host,$user,$pass);
$query = "SELECT coches.id, coches.marca, coches.modelo, coches.ano, coches.coment, coches.precio, fotos.path, fotos.portada
FROM coches LEFT JOIN fotos ON coches.id = fotos.cocheid WHERE (((fotos.portada)=1)) ORDER BY coches.id DESC;";
$result = mysql_db_query($dbname,$query,$link);

while ($row=mysql_fetch_array($result)){
$marca = $row[marca];
$modelo =$row[modelo];
$ano =$row[ano];
$precio =$row[precio];
$foto = "<img src=\"$pathfoto/$row[path]\" width=\"120\" height=\"90\">";
?>

<div id="Divcotxe1"><table width="129" height="231" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="10">&nbsp;</td>
<td width="113" height="51">&nbsp;</td>
<td width="10">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>

//Aqui donde empiezo a cargar lo que recojo, quiero cargar la primera foto, la primera marca, etc...

<td height="86" align="center" valign="middle"><?= $foto ?></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td height="20" class="txindex_trans"><?= $marca ?></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td height="31" valign="top" class="txindex_trans"><?= $modelo ?></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td height="24" class="precios"><?= $precio ?></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</div>

// En las siguientes capas deberia ir otras tablas iguales a la de la primera capa, solo que los valores serian la segunda foto, la segunda maraca, etc, y luego los terceros y los cuartos.

<div id="Divcotxe2"></div>
<div id="Divcotxe3"></div>
<div id="Divcotxe4"></div>
<?
}
mysql_close ($link);
?>

(...)

Tal y como lo he puesto aqui me repite la primera capa y pone todos los valores recogidos de la tabla

espero que se entienda la pregunta.

salu2
  #2 (permalink)  
Antiguo 02/02/2010, 12:35
Avatar de rfadgrmm  
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: recoger determinados valores en array

Hola Strol,

Prueba colocando en el final de la sentencia SQL: LIMIT 4, tomas el primer registro para la tabla y luego redistribuye los 3 restantes en las divisiones. Espero te funcione.

Saludos...
  #3 (permalink)  
Antiguo 02/02/2010, 13:06
 
Fecha de Ingreso: enero-2006
Mensajes: 14
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: recoger determinados valores en array

lo del LIMIT 4 si esta claro, pero me las sigue poniendo todas a la primera duplicando la capa, como distribuyo?
  #4 (permalink)  
Antiguo 02/02/2010, 13:19
Avatar de rfadgrmm  
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: recoger determinados valores en array

Lo que pasa es que está usando un bucle donde la tabla y las divisiones se repetirán, en todo caso, tienes que aplicar una lógica en la programación dentro del bucle, algo así:

Código PHP:
Ver original
  1. $siguiente = 0;
  2. while ($row=mysql_fetch_array($result)){
  3. $marca = $row[marca];
  4. $modelo =$row[modelo];
  5. $ano =$row[ano];
  6. $precio =$row[precio];
  7. $foto = "<img src=\"$pathfoto/$row[path]\" width=\"120\" height=\"90\">";
  8.  
  9. if (!$siguiente) {
  10.     $siguiente = 1;
  11.     //Aqui insertas el código HTML para tu tabla y volcado de datos...
  12. } else {
  13.    //Aquí va la división y su volcado de datos... (Se repetirán tantas veces hasta el final del registro)
  14. }
  15.  
  16. }

Espero te sirva el código de ejemplo.

Saludos...
  #5 (permalink)  
Antiguo 03/02/2010, 02:59
 
Fecha de Ingreso: enero-2006
Mensajes: 14
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: recoger determinados valores en array

Gracias por tu ayuda, me has desbloqueado la mente...

Nuevo dia, nuevas ideas...

Lo he solucionado asi:

Código PHP:
Ver original
  1. $contador = 1;
  2. while ($row=mysql_fetch_array($result)){
  3. $marca = $row[marca];
  4. $modelo =$row[modelo];
  5. $ano =$row[ano];
  6. $precio =$row[precio];
  7. $foto = "<img src=\"$pathfoto/$row[path]\" width=\"110\" >";
  8.  
  9. if ($contador < 5){
  10.  
  11. print "<div id=\"Divcotxe$contador\"><table width=\"129\" height=\"231\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  12.  <tr>
  13.    <td width=\"10\">&nbsp;</td>
  14.    <td width=\"113\" height=\"51\">&nbsp;</td>
  15.    <td width=\"10\">&nbsp;</td>
  16.  </tr>
  17.  <tr>
  18.    <td>&nbsp;</td>
  19.    <td height=\"86\" align=\"center\" valign=\"middle\"> $foto </td>
  20.    <td>&nbsp;</td>
  21.  </tr>
  22.  <tr>
  23.    <td>&nbsp;</td>
  24.    <td height=\"20\" class=\"txindex_trans\"> $marca </td>
  25.    <td>&nbsp;</td>
  26.  </tr>
  27.  <tr>
  28.    <td>&nbsp;</td>
  29.    <td height=\"31\" valign=\"top\" class=\"txindex_trans\"> $modelo </td>
  30.    <td>&nbsp;</td>
  31.  </tr>
  32.  <tr>
  33.    <td>&nbsp;</td>
  34.    <td height=\"24\" class=\"precios\"> $precio </td>
  35.    <td>&nbsp;</td>
  36.  </tr>
  37.  <tr>
  38.    <td>&nbsp;</td>
  39.    <td>&nbsp;</td>
  40.    <td>&nbsp;</td>
  41.  </tr>
  42. </table>
  43. </div>";
  44.  
  45. $contador ++;
  46. } else{}}
  47. mysql_close ($link);
  48. ?>

Salu2

Etiquetas: recoger
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:46.