Foros del Web » Programando para Internet » PHP »

ayuda... no me entrega resultado si tengo 1 solo registro..

Estas en el tema de ayuda... no me entrega resultado si tengo 1 solo registro.. en el foro de PHP en Foros del Web. Hola a todos. tengo una pagina php en la que quiero mostrar unos resultados el problema , es que si existe 1 SOLO REGISTRO con ...
  #1 (permalink)  
Antiguo 25/08/2009, 17:35
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta ayuda... no me entrega resultado si tengo 1 solo registro..

Hola a todos.

tengo una pagina php en la que quiero mostrar unos resultados
el problema , es que si existe 1 SOLO REGISTRO con las variables solicitadas... NO ME MUESTRA NADA al hacer echo a las variables...

si existe mas de 1 registro si me las muestra...

este es codigo :

Código PHP:
<?php
$usuario
=$_SESSION["s_username"];
$contrato=$_POST['paises'];
$cargo=$_POST['estados'];

if (
$cargo==or $contrato==0
{
echo 
"<script>history.back(alert(\"$usuario, porfavor selecciona la Propuesta o Contrato y Cargo a consultar\"));</script>";
}

$link=mysql_connect("localhost""icaro""icaro");
mysql_select_db("administracion");

$consulta_cargo=mysql_query("SELECT cargo FROM cargos WHERE id=$cargo") or die(mysql_error());
if(
$valores_2=mysql_fetch_array($consulta_cargo));
{
    
$nombre_cargooo=$valores_2["cargo"];
}

$conexionmysql_connect("localhost","icaro","icaro"
or die (
"no se pudo conectar con el servidorssssssss");
mysql_select_db("administracion",$conexion)or die ("problemas en la conexion a la base de datos");

$registrosmysql_query("select * from formularios_c3 where id_contrato='$contrato' and cargo_contrato='$nombre_cargooo'",$conexion) or die ("cago".mysql_error());

if (
mysql_fetch_array($registros)==''

{
echo 
"<script>history.back(alert(\"$usuario, no se ha creado el formulario C3 para el Contrato o Propuesta, y Cargo solicitado.\"));</script>";


else 

{
$reg=mysql_fetch_array($registros);

$id_contrato=$reg["id_contrato"];
$nombre_tecnico_contrato=$reg["nombre_tecnico_contrato"]; 
$cargo_contrato=$reg["cargo_contrato"]; 
$nombre_completo_personal=$reg["nombre_completo_personal"]; 
$titulo=$reg["titulo"]; 
}


//// desde aqui en adelante empiezo a hacer los echo en la página.. pero como les decia.. si hay 1 solo registro de acuerdo a mysql_query ... NO ME MUESTRA POR EJEMPLO : echo $nombre_tecnico_contrato;

echo $nombre_tecnico_contrato;

?>
  #2 (permalink)  
Antiguo 25/08/2009, 17:53
Avatar de nonpublic  
Fecha de Ingreso: agosto-2009
Mensajes: 240
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: ayuda... no me entrega resultado si tengo 1 solo registro..

Intenta cambiar
Cita:

if($valores_2=mysql_fetch_array($consulta_cargo));
por:
Código PHP:

while ($valores_2 mysql_fetch_array($consulta_cargo))
    {

    } 
  #3 (permalink)  
Antiguo 25/08/2009, 18:12
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: ayuda... no me entrega resultado si tengo 1 solo registro..

Cita:
Iniciado por nonpublic Ver Mensaje
Intenta cambiar

por:
Código PHP:

while ($valores_2 mysql_fetch_array($consulta_cargo))
    {

    } 
NONPUBLIC... porque dices que el problema es ese ???
lo hice y sigue igual.....
si hay UN SOLO REGISTRO EN LA CONSULTA.. NO ME ENTREGA NINGUN VALOR DESDE $reg=mysql_fetch_array($registros);

en la parte que me dices solo obtengo una variable de otra tabla... ahi no me da problema...
yo sospecho de

else

{
$reg=mysql_fetch_array($registros);

$id_contrato=$reg["id_contrato"];
$nombre_tecnico_contrato=$reg["nombre_tecnico_contrato"];
$cargo_contrato=$reg["cargo_contrato"];
$nombre_completo_personal=$reg["nombre_completo_personal"];
$titulo=$reg["titulo"];
}

porfavor aclarame... y gracias por la ayuda...
  #4 (permalink)  
Antiguo 25/08/2009, 18:31
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: ayuda... no me entrega resultado si tengo 1 solo registro..

LO SOLUCIONE !!!

el problema es que el primer registro lo "gasta" al hacer la comparacion:
if (mysql_fetch_array($registros)=='')

por lo que si hay uno solo... no entrega nada mas....

lo solucioné simplemente dandole otra consulta con las mismas variables...

asi...

A QUIEN LE SIRVA....
Código PHP:
<?php
$usuario
=$_SESSION["s_username"];
$contrato=$_POST['paises'];
$cargo=$_POST['estados'];

if (
$cargo==or $contrato==0
{
echo 
"<script>history.back(alert(\"$usuario, porfavor selecciona la Propuesta o Contrato y Cargo a consultar\"));</script>";
}

$link=mysql_connect("localhost""icaro""icaro");
mysql_select_db("administracion");

$consulta_cargo=mysql_query("SELECT cargo FROM cargos WHERE id=$cargo") or die(mysql_error());
if(
$valores_2=mysql_fetch_array($consulta_cargo));
{
    
$nombre_cargooo=$valores_2["cargo"];
}

$conexionmysql_connect("localhost","icaro","icaro"
or die (
"no se pudo conectar con el servidorssssssss");
mysql_select_db("administracion",$conexion)or die ("problemas en la conexion a la base de datos");

$registrosmysql_query("select * from formularios_c3 where (id_contrato='$contrato' and cargo_contrato='$nombre_cargooo')",$conexion) or die ("cago".mysql_error());

if (
mysql_fetch_array($registros)==''

{
echo 
"<script>history.back(alert(\"$usuario, no se ha creado el formulario C3 para el Contrato o Propuesta, y Cargo solicitado.\"));</script>";


else 

{
$registros2mysql_query("select * from formularios_c3 where (id_contrato='$contrato' and cargo_contrato='$nombre_cargooo')",$conexion) or die ("cago".mysql_error());

$reg=mysql_fetch_array($registros2);

$id_contrato=$reg["id_contrato"];
$nombre_tecnico_contrato=$reg["nombre_tecnico_contrato"]; 
$cargo_contrato=$reg["cargo_contrato"]; 
$nombre_completo_personal=$reg["nombre_completo_personal"]; 

}
?>
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 10:29.