Foros del Web » Programando para Internet » PHP »

tengo un problema, me ayudais?

Estas en el tema de tengo un problema, me ayudais? en el foro de PHP en Foros del Web. Muy buenas a todos, tengo este codigo en mi seccion de descargas, pero no me funciona correctamente y no se por que es... si alguien ...
  #1 (permalink)  
Antiguo 16/04/2008, 16:53
 
Fecha de Ingreso: julio-2007
Mensajes: 19
Antigüedad: 16 años, 9 meses
Puntos: 0
Exclamación tengo un problema, me ayudais?

Muy buenas a todos,

tengo este codigo en mi seccion de descargas, pero no me funciona correctamente y no se por que es... si alguien me ayudara se lo agradeceria muchisimo...

este es el problema que me da....
----------
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...\descargas.php on line 1582


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ...\descargas.php on line 1586
-------------
esta en las ultimas lineas:


Código PHP:
<?php

include("config.php");
$categoria $_GET['c'];
$sub_categoria $_GET['s'];
$id $_GET['id'];

if (empty(
$categoria) && empty($sub_categoria) && empty($id)) {

?>
<table width="100%" align="center" cellpadding="0" cellspacing="0">
...
</table>
<p><?
}

// Categorias, Descarga.php?c=juegos //////////////CATEGORIAS//////////////
if (isset($categoria) && empty($sub_categoria) && empty($id)) {
 switch (
$categoria) {
  case(
'1'):
  
?>
<table width="100%" align="center" cellpadding="0" cellspacing="0">
</table>
...............contenido
  <?
 
break;
  case(
'2'):
?> 
  <?
 
break;
 case(
'3'):
 
?>
.....................contenido
  <?
 
break;
 case(
'4'):
 
?>
.....................contenido
<?
 
break;
 case(
'5'):
 
?>
.....................contenido
<?
 
break;
///// ----- aqui empiezan los problemas-------------------
   
}    
}

