Foros del Web » Programando para Internet » PHP »

leer datos dbase mediante codigo php

Estas en el tema de leer datos dbase mediante codigo php en el foro de PHP en Foros del Web. no puedo leer datos desde dbase ¿cual sera el problema? ¿sera problema de configuracion?...
  #1 (permalink)  
Antiguo 05/05/2005, 10:24
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
leer datos dbase mediante codigo php

no puedo leer datos desde dbase
¿cual sera el problema?
¿sera problema de configuracion?
  #2 (permalink)  
Antiguo 05/05/2005, 13:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Por sér .. puede ser de cualquier cosa .. Pero lo que no somos es "adivinos" .. así que por favor indica algo más de datos de tus condiciones:

1) Usas un servicio de hosting (de pago? .. gratuito? ..) o tu própio servidor?.
2) Código que usas.
3) Mensajes de error si los ves.

No está de más comentar que Versión de PHP usas . .bajo que Sistema Operativo de tu servidor ...

Un saludo,
  #3 (permalink)  
Antiguo 05/05/2005, 13:20
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 15 años, 1 mes
Puntos: 0
como te estas conectando???
puedes colocar el código??
hasta lo que yo se lo puedes acceder como un archivo a cada tabla en forma independiente...
de todas formas coloca el código para ver si podemos ayudarte...
saludos
__________________
________________________________________

Ugho.
  #4 (permalink)  
Antiguo 06/05/2005, 08:09
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
el codigo

<table align="center" >

<form name="anadir" method="post" action="8.php">
<tr>
<td width="275" >
<div align="center"><font face="Arial, Helvetica, sans-serif"size="3">
Introduce el codigo: </font><br>
<input type="text" name="codigo" size="20" maxlength="30">
</div>
</td>
<td width="275">
<div align="center"> <font face="Arial, Helvetica, sans-serif"size="3">
Introduce las nombre:</font> <br>
<input type="text" name="nombre" size="10" maxlength="30">
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" value="Enviar" name="envia">
</div>
</td>
</tr>
</form>
</table>
<?

if($envia!="" && $codigo!="" && $nombre!="") {

$sMicodigo=$codigo;
$sMinombre=$nombre;
$envia="";
$codigo="";
$nombre="";

$basedatos = "clientes.dbf";
$result = dbase_open ( $basedatos, 2 );

if ( !$result )
echo ("No abrió la base de datos");
else {
$ultimo = dbase_numrecords($result);
$num_campos=dbase_numfields($result);

if ($ultimo && $num_campos) {
print("<div align='center'>");
echo("El último registro es.... :".$ultimo."<br>");
print("El número de campos es.... :".$num_campos."<br>");
print("<strong>Vamos a introducir los elementos,</strong>");
print("</div>");
}

$inserta = array ($sMicodigo , $sMinombre);


echo"<div align='center'>";
print("<H1>".$inserta[1]." y ".$inserta[0]."</H1>");
echo"</div>";

if(!dbase_add_record ( $result , array_values($inserta) ))
print("<strong>No pudo reeemplazar el registro </strong>");

$close= dbase_close ( $result );
}
}

$sMicodigo="";
$sMinombre="";
$inserta = array ($sMicodigo , $sMinombre);
?>
  #5 (permalink)  
Antiguo 06/05/2005, 08:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Insisto una vez más ..

Te solicitaba un par de temas más:
1) y 3)

Ahí tienes un pequeño control de como se ejecuta tu código . .por ejemplo avisos de que "no se conectó con tu BD" .. etc.

No está de más que indiques que "sucede" cuando ejecutas tu código .. por lo menos para ver si "conectastes" a tu BD .. Estado de las variables que vas obteniendo a lo largo de la ejecución de ese código .. Por ejemplo:

Código PHP:
$ultimo dbase_numrecords($result);
$num_campos=dbase_numfields($result);
echo 
"último: ".$ultimo."<br>";
echo 
"numero campos: ".$num_campos
Un saludo,
  #6 (permalink)  
Antiguo 06/05/2005, 08:40
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
no me da ningun mensaje
  #7 (permalink)  
Antiguo 06/05/2005, 08:43
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
tengo este codigo en la pagina 7.php

<table align="center" >

<form name="anadir" method="post" action="8.php">
<tr>
<td width="275" >
<div align="center"><font face="Arial, Helvetica, sans-serif"size="3">
Introduce el codigo: </font><br>
<input type="text" name="codigo" size="20" maxlength="30">
</div>
</td>
<td width="275">
<div align="center"> <font face="Arial, Helvetica, sans-serif"size="3">
Introduce las nombre:</font> <br>
<input type="text" name="nombre" size="10" maxlength="30">
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" value="Enviar" name="envia">
</div>
</td>
</tr>
</form>
</table>
  #8 (permalink)  
Antiguo 06/05/2005, 08:45
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
y este en la pagina 8.php
<?

