1
0
mirror of https://github.com/php/doc-es.git synced 2026-04-26 08:38:05 +02:00
Files
archived-doc-es/reference/paradox/functions/px-insert-record.xml
T
Jesus Ruiz Garcia 8b0dfb3bd9 Traducidos
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@307113 c90b9560-bf6c-de11-be94-00142212c4b1
2011-01-05 12:12:26 +00:00

169 lines
5.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jesusruiz Status: ready -->
<!-- splitted from ./en/functions/paradox.xml, last change in rev -->
<refentry xml:id="function.px-insert-record" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>px_insert_record</refname>
<refpurpose>Inserta registro en base de datos paradox</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>px_insert_record</methodname>
<methodparam><type>resource</type><parameter>pxdoc</parameter></methodparam>
<methodparam><type>array</type><parameter>data</parameter></methodparam>
</methodsynopsis>
<para>
Inserta un nuevo registro en la base de datos. El registro no será necesariamente
insertado al final de la base de datos, puede ser insertado en cualquier
posición dependiendo en donde se encuentre la primera ranura libre.
</para>
<para>
Los datos del registro se pasan como una matriz de valores de campo. Los elementos en
la matriz debe corresponder a los campos de la base de datos. Si la matriz
tiene menos elementos que los campos en la base de datos, los campos restantes
se establecerán a null.
</para>
<para>
La mayoría de los valores de campo se puede pasar como su tipo php equivalente, por ejemplo,
un valor long se utiliza para campos de tipo PX_FIELD_LONG, PX_FIELD_SHORT y
PX_FIELD_AUTOINC, un valor double se utiliza para campos de tipo
PX_FIELD_CURRENCY y PX_FIELD_NUMBER.
Los valores de campo para los campos blob y alfa se pasan como cadenas.
</para>
<para>
Los campos de tipo PX_FIELD_TIME y PX_FIELD_DATE requieren ambos un valor
long. En el primer caso este es el número de milisegundos desde la
medianoche. En el segundo caso es el número de días desde el 1.1.0000.
A continuación hay dos ejemplos para convertir la fecha actual o marca de tiempo
en un valor adecuado para unos campos de fecha/hora en paradox.
</para>
<note>
<para>
Esta función sólo está disponible si se utiliza pxlib &gt;= 0.6.0.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>pxdoc</parameter></term>
<listitem>
<para>
Identificador de recursos de la base de datos paradox
devuelto por la función <function>px_new</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data</parameter></term>
<listitem>
<para>
Matriz asociado o indexada que contiene los valores de campo como, por ejemplo,
devuelto por la función <function>px_retrieve_record</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve &false; en caso de fallo o el número de registro en caso de éxito.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Establece los campos fecha/hora en una base de datos paradox a la fecha/hora
actual</title>
<programlisting role="php">
<![CDATA[
<?php
$px = px_new();
$fp = fopen("test.db", "w+");
px_create_fp($px, $fp, array(array("timestamp", "@"), array("time", "T"), array("date", "D")));
$curdate = getdate();
$jd = gregoriantojd($curdate["mon"], $curdate["mday"], $curdate["year"]);
$days = $jd - 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
$secs = $curdate["hours"]*3600 + $curdate["minutes"]*60 + $curdate["seconds"];
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));
$curtimestamp = microtime(true);
$days = (int) ($curtimestamp/86400);
$secs = $curtimestamp - ($days * 86400.0);
$days += 2440588; /* Number of days between 1.1.4714 b.c. and 1.1.1970 */
$days -= 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));
for($i=0; $i<2; $i++) {
$rec = px_retrieve_record($px, $i);
echo px_timestamp2string($px, $rec["timestamp"], "n/d/Y H:i:s")."\n";
echo px_date2string($px, $rec["date"], "n/d/Y")."\n";
}
px_close($px);
px_delete($px);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
2/21/2006 21:42:30
2/21/2006
2/21/2006 20:42:30
2/21/2006
]]>
</screen>
</example>
</para>
<para>
La cuenta de la fecha juliana pasada a la función <function>jdtogregorian</function>
tiene una base diferente de 1.1.4714 a. C. y por lo tanto debe calcularse
añadiendo 1721425 a la cuenta de días utilizados en el archivo paradox. En cuanto
el número de días en una fecha y hora se hace fácilmente multiplicando por
86400000.0 para obtener milisegundos.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<function>px_update_record</function>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->