Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   result Function (https://www.clubdelphi.com/foros/showthread.php?t=81783)

ander 17-12-2012 16:21:02

result Function
 
Tengo dos funciones declaradas dentro de un archivo php.
Lo que no sé es como pasar el valor,de la variable consulta al while de la tabla.
Si alguien pudiese explicarme... porque como vereis acabo de empezar en este mundillo.
Gracias
Código PHP:

 Function Open_FB(&$dbhd,$path,$usuario,$password){
 
$dbhd ibase_connect ($path$usuario$password) or die("<br>" ibase_errmsg());}

 Function 
Open_Table_Object(&$Consulta,$TableName,$dbhd){
 
$sql 'SELECT * FROM ' $TableName
 
$p0=1;
[
color="Red"]$consulta ibase_query($dbhd$sql) or die("<br>" ibase_errmsg());[/color
 while(
$row1=ibase_fetch_assoc($consulta)){
      
$ar_ray[$p0]=$row1["NUMERO_PEDIDO"];
      echo 
'<br> Indice2 ='$row1["NUMERO_PEDIDO"];//FIELDNAME;
      
$p0=$p0+1;}
     
ibase_free_result($consulta);
 }

Open_Fb($dbhd,'I_35.FDB','SYSDBA','masterkey');
Open_Table_Object($Consulta,'Pedidos',$dbhd);

echo
"<table border='2'>
<tr>
   <th No. </th>
</tr>"
;

$i=0;
[
color="Red"] while($row=ibase_fetch_assoc($consulta)){[/color
    echo 
"<tr >
          <td>
$row[NUMERO_PEDIDO]</td>
          </tr>"
;
    
$i++;
}
echo 
"</table>"


Ñuño Martínez 18-12-2012 12:30:07

Hola ander:

Debo decirte que tu estilo de programación deja mucho que desear. PHP en sí ya es bastante caótico, pero consigues que lo sea aún más. Deberías usar indentación para facilitar el encontrar dónde empiezan y terminan los bloques de código (funciones, bucles, etc.).

En cuanto a tu pregunta, para indicar el valor de retorno de una función en PHP se usa la palabra clave "return":
Código PHP:

<?php
  
function Ejemplo ($Parametro)
  {
    return 
"El valor pasado como \$Parametro es \"{$Parametro}\".";
  }
 
?>
<p><?= Ejemplo ('&iexcl;Hola, Mundo!'); ?></p>


ander 18-12-2012 14:06:46

Hola Ñuño:

Como te decía... me está resultando, bastante complicado, familiarizarme con las estructuras de PHP,Jquery,ajax,css y demás.Mi pregunta en teoria seria esta:
Suponiendo que he abierto la base de datos y la tengo en $dbhd

Código PHP:


Function Open_Table_Object($Consulta,$dbhd){ 

 
$sql 'SELECT * FROM  TABLA';  

 
$consulta ibase_query($dbhd$sql) or die("<br>" ibase_errmsg());

 return 
$consulta/* Esto y la declaración,no sé si van así */

 


Ahora bien.... En la función tengo el resultado de la consulta, en "$consulta" y lo que quiero es usar ese variable en otro sitio ,fuera de la función. Como debería de declarar y realizar la consulta para que pueda coger los datos de dicha variable en otro punto fuera de la función ??
y por ej. usarlo de esta manera:

Código PHP:

while($row1=ibase_fetch_assoc($consulta))
{


no sé si me explico,pero gracias por responder.

Ñuño Martínez 18-12-2012 23:10:12

Voy a jugar al adivino, y voy a suponer que lo que preguntas es si en PHP hay variables globales.

La respuesta es sí, pero hay que indicarlo implícitamente, de forma similar al buen y viejo QuickBASIC.

Código PHP:

<?php
# Esta es la variable que queremos que sea global.
  
$Consulta NULL;
# Esta también es global:
  
$dbhd blablabla...;

# Esta es la función que genera la consulta:
  
function AbreConsulta ($SQL)
  {
  
# Aquí decimos que queremos usar las variables globales:
    
global $Consulta$dbhd;
  
# Y aquí trabajamos con ella...
    
$Consulta ibase_query ($dbhd$SQL);
  
# Y por favor, NUNCA uses ese "truco" del "or", porque es difícil de leer
  # lo que pasa y encima puede conducir a errores.
    
if (!$Consulta or $Consulta == NULL)
      die(
"<br>" ibase_errmsg ());
  }

# Y ahora podemos usar la nueva consulta...
  
while ($row ibase_fetch_assoc ($Consulta))
     
dudua ($row);


ander 19-12-2012 10:18:08

Hola Ñuño:

Con esto al menos, tengo un concepto más claro, sobre como he de ir programando las variables y las funciones en PHP, y si a esto añado todas las paginas de ejemplos que estoy mirando en internet ,me voy haciendo una idea de como funciona la programación de páginas Web.
Una pregunta más,que me tiene intrigado.....
Si abro una conexión con una base de datos en un archivo pagina1.php y necesito conectarme con la misma base de datos en otro archivo pagina2.php, ¿debería de abrir y cerrar la base de datos en cada pagina php? o ¿puedo usar una variable, del tipo que sea y usarla en distintos archivos?
Lo que no sé, si el enlace que genero (a la base de datos) lo puedo pasar por medio de Get,Post,$_SESSION['"];

Muchas gracias y perdona mi ignorancia.

Ñuño Martínez 19-12-2012 12:02:13

Cita:

Empezado por ander (Mensaje 452103)
Si abro una conexión con una base de datos en un archivo pagina1.php y necesito conectarme con la misma base de datos en otro archivo pagina2.php, ¿debería de abrir y cerrar la base de datos en cada pagina php?

Si te refieres a que cada archivo es una petición diferente (es decir, "páginas web distintas"), entonces sí, debes cerrar la conexión antes de terminar.

Cita:

Empezado por ander (Mensaje 452103)
o ¿puedo usar una variable, del tipo que sea y usarla en distintos archivos?
Lo que no sé, si el enlace que genero (a la base de datos) lo puedo pasar por medio de Get,Post,$_SESSION['"];

Con GET y POST no se puede, eso seguro, y espero que no se pueda almacenar una conexión en una variable de sesión (otra cosa es el resultado de una consulta, que sí se puede).

En cualquier caso, no lo intentes ya que podría suponer un agujero de seguridad importante. Si se descubre que mantienes esa información en variables de sesión, alguien podría intentar atacar intentando obtener dicha información, y posiblemente lo consiga. Por eso no lo recomiendo.

ander 19-12-2012 12:45:30

Gracias por todo,seguiré aprendiendo.


La franja horaria es GMT +2. Ahora son las 01:09:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi