elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  duda php+mysql
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda php+mysql  (Leído 2,440 veces)
CrÄsH


Desconectado Desconectado

Mensajes: 624


========


Ver Perfil
duda php+mysql
« en: 26 Febrero 2009, 00:10 am »

Pq al ejecutar esto me sale esto:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Nueva carpeta\proves.php on line 23, Seguido de los 15 resultados.

Cual puede ser el problema??

Código:
<html>
<head>
<title>Páginación de resultados</title>
</head>
<body bgcolor=#FFFFFF>
<?php
// Datos de conexión a la base
$base="mteixidor";
$con=mysql_connect("localhost","root","123456");
mysql_select_db($base,$con);

if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=15; // cantidad de resultados por página
$inicial = $pg * $cantidad;

$pegar = "SELECT * FROM pelis ORDER BY titol LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());

$contar = "SELECT * FROM tabla ORDER BY titol";
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);

// Imprimiendo los resultados
while($array = mysql_fetch_array($cad)) {
echo $array['titol']."<br>";
}

// Cerramos la conexión a la base
$con=mysql_close($con);

// Creando los enlaces de paginación
echo "<p class=fonty>";
if ($pg != 0) {
$url = $pg - 1;
echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;";
} else {
echo " ";
}
for ($i = 0; $i <= $pages; $i++) {
if ($i == $pg) {
if ($i == "0") {
echo "<b> 1 </b>";
} else {
$i = $i+1;
echo "<b> ".$i." </b>";
}
} else {
if ($i == "0") {
echo "<a href=$PHP_SELF?pg=".$i.">1</a> ";
} else {
echo "<a href='$PHP_SELF?pg=".$i."'>";
$i = $i+1;
echo $i."</a>&nbsp;";
}
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>";
} else {
echo " ";
}
echo "</p>";
?>
</body>
</html>


« Última modificación: 26 Febrero 2009, 00:12 am por CrÄsH » En línea

~~~~~~~~~~~~~~~~
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Re: duda php+mysql
« Respuesta #1 en: 26 Febrero 2009, 00:22 am »

mysql_num_rows() te esta diciendo que no es un parametro valido, tienes que testear si $contarok es un resultado valido:

Código
  1. $contar = "SELECT * FROM tabla ORDER BY titol";
  2. $contarok= mysql_db_query($base,$contar);
  3. if (!$contarok) {
  4.    die('Invalid query: ' . mysql_error());
  5. }
  6. $total_records = mysql_num_rows($contarok);
  7. $pages = intval($total_records / $cantidad);
  8.  

Citar
ara las sentencias SELECT, SHOW, DESCRIBE o EXPLAIN, mysql_query() regresa un resource en caso exitoso, y FALSE en error.

Para otro tipo de sentencia SQL, UPDATE, DELETE, DROP, etc, mysql_query() regresa TRUE en caso exitoso y FALSE en error.

Saludos.


En línea

CrÄsH


Desconectado Desconectado

Mensajes: 624


========


Ver Perfil
Re: duda php+mysql
« Respuesta #2 en: 26 Febrero 2009, 12:48 pm »

Me salen las 15 filas seguido de este error:
1
Notice: Undefined variable: PHP_SELF in C:\wamp\www\Nueva carpeta\ex1.php on line 57
2
Notice: Undefined variable: PHP_SELF in C:\wamp\www\Nueva carpeta\ex1.php on line 57
4
.
...


Y al darle a otra pagina me sale la misma, como lo hago para k me muestre las 15 filas siguentes?
En línea

~~~~~~~~~~~~~~~~
Agente Naranja


Desconectado Desconectado

Mensajes: 535


uguu~


Ver Perfil WWW
Re: duda php+mysql
« Respuesta #3 en: 28 Febrero 2009, 18:21 pm »

usa $_SERVER['PHP_SELF']

Y para que te modifique las filas, deben recoger el valor de la página que pasas via GET y pasarselo al limit. .
Ejemplo, entras a index.php:

Código
  1. <?php
  2. $pg = 0;
  3. if (isset($_GET['pg'] ) ) {
  4. $pg = $_GET['pg'];
  5. }
  6. ?>

En caso de no haber ningún "?pg", entonces te lo pondrá a cero, y luego en...
Código
  1. LIMIT $pg, $cantidad

te leerá desde la primera entrada.

Luego si vas a index.php?pg=2, como sí existe el "?pg" te cogerá el valor y te lo meterá como la primera fila a leer.
En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: duda php+mysql
« Respuesta #4 en: 1 Marzo 2009, 02:22 am »

Tambien podrias pobrar generar una variable desde la consula sql por ejemplo usando
algo como count(*) as total
En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines