PHP - no imprime la variable

   
Vista:

no imprime la variable

Publicado por movick (824 intervenciones) el 17/09/2014 20:19:16
despues de haber establecido bien las variables; estoy tratando de crear un correlativo e imprimirlo en una <td>
y este es el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=1234");
 
$NroHistoria="SELECT max(nrohistoria)+1 as MaxNroHistoria FROM pacienteprueba";
 
$NroHistoria1 = @pg_query($connect,$NroHistoria);
 
   while($propietario=@pg_fetch_array($NroHistoria1)):
       echo $codigoNro  =$propietario['nrohistoria'];
   endwhile;
?>
   <table align='center'>
      <tr>
	    <td class="sr" align='right' style="text-decoration:none">Nro de Historia:</td>
 
 
<td class='sr'><input type='text' name='nrohistoria' value="<?php echo $codigoNro ?>" size='10' maxlength='10' align='right'/>
  </td>
      </tr>
pero sigue sin traer la variable, si puede algien ver que error habria. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

no imprime la variable

Publicado por Gonzalo (339 intervenciones) el 17/09/2014 20:33:10
la orden while esta mal.

while($propietario=@pg_fetch_array($NroHistoria1))
{
$codigoNro =$propietario['nrohistoria'];
}

<Table> y <tr> hasta donde tengo entendido no usa formato para centrar, <td> es quien centra respecto de la celda.

segun el formato de php debes terminar la orden con ;

<?php
echo $codigoNro;
?>

parece ser que estas combinando php con asp, asi no va a funcionar.

suerte, salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no imprime la variable

Publicado por movick (824 intervenciones) el 17/09/2014 20:57:26
pero que terrible!!!!
Sigue reacio este bendito codigo!!!!
tal cual como me dices Gonzalo asi lo escribo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=1234");
$NroHistoria="SELECT max(nrohistoria)+1 as MaxNroHistoria FROM pacienteprueba";
$Nro = @pg_query($connect,$NroHistoria);
   while($propietario=@pg_fetch_array($Nro))
   {
       echo $codigoNro  =$propietario['nrohistoria'];
   }
 
?>
   <table align='center'>
      <tr>
	    <td class="sr" align='right' style="text-decoration:none">Nro de Historia:</td>
 
 
<td class='sr'><input type='text' readonly=".T." value="<?php echo $codigoNro; ?>" name='nrohistoria' size='10' maxlength='10' align='right'/>
  </td>
      </tr>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no imprime la variable

Publicado por movick (824 intervenciones) el 17/09/2014 22:19:49
En realidad no tengo asp por ningun lado.

tiene lo indispensable para imprimir una simple variable de php a html

1
2
3
4
<table>
      <tr>
	    <td >Nro de Historia:</td>
<td class='sr'><input type='text' value="<?php echo $codigoNro; ?>" name='nrohistoria'/></td></tr>

y el While esta bien:

1
2
3
4
5
6
7
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=1234");
$NroHistoria="SELECT max(nrohistoria)+1 as MaxNroHistoria FROM pacienteprueba";
$Nro = @pg_query($connect,$NroHistoria);
   while($propietario=@pg_fetch_array($Nro))
   {
       $codigoNro = $propietario['MaxNroHistoria'];
   }

El query no creo que tenga errores, aunque lo imprimo con echo y me imprime el mismo literal:
1
SELECT max(nrohistoria)+1 as MaxNroHistoria FROM pacienteprueba
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no imprime la variable

Publicado por Gonzalo (339 intervenciones) el 18/09/2014 16:55:31
esta orden es asp.

while($propietario=@pg_fetch_array($NroHistoria1)):
echo $codigoNro =$propietario['nrohistoria'];
endwhile;


php no usa endwhile.

esta orden es la correcta.

while($propietario=@pg_fetch_array($Nro))
{
$codigoNro = $propietario['MaxNroHistoria'];
}

trata con este codigo.

$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=1234");
$NroHistoria="SELECT max(nrohistoria)+1 as MaxNroHistoria FROM pacienteprueba";
$Nro = @pg_query($connect,$NroHistoria);

$propietario=@pg_fetch_array($Nro,null,PGSQL_ASSOC);

echo($propietario['MaxNroHistoria']);


dime si te regresa un numero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

no imprime la variable

Publicado por xve (5523 intervenciones) el 18/09/2014 19:40:57
Hola Gonzalo, siento decirte que PHP si puede utilizar endwhile
http://php.net/manual/es/control-structures.while.php

Y endif
http://php.net/manual/es/control-structures.if.php

Aunque no es muy habitual utilizarlo en PHP, se puede utilizar perfectamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no imprime la variable

Publicado por Gonzalo (339 intervenciones) el 18/09/2014 20:42:16
tienes razon, todos los dias se aprende algo nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

