Foros del Web » Programando para Internet » PHP »

Problema con resultados base de datos

Estas en el tema de Problema con resultados base de datos en el foro de PHP en Foros del Web. Hola amigos, tengo una web montada y ahora tengo la necesidad de obligar a la base de datos que me extraiga unos datos en particular, ...
  #1 (permalink)  
Antiguo 02/11/2010, 10:33
 
Fecha de Ingreso: abril-2009
Mensajes: 233
Antigüedad: 15 años
Puntos: 5
Problema con resultados base de datos

Hola amigos, tengo una web montada y ahora tengo la necesidad de obligar a la base de datos que me extraiga unos datos en particular, en este caso hago la consulta y me falla en este punto:
Código PHP:
idmarca '6' 
Si no indico este dato me saca los resultados genial, pero si le obligo a sacar esto me da este fallo:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/ernesto/public_html/coches_de_segunda_mano/audi/audi_segunda_mano.php on line 33

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/ernesto/public_html/coches_de_segunda_mano/audi/audi_segunda_mano.php on line 74

Código completo:

Código PHP:
<?php

//Conexion con la base
$link mysql_connect("localhost","","");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("ernesto_coches",$link);



//Limito la busqueda
$TAMANO_PAGINA 5;

//examino la página a mostrar y el inicio del registro a mostrar
$pg $_GET["pg"];
if (!
$pg) {
    
$inicio 0;
    
$pg=1;
}
else {
    
$inicio = ($pg 1) * $TAMANO_PAGINA;
}


//miro a ver el número total de campos que hay en la tabla con esa búsqueda
$tabla "select * from coches " $criterio;
$rs mysql_query($tabla,$link);
$num_total_registros mysql_num_rows($rs);
//calculo el total de páginas
$total_paginas ceil($num_total_registros $TAMANO_PAGINA);

$tabla mysql_query("SELECT * FROM coches, ciudades, marcas, modelos WHERE coches.idciudad = ciudades.idciudad AND coches.idmarca = marcas.idmarca AND coches.idmodelo = modelos.idmodelo AND idmarca = '6' ORDER BY id DESC"$criterio " limit " $inicio "," $TAMANO_PAGINA);
while (
$registro mysql_fetch_array($tabla)) {
    
?>


<?php
$nombre 
$registro['imagen1']; 
$id $registro['id']; 
?>

<tr>
<td><img style="border:1px solid #D5D5D5;" align=left height="70" width="90" vspace="4" hspace="10"src="/upload/<?php echo $nombre;?>" width="100" height="75"/></td><br>
<b><A class="LINKAZUL" HREF="detalle_coche.php?id_anuncio=<?php echo $id;?>">Se vende&nbsp;<?php echo $registro['marca']; ?>&nbsp;<?php echo $registro['modelo']; ?></A></b>
<td><?php echo $registro['ciudad']; ?></td> 
<td>Precio:&nbsp;<?php echo $registro['precio']; ?>&nbsp;&euro;</td>&nbsp;
<td>Fecha:&nbsp;<?php echo $registro['date']; ?>&nbsp;</td><br>

<td><?php
// Inicializamos las variables
$tamano 75// tamaño máximo
$contador 0;
$texto $registro['descripcion'];
 
// Cortamos la cadena por los espacios
$arrayTexto split(' ',$texto);
$texto '';
 
// Reconstruimos la cadena
while($tamano >= strlen($texto) + strlen($arrayTexto[$contador])){
    
$texto .= ' '.$arrayTexto[$contador];
    
$contador++;
}
echo 
$texto?>...
</td></tr>
<br><br><br>



<?php

}
mysql_free_result($tabla);
mysql_close($link);

?>

<?php

//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($total_paginas 1){
    for (
$i=1;$i<=$total_paginas;$i++){
       if (
$pg == $i)
          
//si muestro el índice de la página actual, no coloco enlace
          
echo $pg " ";
       else
          
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
          
echo "<a href='audi_segunda_mano.php?pg=" $i "'>" $i "</a> ";
    }


?>
Espero que me puedan ayudar...
Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 02/11/2010, 10:43
 
Fecha de Ingreso: marzo-2010
Ubicación: Cali
Mensajes: 203
Antigüedad: 14 años, 1 mes
Puntos: 5
Respuesta: Problema con resultados base de datos

tienes dos query o consultas y ambas estan asignadas a una variable con el mismo nombre '$tabla', el segundo query no tiene la conexion a la db y no veo donde esta declarada la variable '$criterio'
  #3 (permalink)  
Antiguo 02/11/2010, 10:48
 
Fecha de Ingreso: abril-2009
Mensajes: 233
Antigüedad: 15 años
Puntos: 5
Respuesta: Problema con resultados base de datos

Pero eso no es el problema, todo funciona perfectamenete, solo deja de funcionar si le indico que coja expresamente: idmarca = '6', por ejemplo si le pido esto: idcategoria = '1' funciona perfectamente...
  #4 (permalink)  
Antiguo 02/11/2010, 11:02
 
Fecha de Ingreso: marzo-2010
Ubicación: Cali
Mensajes: 203
Antigüedad: 14 años, 1 mes
Puntos: 5
Respuesta: Problema con resultados base de datos

entonces verifica que ese id se encuentra en en la tablas coches como tambien en marca si no existe ese id en alguna de las dos ahi esta el problema.

saludos.
  #5 (permalink)  
Antiguo 02/11/2010, 11:03
 
Fecha de Ingreso: abril-2009
Mensajes: 233
Antigüedad: 15 años
Puntos: 5
Respuesta: Problema con resultados base de datos

Ya está solucionado, JOIN nunca falla!

Código PHP:
$tabla mysql_query("SELECT * FROM coches INNER JOIN ciudades ON coches.idciudad = ciudades.idciudad INNER JOIN marcas ON coches.idmarca = marcas.idmarca INNER JOIN modelos ON coches.idmodelo = modelos.idmodelo WHERE coches.idmarca = '6'" $criterio " limit " $inicio "," $TAMANO_PAGINA); 

Etiquetas: resultados
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:31.