Não sei como colocar um else neste código, me ajudam?

  • Autor Autor Wext
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
W

Wext

Beta
Usuário com poucas negociações! Use sempre o saldo do 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
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Inserir CODE, HTML ou 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 :_
 
Inserir CODE, HTML ou 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 edição:
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.
 
Voltar
Topo