Foros del Web » Programando para Internet » PHP »

Estoy creando un foro con sistemas de usuarios. pero me arroja un error.

Estas en el tema de Estoy creando un foro con sistemas de usuarios. pero me arroja un error. en el foro de PHP en Foros del Web. ola, este es mi codigo: Código PHP: $limit  =  2 ;    // si no esta la pagina en get if (isset( $_GET [ "pag" ])) { $pag  = (int)  $_GET [ "pag" ];  } else { ...
  #1 (permalink)  
Antiguo 21/10/2011, 16:23
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 4 meses
Puntos: 1
Pregunta Estoy creando un foro con sistemas de usuarios. pero me arroja un error.

ola, este es mi codigo:
Código PHP:
$limit 2
 
// si no esta la pagina en get
if (isset($_GET["pag"])) {
$pag = (int) $_GET["pag"]; 
} else {
$pag "1";
}

$offset = ($pag-1) * $limit
 
if (isset(
$_GET["buscar"])) {
$buscatema $_GET["buscar"]; 
$sql "SELECT SQL_CALC_FOUND_ROWS ID, nombre, apellido, tema FROM foro where campo LIKE '$buscatema' LIMIT $offset, $limit"
} else {
$sql "SELECT SQL_CALC_FOUND_ROWS ID, nombre, apellido, tema FROM foro LIMIT $offset, $limit"

Como podran ver, lo que quiero hacer es que si existe 'buscar' en la url de la pagina (metodo GET) que busque el la base de datos lo que quiero, pero si esta vacio, no busque y arroje todos los resultados, si en la url esta:
"index.php" me arroja los resultados, si esta como
"index.php?buscar=s" me deberia arrojar los campos que tengan la letra s, pero no me arroja nada, y encima me dice este error
Código:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\localhost\www\Index.php on line 302
lo raro es que no existe esa linea, tal ves no cerre un if, aqui esta mi codigo completo:

Código PHP:
<table bgcolor="#00ff00"  cellpadding="0" cellspacing="0" border="2" bordercolor="#F5D0A9" style="Overflow: hiddden;" width="95%"><tr class="tablatemas"><td width="25%">Nombre</td><td width="75%">Tema</td></tr>
<?php
include("censorado"); 
$link=mysql_connect(censorado);
mysql_select_db(censorado); 

// maximo por pagina 
$limit 2
 
// pagina pedida
if (isset($_GET["pag"])) {
$pag = (int) $_GET["pag"]; 
} else {
$pag "1";
}

$offset = ($pag-1) * $limit
 
if (isset(
$_GET["buscar"])) {
$buscatema $_GET["buscar"]; 
$sql "SELECT SQL_CALC_FOUND_ROWS ID, nombre, apellido, tema FROM foro where like campo '$buscatema' LIMIT $offset, $limit"
} else {
$sql "SELECT SQL_CALC_FOUND_ROWS ID, nombre, apellido, tema FROM foro LIMIT $offset, $limit"


$sqlTotal "SELECT FOUND_ROWS() as total"
 
$rs mysql_query($sql); 
$rsTotal mysql_query($sqlTotal); 
 
$rowTotal mysql_fetch_assoc($rsTotal); 
// Total de registros sin limit 
$total $rowTotal["total"]; 
         while (
$row mysql_fetch_assoc($rs)) 
         { 
echo 
"<tr class=\"temas\"><td width=\"25%\">" ;
 echo  
$row["nombre"]; 
echo 
"</td><td width=\"75%\"><a href=\"ver.php?id=";
echo     
$row["ID"];
echo 
"\">";
echo 
$row["tema"];
echo 
"</a></td></tr>";
         } 
      
?>
 
   
 


</table>

     <div style="overflow: scroll; width: 200px;">
<?php 
         $totalPag 
ceil($total/$limit); 
         
$links = array(); 
         for( 
$i=1$i<=$totalPag $i++) 
         { 
            
$links[] = "<a href=\"?pag=$i\">$i</a>";  
         } 
         echo 
implode("-"$links); 
      
?>
si estoy muy idiota, no se enojen, ya me la parti con esto muchas veces, perdonenme pero tengo solamente 14 años y mi foro tiene sistema de usuarios y me revolvio un poco, ya me canse como para checar el codigo, pero no lo quiero dejar para mañana
  #2 (permalink)  
Antiguo 21/10/2011, 16:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Estoy creando un foro con sistemas de usuarios. pero me arroja un error.

La sintaxis correcta de LIKE es:
Cita:
WHERE columna LIKE
¿Notas la diferencia con tu código?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/10/2011, 16:28
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Respuesta: Estoy creando un foro con sistemas de usuarios. pero me arroja un error.

asi visto por arriba el orden del like esta mal

where like campo

tiene que ser

where campo like
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #4 (permalink)  
Antiguo 21/10/2011, 16:28
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 4 meses
Puntos: 1
Pregunta Respuesta: Estoy creando un foro con sistemas de usuarios. pero me arroja un error.

Cita:
Iniciado por pateketrueke Ver Mensaje
La sintaxis correcta de LIKE es: ¿Notas la diferencia con tu código?
si la noto, pero me sigue arrojando el mismo error, que puede ser?

Código PHP:
Ver original
  1. <?php
  2. include("censurado");
  3. $link=mysql_connect(censurado);
  4. mysql_select_db(censurado);
  5.  
  6. // maximo por pagina
  7. $limit = 2;
  8.  
  9. // pagina pedida
  10. if (isset($_GET["pag"])) {
  11. $pag = (int) $_GET["pag"];
  12. } else {
  13. $pag = "1";
  14. }
  15.  
  16. $offset = ($pag-1) * $limit;
  17.  
  18. if (isset($_GET["buscar"])) {
  19. $buscatema = $_GET["buscar"];
  20. $sql = "SELECT SQL_CALC_FOUND_ROWS ID, nombre, apellido, tema FROM foro where tema like '$buscatema' LIMIT $offset, $limit";
  21. } else {
  22. $sql = "SELECT SQL_CALC_FOUND_ROWS ID, nombre, apellido, tema FROM foro LIMIT $offset, $limit";
  23. }
  24.  
  25. $sqlTotal = "SELECT FOUND_ROWS() as total";
  26.  
  27. $rs = mysql_query($sql);
  28. $rsTotal = mysql_query($sqlTotal);
  29.  
  30. $rowTotal = mysql_fetch_assoc($rsTotal);
  31. // Total de registros sin limit
  32. $total = $rowTotal["total"];
  33.          while ($row = mysql_fetch_assoc($rs))
  34.          {
  35. echo "<tr class=\"temas\"><td width=\"25%\">" ;
  36.  echo  $row["nombre"];
  37. echo "</td><td width=\"75%\"><a href=\"ver.php?id=";
  38. echo     $row["ID"];
  39. echo "\">";
  40. echo $row["tema"];
  41. echo "</a></td></tr>";
  42.          }
  43.       ?>

lo de limit, pagina perdida y esas cosas es para paginar los resultados

Última edición por xXeltommyXx; 21/10/2011 a las 16:35
  #5 (permalink)  
Antiguo 21/10/2011, 16:40
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Estoy creando un foro con sistemas de usuarios. pero me arroja un error.

esperen un momento, funciono!, genial. y que estupido soy jajajajajajaj
  #6 (permalink)  
Antiguo 21/10/2011, 16:41
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 4 meses
Puntos: 1
Exclamación Respuesta: Estoy creando un foro con sistemas de usuarios. pero me arroja un error.

Cita:
Iniciado por pateketrueke Ver Mensaje
La sintaxis correcta de LIKE es: WHERE COLUMNA LIKE ¿Notas la diferencia con tu código?
muchas gracias

Etiquetas: condicionales, foro, mysql
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 17:10.