mirror of
https://github.com/php/doc-es.git
synced 2026-04-26 08:38:05 +02:00
8b0dfb3bd9
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@307113 c90b9560-bf6c-de11-be94-00142212c4b1
169 lines
5.4 KiB
XML
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 >= 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
|
|
-->
|
|
|