if($envia!="" && $codigo!="" && $nombre!="") {

$sMicodigo=$codigo;
$sMinombre=$nombre;
$envia="";
$codigo="";
$nombre="";

$basedatos = "clientes.dbf";
$result = dbase_open ( $basedatos, 2 );

if ( !$result )
echo ("No abrió la base de datos");
else {
$ultimo = dbase_numrecords($result);
$num_campos = dbase_numfields($result);

if ($ultimo && $num_campos) {
print("<div align='center'>");
echo("El último registro es.... :".$ultimo."<br>");
print("El número de campos es.... :".$num_campos."<br>");
print("<strong>Vamos a introducir los elementos,</strong>");
print("</div>");
}

$inserta = array ($sMicodigo , $sMinombre);


echo"<div align='center'>";
print("<H1>".$inserta[1]." y ".$inserta[0]."</H1>");
echo"</div>";

if(!dbase_add_record ( $result , array_values($inserta) ))
print("<strong>No pudo reeemplazar el registro </strong>");

$close= dbase_close ( $result );
}
}

$sMicodigo="";
$sMinombre="";
$inserta = array ($sMicodigo , $sMinombre);
?>
llega el enlace pero no me arroja nada
  #9 (permalink)  
Antiguo 06/05/2005, 09:01
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
tengo este codigo pagina 7.php
envia los datos
pero no me arroja ningun mensaje
ni menos se agrega en la tabla clientes.dbf

<table align="center" >

<form name="anadir" method="post" action="7.php">
<tr>
<td width="275" >
<div align="center"><font face="Arial, Helvetica, sans-serif"size="3">
Introduce el codigo: </font><br>
<input type="text" name="codigo" size="20" maxlength="30">
</div>
</td>
<td width="275">
<div align="center"> <font face="Arial, Helvetica, sans-serif"size="3">
Introduce el nombre:</font> <br>
<input type="text" name="nombre" size="10" maxlength="30">
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" value="Enviar" name="envia">
</div>
</td>
</tr>
</form>
</table>

<?

if($envia!="" && $codigo!="" && $nombre!="") {

$sMicodigo=$codigo;
$sMinombre=$nombre;
$envia="";
$codigo="";
$nombre="";

$basedatos = "clientes.dbf";
$result = dbase_open ( $basedatos, 2 );

if ( !$result )
echo ("No abrió la base de datos");
else {
$ultimo = dbase_numrecords($result);
$num_campos = dbase_numfields($result);

if ($ultimo && $num_campos) {
print("<div align='center'>");
echo("El último registro es.... :".$ultimo."<br>");
print("El número de campos es.... :".$num_campos."<br>");
print("<strong>Vamos a introducir los elementos,</strong>");
print("</div>");
}

$inserta = array ($sMicodigo , $sMinombre);


echo"<div align='center'>";
print("<H1>".$inserta[1]." y ".$inserta[0]."</H1>");
echo"</div>";

if(!dbase_add_record ( $result , array_values($inserta) ))
print("<strong>No pudo reeemplazar el registro </strong>");

$close= dbase_close ( $result );
}
}

$sMicodigo="";
$sMinombre="";
$inserta = array ($sMicodigo , $sMinombre);
?>
  #10 (permalink)  
Antiguo 06/05/2005, 09:28
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
utilizo servidor local
no me da mensajes de error
por favor ayuda
saludos
  #11 (permalink)  
Antiguo 06/05/2005, 09:31
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
utilizo windows server 2003
PHP Version 4.3.11
  #12 (permalink)  
Antiguo 06/05/2005, 09:44
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 15 años, 1 mes
Puntos: 0
Como bien dice el Amestro Cluster, debes chequearlo con las cosas basicas primero antes de ponerte a hacer mucho código.
Primero debes ver si te puedes conectar y se puedes recoger los registros de la tabla.
POr ejemplo:
------------------
if ( !$result )
echo ("No abrió la base de datos");
else {
echo ("No abrió la base de datos");
}
---------------------------
y luego con el código que te escibió Cluster
-------------------------------------------
$ultimo = dbase_numrecords($result);
$num_campos=dbase_numfields($result);
echo "último: ".$ultimo."<br>";
echo "numero campos: ".$num_campos;
------------------------------------------
Algo tiene que aparecer...algun mensaje de error...que te indique si hay algo malo....
SAludos...
__________________
________________________________________

Ugho.
  #13 (permalink)  
Antiguo 06/05/2005, 10:00
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
estoy ocupando dreamweaver
este es el codigo ahora
no muestra ningun error
soy principiante en esto por favor ayuda

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?
$basedatos = "clientes.dbf";
$result = dbase_open ( $basedatos, 2 );
if ( !$result )
echo ("No abrió la base de datos");
else {
echo ("No abrió la base de datos");
}

$ultimo = dbase_numrecords($result);
$num_campos=dbase_numfields($result);
echo "último: ".$ultimo."<br>";
echo "numero campos: ".$num_campos;
?>
</body>
</html>
  #14 (permalink)  
Antiguo 06/05/2005, 10:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Un "fallo" general que veo es que usas y asumes todas las variables externas de tus scripts como "globales" .. Es decir:

