Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/03/2009, 13:46
jereje
 
Fecha de Ingreso: marzo-2009
Mensajes: 14
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema con if para verificar que la consulta no este vacia

Cita:
Iniciado por Ronruby Ver Mensaje
En tu consulta, no es necesario ponerle las comillas a "id" si es un entero.

Y usa, mysql_num_rows($resultado) > 0 en tu if.
Lo puse como me dijiste:

Código PHP:
include('../includes/conf.php');
if (isset(
$_GET['id']))
{
$sql "SELECT * FROM comentarios WHERE noticia =".$id;
$result mysql_query($sql);
if(
mysql_num_rows($result) > )
{
echo 
'<TABLE class="central" >
<TR>  
   <TH widht="30%">Titulo</TH>
   <TH widht="30%">Contenido</TH>
   <TH widht="30%">Eliminar</TH> 
</TR>'
;
include (
'../includes/funciones.php');
$id verificarNumero($_GET['id']);

while(
$tablas mysql_fetch_array($result)) 
{
echo 
'<TR>
    <TD widht="30%">'
.$tablas[titulo].'</TD>
    <TD widht="30%">'
.$tablas[texto].'</TD>
    <TD widht="30%"><a href=?del_id='
.$tablas[id].'&not_id='.$tablas[noticia].'><img src="img/del.png"><A></TD>
    </TR>'
;

}
echo 
'</table><br>';
}
else {
    echo 
'<div class="actual">Esta noticia no tiene ningun comentario</div><br>';
}
}
if (isset(
$_GET['del_id']) && isset($_GET['not_id']))
{
$id $_GET['del_id'];
$sqll="DELETE FROM comentarios WHERE id =".$id;
if (
mysql_query($sqll$conectar)){
    echo 
'jorge';
}
else{
    echo 
'juan';
}
$not_id=$_GET['not_id'];
echo 
"<meta http-equiv='refresh' content='0;URL=man_coment.php?id=".$not_id."'>"

Y me tira esto:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\blog\admin\man_coment.php on line 21
Esta noticia no tiene ningun comentario

Ya habia probado como me dijiste y me pasaba eso, y estuve leyendo y decia que le ponga comillas al id, con las comillas en el id y el mysql_num_rows() , me tira siempre la segunda clausula, sin errores, pero siempre la segunda.

Espero que me puedan ayudar, muchas gracias, saludos

EDIT: Ya lo arregle, lo que pasaba es que en la consulta la variable $id no estaba declarada, y nose por que php no la convertia automaticamente, se soluciono con agregar $id=$_GET['id'];
quedo asi:

Código PHP:
include('../includes/conf.php');
if (isset(
$_GET['id']))
{
$id=$_GET['id'];
$sql "SELECT * FROM comentarios WHERE noticia =".$id;
$result mysql_query($sql);
if(
mysql_num_rows($result) > )
{
echo 
'<TABLE class="central" >
<TR>  
   <TH widht="30%">Titulo</TH>
   <TH widht="30%">Contenido</TH>
   <TH widht="30%">Eliminar</TH> 
</TR>'
;
include (
'../includes/funciones.php');
$id verificarNumero($_GET['id']);

while(
$tablas mysql_fetch_array($result)) 
{
echo 
'<TR>
    <TD widht="30%">'
.$tablas[titulo].'</TD>
    <TD widht="30%">'
.$tablas[texto].'</TD>
    <TD widht="30%"><a href=?del_id='
.$tablas[id].'&not_id='.$tablas[noticia].'><img src="img/del.png"><A></TD>
    </TR>'
;

}
echo 
'</table><br>';
}
else {
    echo 
'<div class="actual">Esta noticia no tiene ningun comentario</div><br>';
}
}
if (isset(
$_GET['del_id']) && isset($_GET['not_id']))
{
$id $_GET['del_id'];
$sqll="DELETE FROM comentarios WHERE id =".$id;
if (
mysql_query($sqll$conectar)){
    echo 
'jorge';
}
else{
    echo 
'juan';
}
$not_id=$_GET['not_id'];
echo 
"<meta http-equiv='refresh' content='0;URL=man_coment.php?id=".$not_id."'>"

Muchas gracias por la ayuda

Última edición por jereje; 07/03/2009 a las 13:51