SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
Ver y modificar estructuras


Visualizar la estructura de
                                       Ver la estructura de una tabla utilizando MySQL
una tabla                              La sentencia MySQL que permiten visualizar la estructura de una tabla es la siguiente:

Es posible visualizar la estructura    SHOW FIELDS from nombre de la tabla
de una tabla de dos maneras:
utilizando nuevas funciones de
PHP, o aplicando nuevas                 <?
sentencias MySQL con las                # asignamos a una variable el nombre de la base de datos
funciones ya conocidas.                 $base="ejemplos";
                                        # esta otra recoge el nombre de la tabla
Lectura de resultados de                $tabla="ejemplo1";
sentencias MySQL                        # establecemos la conexión con el servidor
                                        $c=mysql_connect ("localhost","pepe","pepa");
                                        # seleccionamos la base de datos
La sentencia SHOW FIELDS –              mysql_select_db ($base, $c);
como prácticamente ocurre con
todas las sentencias MySQL– no
devuelve los resultados en formato
                                        #ejecutamos mysql_query llamando a la sentencia
legible.                                # SHOW FIELDS

Los resultados devueltos por estas      $resultado=mysql_query( "SHOW FIELDS from $tabla",$c);
sentencias requieren ser
convertidos a un formato que sea        # determinamos el número campos de la tabla
interpretable por PHP.
                                        $numero=mysql_num_rows($resultado);
Esa traducción se realiza de la
siguiente forma:
                                        # Presentamos ese valor númerico
El resultado devuelto por MySQL a
través de una llamada                   print "La tabla tiene $numero campos<br>";
mysql_query() es recogido en
una variable, de la forma siguiente:    # ejecutamos los bucles que comentamos al margen
                                        while($v=mysql_fetch_row ($resultado)){
$r=mysql_query(sent, $c)
                                        foreach($v as $valor) {
El resultado recogido en la variable           echo $valor,"<br>";
$r, está estructurado en líneas y la         }
función:                                }
$t =mysql_fetch_row ($r)

recoge en una variable ($t) el          #####################################################################
contenido de la primera línea y         #        REPETIMOS LA CONSULTA ANTERIOR USANDO AHORA LA             #
coloca su puntero interno al            #              función mysql_fecth_array                              #
comienzo de la línea siguiente. Por     #####################################################################
esta razón la lectura completa del
contenido de la variable $r             #tenemos que VOLVER a EJECUTAR LA SENTENCIA MySQL
requiere llamadas sucesivas a           # porque el puntero está AL FINAL de la ultima línea
mysql_fetch_row hasta que               # de los resultados
haya sido leída la última línea del
resultado de la llamada a MySQL.
                                        $resultado=mysql_query( "SHOW FIELDS from $tabla",$c);
La variable $t tiene estructura de
array escalar siendo cero el            print("<BR> Los resultados con mysql_fech_array<br>");
primero de sus índices.