if($envia!="" && $codigo!="" && $nombre!="") {

sería:

if($_POST['envia'] !="" && $_POST['codigo'] !="" && $_POST['nombre'] !="") {

Así con todas las variables que envias desde tus formularios/links .. hacia tus scripts PHP ...

La configuración de PHP (php.ini) de: register_globals .. ¿que valor tiene?
Si está a OFF .. el código que usas actualmente nunca te funcionará como esperas. Debes usar (para evitar tener que depender de esa configuración si está a ON u a OFF) los arrays superglobales: $_POST, $_GET .. etc. En las FAQ's de este foro PHP .. de las primeras se comenta este tema.

Un saludo,
  #15 (permalink)  
Antiguo 06/05/2005, 10:33
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
gracias cluster probe el codigo y los cambios
pero no me funciona
saludos
  #16 (permalink)  
Antiguo 06/05/2005, 10:59
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
ayuda porfavor cluster
por favor algun script de ayuda
  #17 (permalink)  
Antiguo 06/05/2005, 12:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y que hay de todas las recomendaciones que te hemos dado? .. Has probado todo eso de ir haciendo "echo" de las variables que ahí usas y observar que valores te dán?

Yo no uso dBase como para probar tu código ... y no sé de que te servirá un ejemplo que no es tu caso particular .. (ni la BD te la van a proporcionar tal vez) por eso .. insisto que debes evaluar "como" está funcionando el script (su ejecución) para que veas o veamos el problema concreto. Por eso te sugerí como ir recogiendo datos para ver donde está el problema.

Si haces cambios en tu script .. -debes aportar- el código como te quedó .. tal vez no implementastes bien o te dejastes algún detalle.

Por mi parte lo que "alego" tanto es que se te pide cierta información y no la proporcionas .. no sé si esperas que se te responda con múltitud de ejemplos y que "alguno funcione" .. Bueno, en ese caso estás en tu derecho (pero dilo simplemente). Mi filosofía es "enseñarte" a ver el problema .. justamente para que en otra ocasión lo puedas resolver tu mismo. Para resolver un "problema" si no hay información no sé como hacerlo.

Un saludo,
  #18 (permalink)  
Antiguo 06/05/2005, 12:28
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
gracias cluster por tu tiempo
el problema es que yo no me manejo muy bien en dbase
mira tengo las tablas y las abro en access como tipo de archivo dbase para leerlas
no tengo ningun programa dbase instalado.
el codigo que te envie lo encontre en la web y lo modifique segun lo que yo entendi.
una tabla que tengo se llama clientes.bdf y los campos codigo y nombre. necesito leer
los campos y mostrarlos en mi lista menu. Estoy trabajando con dreamweaver
Orientame un poco por favor.
Disculpa que se tan duro de entender
atentamente gracias
saludos
  #19 (permalink)  
Antiguo 06/05/2005, 14:15
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
porfavor ayuda
  #20 (permalink)  
Antiguo 06/05/2005, 14:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Cluster
Y que hay de todas las recomendaciones que te hemos dado? .. Has probado todo eso de ir haciendo "echo" de las variables que ahí usas y observar que valores te dán?

Yo no uso dBase como para probar tu código ... y no sé de que te servirá un ejemplo que no es tu caso particular .. (ni la BD te la van a proporcionar tal vez) por eso .. insisto que debes evaluar "como" está funcionando el script (su ejecución) para que veas o veamos el problema concreto. Por eso te sugerí como ir recogiendo datos para ver donde está el problema.

Si haces cambios en tu script .. -debes aportar- el código como te quedó .. tal vez no implementastes bien o te dejastes algún detalle.

Por mi parte lo que "alego" tanto es que se te pide cierta información y no la proporcionas .. no sé si esperas que se te responda con múltitud de ejemplos y que "alguno funcione" .. Bueno, en ese caso estás en tu derecho (pero dilo simplemente). Mi filosofía es "enseñarte" a ver el problema .. justamente para que en otra ocasión lo puedas resolver tu mismo. Para resolver un "problema" si no hay información no sé como hacerlo.

Un saludo,
Ok .. si no te manejas con dBase (yo tampoco lo uso!!!) pero lo que si que podrás hacer para evaluar el problema es lo que te he comentado y que no sé por qué "omites".

Un saludo,
  #21 (permalink)  
Antiguo 06/05/2005, 14:52
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 13 años, 11 meses
Puntos: 2
El q no se quiere ayudar eres tú, muestra bien el código, utiliza [ PHP] código [ /PHP], sin espacios, haz como Cluster te lo ha indicado, un echo por variable q estas usando con dbase, dices q estas trabajando en tú máquina, pues fijate q en el php.ini este configurado para mostrar todos los errores, debería de quedar algo así
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
display_errors = On
postea q es lo q te muestran los echo q haces a cada variable, vé el código fuente de tu página. Usas los array superglobales $_POST, $_GET, y demás.
__________________
Dios dira que esto no es justo, pero lo sera...
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 23:36.