// cat y sub-cat, Descarga.php?c=juegos&s=pc
if (isset($categoria) && isset($sub_categoria) && empty($id)) {
/// ------- INICIO Subcats beta
include ("config.php");
$mostrar 15 
if(!
$desde) { $desde ; }  
$resp mysql_query("select * from descargas where categoria='$c' and where subcat='$s' order by titulo asc limit $desde,$mostrar") ;
/// ------- FIN Subcats beta     
  
?>
<table width="100%" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="18" bgcolor="#99CC66"><span class="t1"><span class="Estilo04  Estilo02"><span class="Estilo03"><span class="Estilo04"><img src="images/drive_network.png" alt="" width="15" height="15" border="0" /><span class="Estilo9"><a href="index.php">Inicio</a></span></span></span></span><span class="Estilo04 Estilo01"> <span class="Estilo9">&gt; <a href="./?n=descargas">Descargas</a> <span class="Estilo5">&gt;</span><span class="Estilo7"><em> <a href="./?n=descargas&amp;c=<? echo $c ?>"><? echo $clasificacion[$c?></a> <span class="Estilo5">&gt;</span> <? echo $sub_categoria ?></em></span></span></span></span></td>
  </tr>
</table>
<br />
Listado de descargas en la subcategoria: <em><? echo $sub_categoria ?></em>.<br />
<br />
<? 
//
?>
<table width="80%" border="0">
  <tr>
    <td>&nbsp;</td>
    <td><div id="fondoficha">
    <?
if(mysql_num_rows($resp) == 0) {
echo 
"<div class='Estilo1' align='center' id='info'><br />Aún no hay descargas en esta subcategoria, se el primero en subir algo,  <a href='?n=colaborar'>publica</a>.<br /><br /></div>" ;
}
$desde $desde $mostrar ;
while(
$datos mysql_fetch_array($resp)) {
    
?>
      <table width="90%" border="0">
        <tr>
          <td width="15%" rowspan="3"><div id="imgblock" class="imgblock"><img src='<? echo $datos[imagen?>' alt="" width='80' height='90' border='0' onerror="this.onerror='null';this.src='$errorimagen'" /></div></td>
          <td colspan="4"><a href="index.php?n=ficha&amp;dl=<? echo $datos[id]?>"><? echo $datos[titulo?></a></td>
        </tr>
        <tr>
          <td height="49" colspan="4"><? 
//bb2html parser
$descripcion bb2html($datos[descripcion]);

//Cadena con el texto de ejemplo
$cadena="$descripcion";

//Llamada y salida de la función recortando el texto a 150 carácteres -- PRINT DESCRIPCION
echo cut_string($cadena180); ?>
          </td>
        </tr>
        <tr>
          <td width="9%" height="21">Idioma:<span class="tabla_subtitulo"> <? echo $datos[idioma?></span></td>
          <td width="11%">Formato: <span class="tabla_subtitulo"><? echo $datos[tipo?></span></td>
          <td width="34%">&nbsp;</td>
          <td width="31%"><span class="tabla_subtitulo">Fecha: <? echo $fecha ?></span></td>
        </tr>
                <?
}
?>
              </table>
    </div></td>
    <td>&nbsp;</td>
  </tr>
</table>
<br />
  <?
if($desde $mostrar) {
$anteriores $mostrar ;
if(
$desde == $anteriores) {
echo 
"<p align=right><a href=index.php?n=listado>Anteriores $mostrar descargas</a> | " ;
}
else {
$anteriores $desde $mostrar ;
echo 
"<p align=right><a href=index.php?n=listado&desde=$anteriores>Anteriores $mostrar descargas</a> | " ;
}
}
else {
echo 
"<p align=right>" ;
}
if(
$desde $usuarios) {
echo 
"<a href=index.php?n=listado&desde=$desde>Siguientes $mostrar descargas</a>" ;

}
?>
</body>
</html>
Faltan partes del codigo, si a alguien le interesa o quiere verlo todo para ayudarme que me pida el archivo php

muchisimas gracias de antemano,
  #2 (permalink)  
Antiguo 16/04/2008, 16:57
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 17 años, 10 meses
Puntos: 4
Re: tengo un problema, me ayudais?

cambia $c por $categoria y $s por $sub_categoria

en:
Código PHP:
if(!$desde) { $desde ; }   
$resp mysql_query("select * from descargas where categoria='$c' and where subcat='$s' order by titulo asc limit $desde,$mostrar") ; 
/// ------- FIN Subcats beta 
  #3 (permalink)  
Antiguo 16/04/2008, 17:48
 
Fecha de Ingreso: julio-2007
Mensajes: 19
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: tengo un problema, me ayudais?

muchas gracias por responder pero esas variables ya las habia cambiado pero sigue igual... he probado de todo, pero nada... yo creo que el problema esta con los switch anidados o algo de eso, pero no lo acabo de solucionar...
  #4 (permalink)  
Antiguo 17/04/2008, 01:54
Avatar de mgusdl  
Fecha de Ingreso: abril-2007
Ubicación: Malaga, España
Mensajes: 190
Antigüedad: 17 años
Puntos: 5
Re: tengo un problema, me ayudais?

El problema obviamente está en la consulta a MySQL.
Para depurar imprime en la web la cadena de consulta y ejecutala directamente en el servidor a ver que erro da.

tambien para depurar podrias poner tras el mysql_query:
Código PHP:
if (mysql_errno() != 0) echo "<div>".mysql_error()."</div>"
Si lo que pasa es que la consulta da fallos en función del valor de las variables puedes poner una @ a las funciones susceptibles de tener errores y no mostrará el mensaje de error. Esto más bien es para no romper la estética con un error inoportuno.

Código PHP:
if(@mysql_num_rows($resp) == 0) { }

while(
$datos = @mysql_fetch_array($resp)) { } 
El control de errores es importante.

Salu2 ^^
  #5 (permalink)  
Antiguo 17/04/2008, 03:28
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: tengo un problema, me ayudais?

Código PHP:
$resp mysql_query("select * from descargas where categoria='$c' and subcat='$s' order by titulo asc limit $desde,$mostrar") ; 

Tienes dos "where", la clausula where solo se debe poner una vez.

Si quieres poner más de uno, pones AND u OR y luego la siguiente condición.

Ejemplo:

~ select nombre from contactos WHERE ciudad="ibiza"; ~
~ select nombre from contactos WHERE ciduad="ibiza" AND edad=20; ~

Espero que te valga ^^
  #6 (permalink)  
Antiguo 17/04/2008, 05:41
 
Fecha de Ingreso: julio-2007
Mensajes: 19
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: tengo un problema, me ayudais?

Cita:
Iniciado por Eleazan Ver Mensaje
Código PHP:
$resp mysql_query("select * from descargas where categoria='$c' and subcat='$s' order by titulo asc limit $desde,$mostrar") ; 

Tienes dos "where", la clausula where solo se debe poner una vez.

Si quieres poner más de uno, pones AND u OR y luego la siguiente condición.

Ejemplo:

~ select nombre from contactos WHERE ciudad="ibiza"; ~
~ select nombre from contactos WHERE ciduad="ibiza" AND edad=20; ~

Espero que te valga ^^
Muchas gracias Eleazan, no me habia dado cuenta, ese era el fallo que habia cometido, y gracias a todos por ayudarme.

hasta otra,
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 07:32.