Cuando el puntero interno de            while($v=mysql_fetch_array($resultado)){
mysql_fetch_row() alcance el            foreach($v as $clave=>$valor) {
final de la última línea del                print ("El indice es: ".$clave." y el valor es: ".$valor."<br>");
resultado devolverá FALSE.
                                             }
Por esa razón, la visualización de      }
los resultados de una sentencia
MySQL suele requerir dos bucles.        ################### la tercera posibilidad comentada
Este es el esquema de la lectura:       ####################################################
$r=mysql_query(inst,$c);                $resultado=mysql_query( "SHOW FIELDS from $tabla",$c);
while($r=mysql_fech_row($r){
                                        # intentaremos explicar este doble bucle con calma
  foreach ($r as $valor){
    print $valor;
                                        /* En los procesos anteriores a cada paso del bucle
  }                                        foreach leiamos un array, lo imprimiamos y sustituiamos
}                                          ese array por uno nuevo

o también                                   Ahora trataremos de recoger todos esos resultados en array
                                            para ello usamos un array bidimensional que renueva
while($r=mysql_fech_row($r){
                                            el primer indice en cada ciclo del bucle while
   $g[]=$t;
                                            de ahi que pongamos el $contador para asignarle
}
                                            el primer indice
con lo que estaríamos creando un            Los segundos indices serán los valores de los indices
array bidimensional con el                  del array $v que recogemos de la petición MySQL
contenido de los resultados de              pero mysql_fetch_array genera dos indices para
cada línea.                                 cada uno de los valores, uno numerico y otro asociativo
                                            asi que filtramos y si el indice es numérico
En este caso el primer índice del
                                            guardamos en el array llamado numerico
array $g seguiría las normas de
creación de arrays y se iría                y si no lo es guardamos el llamado asociativo
autoincrementando en cada ciclo             Tendremos separados en dos array ambos resultados
del bucle while.                            ¿Complicado... ? Es cuestión de analizar con calma */

El ejemplo tiene desarrollados          # pongamos el contador a cero para asegurar
ambos métodos.                          # no hay variables anteriores con el mismo nombre
                                        # y valores distintos
Existe una función alternativa que
mejora las prestaciones de la
anterior. Se trata de:                  $contador=0;
$t =mysql_fetch_array($r)
                                        while($v=mysql_fetch_array($resultado)){
es idéntica en cuanto a su                   foreach ($v as $indice1=>$valor1){
funcionamiento y, además, añade                  if(is_int($indice1)){
una nueva posibilidad ya que los                    $numerica[$contador][$indice1]=$valor1;
arrays que devuelve pueden ser                    }else{
leídos como escalares y también                      $asociativa[$contador][$indice1]=$valor1;
como asociativos. En este último                  }
caso incorporan como índice el               }
nombre del campo de la tabla del
                                                 $contador++;
que se han extraído cada resultado.
                                          }
Respecto a la forma en la que sea       /* vamos a leer los array resultantes
asignan los índices a los array             empecemos por el numerico que al tener
obtenidos mediante consultas a              dos indices requiere dos foreach anidados
tablas, puedes verla en este                el valor del primero será un array
enlace.                                     que extraemos en el segundo */

Otras funciones                         foreach($numerica as $i=>$valor){
informativas                                    foreach ($valor as $j=>$contenido){
                                                 print ("numerico[".$i."][".$j."]=".$contenido."<br>");
                                                     }
mysql_num_fields ($res)                  }
Está función -en la que $res es el
identificador de resultado -            foreach($asociativa as $i=>$valor){
devuelve el número de campos                    foreach ($valor as $j=>$contenido){
de la tabla.                                     print ("asociativo[".$i."][".$j."]=".$contenido."<br>");
                                                     }
mysql_num_rows ($res)                    }
Devuelve el número de registros
que contiene la tabla. Si la tabla
no contiene datos devolverá CERO.       # liberamos memoria borrando de ella el resultado

mysql_field_table($res, 0)              mysql_free_result ($resultado);
Devuelve el nombre de la tabla.         # cerramos la conexion con el servidor
Observa que se pasa con índice 0
ya que esta información parece ser
la primera que aparece en la tabla.
                                        mysql_close($c);
                                        ?>
mysql_field_type($rs, $i)

Nos devuelve el tipo de campo                                           ejemplo164.php
correspondiente a la posición en la
tabla señalada por el índice $i.
Dado que la información de primer
                                       Borrar una tabla
campo está en el índice 0, el
último valor válido de $i será igual     Las sentencias MySQL que permite borrar una tabla son las siguientes:
al número de campos menos uno.         DROP TABLE IF EXISTS from nombre de la tabla

mysql_field_flags($res, $i)            DROP TABLE from nombre de la tabla
                                       la diferencia entre ambas radica en que usando la primera no se generaría ningún error
Nos devuelve los flags del             en el caso de que tratáramos de borrar una tabla inexistente.
campo correspondientes a la
posición en la tabla señalada por el      Aquí tienes el código fuente de un ejemplo:
índice $i. Se comporta igual que la
anterior en lo relativo a los índices.
                                                                        Ver código fuente
mysql_field_len($res, $i)

Nos devuelve la longitud del         Borrar uno de los campos de una tabla
campo correspondiente a la
posición en la tabla señalada por el    La sentencia MySQL que permite borrar uno de los campos de una tabla es la
índice $i. Igual que las anteriores  siguiente:
en lo relativo a los índices.
                                       ALTER TABLE nombre de la tabla DROP nombre deL campo
mysql_field_name($rs, $i)
                                         Es posible modificar la estructura de una tabla -en este caso borrar un campo-
Nos devuelve el nombre del           siguiendo un procedimiento similar a los anteriores.
campo correspondiente a la
posición en la tabla señalada por el    La única diferencia estriba en utilizar la sentencia MySQL adecuada.
índice $i. En lo relativo a los
índices su comportamiento es            Resulta obvio que el campo debe existir para que pueda ser borrado y si no existiera,
idéntico a las anteriores.           es obvio también que se produciría un error.

Liberando memoria                        Aquí tienes el código fuente de un script que borra uno de los campos de una tabla.

Si queremos liberar la parte de la
                                                                        Ver código fuente
memoria que contiene un
identificador de resultado bastará     Añadir un nuevo campo a una tabla
con que insertemos la siguiente
instrucción:                           Las sentencia MySQL que permite añadir un nuevo campo a una tabla es la siguiente:
mysql_free_result($res)
                                       ALTER TABLE nombre de la tabla ADD nombre del campo tipo [flags]
Este proceso debe ser posterior a        El procedimiento es similar a los casos anteriores utilizando esta nueva sentencia
la visualización de los datos.         MySQL.

                                         La sintaxis es similar a la de la creación de tablas: el nombre del campo debe ir
                                       seguido del tipo sin otra separación que el espacio

                                         Aquí tienes el código fuente de un script que añade uno de los campos de una tabla.

                                                                        Ver código fuente
Anterior   Indice   Siguiente

Más contenido relacionado

La actualidad más candente

Comandos y funciones sql postgres
Comandos y funciones sql postgresComandos y funciones sql postgres
Comandos y funciones sql postgres
HIPOLITO GRULLON
 
Seleccion de datos_sql_2005
Seleccion de datos_sql_2005Seleccion de datos_sql_2005
Seleccion de datos_sql_2005
zankero
 
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
José M. Padilla
 
Unidad vi vii dml select
Unidad vi vii dml selectUnidad vi vii dml select
Unidad vi vii dml select
Orlando Verdugo
 
Como realizar consultas en sql (Unidad 3)
Como realizar consultas en sql (Unidad 3)Como realizar consultas en sql (Unidad 3)
Como realizar consultas en sql (Unidad 3)
Orlando Verdugo
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
testgrupocomex
 
50 Php. Funciones Que Devuelven Valores
50 Php. Funciones Que Devuelven Valores50 Php. Funciones Que Devuelven Valores
50 Php. Funciones Que Devuelven Valores
José M. Padilla
 

La actualidad más candente (20)

Oracle pl sql
Oracle pl sqlOracle pl sql
Oracle pl sql
 
Comandos y funciones sql postgres
Comandos y funciones sql postgresComandos y funciones sql postgres
Comandos y funciones sql postgres
 
Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
 
2 6 validar_formularios
2 6 validar_formularios2 6 validar_formularios
2 6 validar_formularios
 
Seleccion de datos_sql_2005
Seleccion de datos_sql_2005Seleccion de datos_sql_2005
Seleccion de datos_sql_2005
 
Perl2 arrays
Perl2 arraysPerl2 arrays
Perl2 arrays
 
Seleccion de datos_sql_2005
Seleccion de datos_sql_2005Seleccion de datos_sql_2005
Seleccion de datos_sql_2005
 
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
 
PostgreSQL - Lección 9 - Tablas
PostgreSQL - Lección 9 - TablasPostgreSQL - Lección 9 - Tablas
PostgreSQL - Lección 9 - Tablas
 
Unidad vi vii dml select
Unidad vi vii dml selectUnidad vi vii dml select
Unidad vi vii dml select
 
Como realizar consultas en sql (Unidad 3)
Como realizar consultas en sql (Unidad 3)Como realizar consultas en sql (Unidad 3)
Como realizar consultas en sql (Unidad 3)
 
Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)
 
Arrays en PHP y Funciones de Mysql
Arrays en PHP y Funciones de MysqlArrays en PHP y Funciones de Mysql
Arrays en PHP y Funciones de Mysql
 
2 3 arrays_php
2 3 arrays_php2 3 arrays_php
2 3 arrays_php
 
Actualización de bases de datos en MySQL
Actualización de bases de datos en MySQLActualización de bases de datos en MySQL
Actualización de bases de datos en MySQL
 
Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
SQL-DDL
SQL-DDLSQL-DDL
SQL-DDL
 
50 Php. Funciones Que Devuelven Valores
50 Php. Funciones Que Devuelven Valores50 Php. Funciones Que Devuelven Valores
50 Php. Funciones Que Devuelven Valores
 
Estadística con Lenguaje R: Sesión 8
Estadística con Lenguaje R: Sesión 8Estadística con Lenguaje R: Sesión 8
Estadística con Lenguaje R: Sesión 8
 

Destacado

Jugar A El Profesor
Jugar A El ProfesorJugar A El Profesor
Jugar A El Profesor
guest88e80e6
 
Campaña Navidad Freedom Finance
Campaña Navidad Freedom FinanceCampaña Navidad Freedom Finance
Campaña Navidad Freedom Finance
Borja Pascual
 
Como montar una red inalambrica ad hoc
Como montar una red inalambrica ad hocComo montar una red inalambrica ad hoc
Como montar una red inalambrica ad hoc
Diego suarez murillo
 
Propuesta del doctorado ing. TEC-UCR
Propuesta del doctorado ing. TEC-UCRPropuesta del doctorado ing. TEC-UCR
Propuesta del doctorado ing. TEC-UCR
Freelance
 
Presentacion Plan Minimo De Trabajo Abogado Jorge Garcia 19 Enero 2010
Presentacion Plan Minimo De Trabajo Abogado Jorge Garcia 19 Enero 2010Presentacion Plan Minimo De Trabajo Abogado Jorge Garcia 19 Enero 2010
Presentacion Plan Minimo De Trabajo Abogado Jorge Garcia 19 Enero 2010
Jorge Garcia
 
Nuestro Lugar En El Universo
Nuestro Lugar En El UniversoNuestro Lugar En El Universo
Nuestro Lugar En El Universo
carlos soroa
 
Adolecentes
AdolecentesAdolecentes
Adolecentes
gurzita
 
Pancreatitis aguda copia (1)
Pancreatitis aguda   copia (1)Pancreatitis aguda   copia (1)
Pancreatitis aguda copia (1)
zener
 
16 Php. Variables Predefinidas
16 Php. Variables Predefinidas16 Php. Variables Predefinidas
16 Php. Variables Predefinidas
José M. Padilla
 
Diptongo Y Triptongo
Diptongo Y TriptongoDiptongo Y Triptongo
Diptongo Y Triptongo
guestab1fcf
 
la alcaldia y el sena por una medellin solidaria
la alcaldia y el sena por una medellin solidariala alcaldia y el sena por una medellin solidaria
la alcaldia y el sena por una medellin solidaria
senaenmibarrio
 
Los Animalespowe Point
Los Animalespowe PointLos Animalespowe Point
Los Animalespowe Point
Lucialopez
 

Destacado (20)

Jugar A El Profesor
Jugar A El ProfesorJugar A El Profesor
Jugar A El Profesor
 
Campaña Navidad Freedom Finance
Campaña Navidad Freedom FinanceCampaña Navidad Freedom Finance
Campaña Navidad Freedom Finance
 
C:\Fakepath\Naturales Repollo
C:\Fakepath\Naturales RepolloC:\Fakepath\Naturales Repollo
C:\Fakepath\Naturales Repollo
 
Quimica blins
Quimica blinsQuimica blins
Quimica blins
 
La Hormiga Atomica
La Hormiga AtomicaLa Hormiga Atomica
La Hormiga Atomica
 
Como montar una red inalambrica ad hoc
Como montar una red inalambrica ad hocComo montar una red inalambrica ad hoc
Como montar una red inalambrica ad hoc
 
Propuesta del doctorado ing. TEC-UCR
Propuesta del doctorado ing. TEC-UCRPropuesta del doctorado ing. TEC-UCR
Propuesta del doctorado ing. TEC-UCR
 
Presentacion Plan Minimo De Trabajo Abogado Jorge Garcia 19 Enero 2010
Presentacion Plan Minimo De Trabajo Abogado Jorge Garcia 19 Enero 2010Presentacion Plan Minimo De Trabajo Abogado Jorge Garcia 19 Enero 2010
Presentacion Plan Minimo De Trabajo Abogado Jorge Garcia 19 Enero 2010
 
Proyecto Final Gaby Diany
Proyecto Final Gaby DianyProyecto Final Gaby Diany
Proyecto Final Gaby Diany
 
Cena De Nav
Cena De NavCena De Nav
Cena De Nav
 
Redes Clase4
Redes Clase4Redes Clase4
Redes Clase4
 
Nuestro Lugar En El Universo
Nuestro Lugar En El UniversoNuestro Lugar En El Universo
Nuestro Lugar En El Universo
 
Adolecentes
AdolecentesAdolecentes
Adolecentes
 
Taller
TallerTaller
Taller
 
Pancreatitis aguda copia (1)
Pancreatitis aguda   copia (1)Pancreatitis aguda   copia (1)
Pancreatitis aguda copia (1)
 
16 Php. Variables Predefinidas
16 Php. Variables Predefinidas16 Php. Variables Predefinidas
16 Php. Variables Predefinidas
 
Diptongo Y Triptongo
Diptongo Y TriptongoDiptongo Y Triptongo
Diptongo Y Triptongo
 
la alcaldia y el sena por una medellin solidaria
la alcaldia y el sena por una medellin solidariala alcaldia y el sena por una medellin solidaria
la alcaldia y el sena por una medellin solidaria
 
En recuerdo de Mons. Javier Echevarría
En recuerdo de Mons. Javier EchevarríaEn recuerdo de Mons. Javier Echevarría
En recuerdo de Mons. Javier Echevarría
 
Los Animalespowe Point
Los Animalespowe PointLos Animalespowe Point
Los Animalespowe Point
 

Similar a 82 Php. Ver Y Modificar Estructuras (20)

42 Php. Bucles Foreach
42 Php. Bucles Foreach42 Php. Bucles Foreach
42 Php. Bucles Foreach
 
53 Php. Clases Y Objetos
53 Php. Clases Y Objetos53 Php. Clases Y Objetos
53 Php. Clases Y Objetos
 
17 Php. Otras Variables
17 Php. Otras Variables17 Php. Otras Variables
17 Php. Otras Variables
 
26 Php. Array Escalar Y Asociativo
26 Php. Array Escalar Y Asociativo26 Php. Array Escalar Y Asociativo
26 Php. Array Escalar Y Asociativo
 
Ejemplos de php_mysql
Ejemplos de php_mysqlEjemplos de php_mysql
Ejemplos de php_mysql
 
Perl (practical extraction and report language)
Perl (practical extraction and report language)Perl (practical extraction and report language)
Perl (practical extraction and report language)
 
Perl3 subrutinas
Perl3 subrutinasPerl3 subrutinas
Perl3 subrutinas
 
48 Php. Modificacion De Arrays
48 Php. Modificacion De Arrays48 Php. Modificacion De Arrays
48 Php. Modificacion De Arrays
 
Presentación1
Presentación1Presentación1
Presentación1
 
Funcionesphpmysql
FuncionesphpmysqlFuncionesphpmysql
Funcionesphpmysql
 
Funcionesphp
FuncionesphpFuncionesphp
Funcionesphp
 
Gustavo php
Gustavo phpGustavo php
Gustavo php
 
Arreglos php
Arreglos phpArreglos php
Arreglos php
 
Cuaderno 1
Cuaderno 1Cuaderno 1
Cuaderno 1
 
Matrices en php diaspositivas
Matrices en php diaspositivasMatrices en php diaspositivas
Matrices en php diaspositivas
 
Práctica sql server [fbdr]
Práctica sql server [fbdr]Práctica sql server [fbdr]
Práctica sql server [fbdr]
 
Php
PhpPhp
Php
 
PHP: Arrays
PHP: ArraysPHP: Arrays
PHP: Arrays
 
Descubriendo scala
Descubriendo scalaDescubriendo scala
Descubriendo scala
 
Ensayo iv
Ensayo ivEnsayo iv
Ensayo iv
 

Más de José M. Padilla

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
José M. Padilla
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0
José M. Padilla
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busqueda
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
José M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
José M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
José M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
José M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
José M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
José M. Padilla
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
José M. Padilla
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.
José M. Padilla
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20
José M. Padilla
 

Más de José M. Padilla (20)

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busqueda
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

82 Php. Ver Y Modificar Estructuras

  • 1. Ver y modificar estructuras Visualizar la estructura de Ver la estructura de una tabla utilizando MySQL una tabla La sentencia MySQL que permiten visualizar la estructura de una tabla es la siguiente: Es posible visualizar la estructura SHOW FIELDS from nombre de la tabla de una tabla de dos maneras: utilizando nuevas funciones de PHP, o aplicando nuevas <? sentencias MySQL con las # asignamos a una variable el nombre de la base de datos funciones ya conocidas. $base="ejemplos"; # esta otra recoge el nombre de la tabla Lectura de resultados de $tabla="ejemplo1"; sentencias MySQL # establecemos la conexión con el servidor $c=mysql_connect ("localhost","pepe","pepa"); # seleccionamos la base de datos La sentencia SHOW FIELDS – mysql_select_db ($base, $c); como prácticamente ocurre con todas las sentencias MySQL– no devuelve los resultados en formato #ejecutamos mysql_query llamando a la sentencia legible. # SHOW FIELDS Los resultados devueltos por estas $resultado=mysql_query( "SHOW FIELDS from $tabla",$c); sentencias requieren ser convertidos a un formato que sea # determinamos el número campos de la tabla interpretable por PHP. $numero=mysql_num_rows($resultado); Esa traducción se realiza de la siguiente forma: # Presentamos ese valor númerico El resultado devuelto por MySQL a través de una llamada print "La tabla tiene $numero campos<br>"; mysql_query() es recogido en una variable, de la forma siguiente: # ejecutamos los bucles que comentamos al margen while($v=mysql_fetch_row ($resultado)){ $r=mysql_query(sent, $c) foreach($v as $valor) { El resultado recogido en la variable echo $valor,"<br>"; $r, está estructurado en líneas y la } función: } $t =mysql_fetch_row ($r) recoge en una variable ($t) el ##################################################################### contenido de la primera línea y # REPETIMOS LA CONSULTA ANTERIOR USANDO AHORA LA # coloca su puntero interno al # función mysql_fecth_array # comienzo de la línea siguiente. Por ##################################################################### esta razón la lectura completa del contenido de la variable $r #tenemos que VOLVER a EJECUTAR LA SENTENCIA MySQL requiere llamadas sucesivas a # porque el puntero está AL FINAL de la ultima línea mysql_fetch_row hasta que # de los resultados haya sido leída la última línea del resultado de la llamada a MySQL. $resultado=mysql_query( "SHOW FIELDS from $tabla",$c); La variable $t tiene estructura de array escalar siendo cero el print("<BR> Los resultados con mysql_fech_array<br>"); primero de sus índices. Cuando el puntero interno de while($v=mysql_fetch_array($resultado)){ mysql_fetch_row() alcance el foreach($v as $clave=>$valor) { final de la última línea del print ("El indice es: ".$clave." y el valor es: ".$valor."<br>"); resultado devolverá FALSE. } Por esa razón, la visualización de } los resultados de una sentencia MySQL suele requerir dos bucles. ################### la tercera posibilidad comentada Este es el esquema de la lectura: #################################################### $r=mysql_query(inst,$c); $resultado=mysql_query( "SHOW FIELDS from $tabla",$c); while($r=mysql_fech_row($r){ # intentaremos explicar este doble bucle con calma foreach ($r as $valor){ print $valor; /* En los procesos anteriores a cada paso del bucle } foreach leiamos un array, lo imprimiamos y sustituiamos } ese array por uno nuevo o también Ahora trataremos de recoger todos esos resultados en array para ello usamos un array bidimensional que renueva while($r=mysql_fech_row($r){ el primer indice en cada ciclo del bucle while $g[]=$t; de ahi que pongamos el $contador para asignarle } el primer indice con lo que estaríamos creando un Los segundos indices serán los valores de los indices array bidimensional con el del array $v que recogemos de la petición MySQL contenido de los resultados de pero mysql_fetch_array genera dos indices para cada línea. cada uno de los valores, uno numerico y otro asociativo asi que filtramos y si el indice es numérico En este caso el primer índice del guardamos en el array llamado numerico array $g seguiría las normas de creación de arrays y se iría y si no lo es guardamos el llamado asociativo autoincrementando en cada ciclo Tendremos separados en dos array ambos resultados del bucle while. ¿Complicado... ? Es cuestión de analizar con calma */ El ejemplo tiene desarrollados # pongamos el contador a cero para asegurar ambos métodos. # no hay variables anteriores con el mismo nombre # y valores distintos Existe una función alternativa que mejora las prestaciones de la
  • 2. anterior. Se trata de: $contador=0; $t =mysql_fetch_array($r) while($v=mysql_fetch_array($resultado)){ es idéntica en cuanto a su foreach ($v as $indice1=>$valor1){ funcionamiento y, además, añade if(is_int($indice1)){ una nueva posibilidad ya que los $numerica[$contador][$indice1]=$valor1; arrays que devuelve pueden ser }else{ leídos como escalares y también $asociativa[$contador][$indice1]=$valor1; como asociativos. En este último } caso incorporan como índice el } nombre del campo de la tabla del $contador++; que se han extraído cada resultado. } Respecto a la forma en la que sea /* vamos a leer los array resultantes asignan los índices a los array empecemos por el numerico que al tener obtenidos mediante consultas a dos indices requiere dos foreach anidados tablas, puedes verla en este el valor del primero será un array enlace. que extraemos en el segundo */ Otras funciones foreach($numerica as $i=>$valor){ informativas foreach ($valor as $j=>$contenido){ print ("numerico[".$i."][".$j."]=".$contenido."<br>"); } mysql_num_fields ($res) } Está función -en la que $res es el identificador de resultado - foreach($asociativa as $i=>$valor){ devuelve el número de campos foreach ($valor as $j=>$contenido){ de la tabla. print ("asociativo[".$i."][".$j."]=".$contenido."<br>"); } mysql_num_rows ($res) } Devuelve el número de registros que contiene la tabla. Si la tabla no contiene datos devolverá CERO. # liberamos memoria borrando de ella el resultado mysql_field_table($res, 0) mysql_free_result ($resultado); Devuelve el nombre de la tabla. # cerramos la conexion con el servidor Observa que se pasa con índice 0 ya que esta información parece ser la primera que aparece en la tabla. mysql_close($c); ?> mysql_field_type($rs, $i) Nos devuelve el tipo de campo ejemplo164.php correspondiente a la posición en la tabla señalada por el índice $i. Dado que la información de primer Borrar una tabla campo está en el índice 0, el último valor válido de $i será igual Las sentencias MySQL que permite borrar una tabla son las siguientes: al número de campos menos uno. DROP TABLE IF EXISTS from nombre de la tabla mysql_field_flags($res, $i) DROP TABLE from nombre de la tabla la diferencia entre ambas radica en que usando la primera no se generaría ningún error Nos devuelve los flags del en el caso de que tratáramos de borrar una tabla inexistente. campo correspondientes a la posición en la tabla señalada por el Aquí tienes el código fuente de un ejemplo: índice $i. Se comporta igual que la anterior en lo relativo a los índices. Ver código fuente mysql_field_len($res, $i) Nos devuelve la longitud del Borrar uno de los campos de una tabla campo correspondiente a la posición en la tabla señalada por el La sentencia MySQL que permite borrar uno de los campos de una tabla es la índice $i. Igual que las anteriores siguiente: en lo relativo a los índices. ALTER TABLE nombre de la tabla DROP nombre deL campo mysql_field_name($rs, $i) Es posible modificar la estructura de una tabla -en este caso borrar un campo- Nos devuelve el nombre del siguiendo un procedimiento similar a los anteriores. campo correspondiente a la posición en la tabla señalada por el La única diferencia estriba en utilizar la sentencia MySQL adecuada. índice $i. En lo relativo a los índices su comportamiento es Resulta obvio que el campo debe existir para que pueda ser borrado y si no existiera, idéntico a las anteriores. es obvio también que se produciría un error. Liberando memoria Aquí tienes el código fuente de un script que borra uno de los campos de una tabla. Si queremos liberar la parte de la Ver código fuente memoria que contiene un identificador de resultado bastará Añadir un nuevo campo a una tabla con que insertemos la siguiente instrucción: Las sentencia MySQL que permite añadir un nuevo campo a una tabla es la siguiente: mysql_free_result($res) ALTER TABLE nombre de la tabla ADD nombre del campo tipo [flags] Este proceso debe ser posterior a El procedimiento es similar a los casos anteriores utilizando esta nueva sentencia la visualización de los datos. MySQL. La sintaxis es similar a la de la creación de tablas: el nombre del campo debe ir seguido del tipo sin otra separación que el espacio Aquí tienes el código fuente de un script que añade uno de los campos de una tabla. Ver código fuente
  • 3. Anterior Indice Siguiente