No se como ponerle un else a este código me ayudan?

  • Autor Autor Wext
  • Fecha de inicio Fecha de inicio
W

Wext

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola gente como están tengo este código:

HTML:
[PHP]
<?php    $id = @$_GET['id'];    require_once('datos.php');
    if (!$con){die('ERROR DE CONEXION CON MYSQL: ' . mysql_error());}    $database = mysql_select_db("db",$con);    if (!$database){die('ERROR CONEXION CON BD: '.mysql_error());}
    $sql = "SELECT campo1, campo2 FROM tablaWHERE id=".$id;
    $result = mysql_query ($sql);?>

<?php $variable = mysql_fetch_row($result); echo $variable[0]; ?>

<?php    if(@mysql_num_rows($variable)>0){       echo "No Se Ha Encontrado Nada";    }  else{ 
echo $variable[0],  $variable[1];
[/PHP]


Obvio el script noooo es así son los pedazos de php.Cuando se le inserta un id muestra lo que debe de mostrar pero cuando no los campos quedan vacíos y se ve horrible! Que puedo hacer para colocarle un else a ese else o como modificar para que cuando no aya un id reaccione de otra manera ya ensaye con else if y no funciono
 
Insertar CODE, HTML o PHP:
if($id > 0){
echo "si hay id";
} else {
echo "sino hay id";
}
 
Holaa!! No da sigue mostrando los espacios en blanco, le puso un mensaje y una redireccion y nop no lo ejecuta :_
 
Insertar CODE, HTML o PHP:
<?php
$id = $_GET['id'];
if($id > 0){
	require_once('datos.php');
    if (!$con){die('ERROR DE CONEXION CON MYSQL: ' . mysql_error());}
    $database = mysql_select_db("db",$con);
    if (!$database){ die('ERROR CONEXION CON BD: '.mysql_error()); }
		$sql = "SELECT campo1, campo2 FROM tablaWHERE id=".$id;
		$result = mysql_query ($sql);
		if(mysql_num_rows($result) > 0){
			while($variable = mysql_fetch_array($result)){
				echo $variable['campo'];
			}
		} else {
			echo "no hay resultados";
		}
	}
} else {
	echo "no hay id";
}
?>
 
PHP:
<?php
$id = $_GET['id'];
if($id > 0){
	require_once('datos.php');
	if(!$con){
		die('ERROR DE CONEXION CON MYSQL: ' . mysql_error());
	}
	$database = mysql_select_db("db",$con);
        if(!$database){
		die('ERROR CONEXION CON BD: '.mysql_error());
	}
	$sql = "SELECT campo1, campo2 FROM tabla WHERE id=".$id;
	$result = mysql_query($sql);
	if(mysql_num_rows($result) > 0){
		while($variable = mysql_fetch_array($result)){
			echo $variable['campo'];
		}
	}else{
		echo "no hay resultados";
	}
}else{
	echo "no hay id";
}
?>

Una pequeña corrección al código de [MENTION=4759]pandroso[/MENTION] que tenia una llave de más.
 
Ninguno de los dos ejemplos que te dieron funcionarian si el ID no existe, por eso supongo te deja espacios vacios una solucion seria ver si el $_GET['id'] esta asignado:
PHP:
<?php
if(isset($_GET['id']){
     $id = $_GET['id'];
     if(is_numeric($id)){ //un poco de seguridad si es numero sigue sino no :)
        require_once('datos.php');
        if(!$con){
            die('ERROR DE CONEXION CON MYSQL: ' . mysql_error());
        }
        $database = mysql_select_db("db",$con);
            if(!$database){
            die('ERROR CONEXION CON BD: '.mysql_error());
        }
        $sql = "SELECT campo1, campo2 FROM tabla WHERE id = '".$id."' ";
        $result = mysql_query($sql);
        if(mysql_num_rows($result) > 0){
            while($variable = mysql_fetch_array($result)){
                echo $variable['campo'];
            }
        }else{
            echo "No hay resultados";
        }
    }else{
    echo "El ID No es un numero";
    }
}
else{ // No Existe la Variable ?id= en el link
   echo "Error asignando ID";
}
?>

Tiene un par de arreglos, no lo probe el codigo pero de esta menera evitas que salga un resultado vacio..
 
Última edición:
tengo entendido que tu código esta separado por partes, por lo que quizá sea más práctico poner esto antes de $id = @$_GET['id'];

if(!isset($_GET['id'])) die('REDIRECCIÓN JAVASCRIPT');

si pones eso, realizará una redirección javascript cuando no exista el id.

quizá te ayude.

saludos!
 
Coincido con feddy, aunque la verdad que es horrendo como esta codificado, es decir, sin tabulaciones ni comentarios, cuesta mucho mas encontrar los errores.
Saludos y espero que la solucion de feddy sea la que te necesitabas, sino empieza desde cero con el primer if, y trata de tabular para saber donde te molesta que muestra.
 
Atrás
Arriba