no imprime la variable

Publicado por xve (5523 intervenciones) el 18/09/2014 07:40:56
Hola Movick, lo que estas intentando haces, no lo entiendo, ya que según comentas, quieres intentar imprimirlo en un <td> pero ahí, lo que haces, es coger el ultimo valor y ponerlo dentro de un value de un formulario.

No se si lo que quieres es algo así:
1
2
3
4
5
6
7
echo "<table>";
echo "<tr>";
while($propietario=@pg_fetch_array($NroHistoria1)):
    echo "<td>".$propietario['nrohistoria']."</td>";
endwhile;
echo "</tr>";
echo "</table>";

Si nos puedes comentar exactamente que quieres hacer...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no imprime la variable

Publicado por movick (824 intervenciones) el 20/09/2014 02:41:10
Hola Xve. Lo que quiero es imprimir el correlativo del nro de historia del paciente, la idea es imprimirlo de manera automatica.

puse un echo para el query este:
1
2
3
echo $NroHistoria="SELECT max(nrohistoria)+1 as MaxNroHistoria FROM pacienteprueba";
pero me arroja este mensaje:
='editor_code'>SELECT max(nrohistoria)+1 as MaxNroHistoria FROM pacienteprueba
y para esta variable:
1
echo $Nro = @pg_query($connect,$NroHistoria);
imprime esto:
Resource id #3.
Lo cual quiere decir que el problema radica en estas lineas es decir, que el query o consulta tiene un problema, todo tiene las ordenes y el php esta correcto.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no imprime la variable

Publicado por movick (824 intervenciones) el 20/09/2014 03:05:45
Bueno señores, ya resolvi este problema. Al diablo este basura de codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=1234");
/*echo $NroHistoria="SELECT max(nrohistoria)+1 as MaxNroHistoria FROM pacienteprueba";
echo $Nro = @pg_query($connect,$NroHistoria);

echo "<table>";
 echo "<tr>"; 
while($propietario=@pg_fetch_array($Nro)): 
     echo "<td>".$propietario['MaxNroHistoria']."</td>"; 
endwhile; 
  echo "</tr>"; 
echo "</table>";*/
 
 
 
 
/*   while($propietario=@pg_fetch_array($Nro))
   {
       $codigoNro = $propietario['MaxNroHistoria'];
   }

?>
   <table>
      <tr>
	    <td >Nro de Historia:</td>
<?php 
$query= pg_query("SELECT max(nrohistoria)+1 as MaxNroHistoria FROM pacienteprueba");
 if ($row = pg_fetch_row($query)) 
 {
  $id = trim($row[0]);
  
 }
?>
<td class='sr'><input type='text' value="<?php echo $id; ?>" name='nrohistoria' size='10' maxlength='10' align='right'/></td></tr>
no sirve para nada
LA SOLUCION:
Este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
<table>
      <tr>
	    <td >Nro de Historia:</td>
<?php
$query= pg_query("SELECT max(nrohistoria)+1 as MaxNroHistoria FROM pacienteprueba");
 if ($row = pg_fetch_row($query))
 {
  $id = trim($row[0]);
 
 }
?>
<td class='sr'><input type='text' value="<?php echo $id; ?>" name='nrohistoria' size='10' maxlength='10' align='right'/></td></tr>
comentenme por favor a ver que les parece, pero si lo hace.
saludos.
pero por favor comentenme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no imprime la variable

Publicado por movick (824 intervenciones) el 20/09/2014 19:39:53
Disculpen si fui un poco brusco en mis palabras, cuando dije que mandaria el codigo al diantre no me referia al codigo de ustedes, quise decir: mi codigo. Pido disculpas.
De todos modos revisenlo a ver si les pudiera servir,
si pueden comentar. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

no imprime la variable

Publicado por xve (5523 intervenciones) el 21/09/2014 09:38:30
Hola Movick, yo creo que la solución que das esta bien, pero creo que te sobra el bucle, ya que segun entiendo, solo te devolverá un registro la base de datos... yo lo dejaría así:

1
2
3
4
5
$query=pg_query("SELECT max(nrohistoria)+1 as MaxNroHistoria FROM pacienteprueba");
$row = pg_fetch_row($query)
$value = trim($row[0]);
?>
<td class='sr'><input type='text' value="<?php echo $value;?>" name='nrohistoria' size='10' maxlength='10' align='right'/></td></tr>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no imprime la variable

Publicado por movick (824 intervenciones) el 22/09/2014 23:03:00
Hola Xve. Correcto, es logico.
y le agregué str_pad para colocarle una cadena y rellenarle por la izquierda.

1
2
$row = pg_fetch_row($query)
$value = str_pad(trim($row[0]),4,"0",STR_PAD_LEFT)
Gracias por comentar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar