Foros del Web » Programando para Internet » PHP »

Oracle y php

Estas en el tema de Oracle y php en el foro de PHP en Foros del Web. Hola buen día!!, soy nueva en esto de la programación en Oracle y php, mi problema es el siguiente: tengo este código que me muestra ...
  #1 (permalink)  
Antiguo 07/11/2012, 11:15
 
Fecha de Ingreso: octubre-2012
Mensajes: 1
Antigüedad: 11 años, 5 meses
Puntos: 0
Oracle y php

Hola buen día!!, soy nueva en esto de la programación en Oracle y php, mi problema es el siguiente:
tengo este código que me muestra los datos que tengo almacenados en mi bd:
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Centros de Trabajo-RCCL</title>
  5. </head>
  6. <?PHP
  7. include("encabezado.php");
  8. include("menu.html");
  9. include("conectar.php");
  10.    //Declaración de sentencia SQL para seleccionar los datos
  11.     $stid = oci_parse($conn, 'select * from TBLCENTROTRABAJO order by PKNCENTROTRABAJO');
  12.      //Ejecuta la sentencia SQL
  13.       oci_execute($stid);
  14.        //Saltos de línea
  15.        echo "<br />";
  16.         echo "<br />";
  17.         echo "<br />";
  18.         echo "<br />";
  19.          //Creación de la tabla para mostrar los datos
  20.           echo "<table width=1101 border=1 align=center>";
  21.           echo "<tr>";
  22.           echo "<td colspan=3><div align=center>ACCION</div></td>";
  23.           echo "<td width=170><div align=center>CENTRO DE TRABAJO</div></td>";
  24.           echo "<td width=515><div align=center>NOMBRE LARGO</div></td>";
  25.           echo  "<td width=301><div align=center>NOMBRE CORTO</div></td>";
  26.             echo "</tr>";
  27.            //Creación de arreglo y condición de para que los datos sean en mayúsculas
  28.               while (($row = oci_fetch_array($stid, OCI_BOTH))) {
  29.             //Parte de la tabla que contiene los botones para realizar la acción de nuevo,modificar y eliminar
  30.               echo "<tr>";
  31.             echo "<form id=form1 name=form1 method=post action=Ncentrotrabajo1.php>";
  32.             echo "<td><input type=submit name=Submit value=Nuevo></td>";
  33.             echo "</form>";
  34.             echo "<form id=form1 name=form1 method=post action=1.php>";
  35.             echo "<td><input type=submit name=Submit value=Modificar></td>";
  36.             echo "</form>";
  37.             echo "<form id=form1 name=form1 method=post action=2.php>";
  38.             echo "<td><input type=submit name=Submit value=Eliminar></td>";
  39.             echo "</form>";
  40.              //Imprime los datos contenidos en la base de datos
  41.              echo "<td><div align=center>";
  42.              echo $row[0];
  43.              echo "</div></td>";
  44.              echo "<td><div align=center>";
  45.              echo $row[1];
  46.              echo "</div></td>";
  47.              echo "<td><div align=center>";
  48.              echo $row[2];
  49.              echo "</div><tr>";
  50.              echo "</td>";
  51.            }//Fin del arreglo y de la condición para imprimir en mayúsculas
  52.          //Cierre de la tabla
  53.          echo "</table>";
  54.      //Liberación de recursos recibidos del resultado de oci_parse()
  55.      oci_free_statement($stid);
  56. //Cierre de la conexión
  57. oci_close($conn);
  58. ?>
  59. </body>
  60. </html>

Lo que necesito hacer es que al oprimir el botón borrar me borre el dato
mi código de eliminar es el siguiente
Código MySQL:
Ver original
  1. <?PHP
  2. session_start();
  3. //Se establece la conexion con la base de datos
  4. include("conectar.php");
  5. $var1 = $_POST[$row[0]];
  6. $stid = oci_parse($conn, "delete from TBLCENTROTRABAJO where PKNCENTROTRABAJO='$var1'");
  7.    $result=oci_execute($stid);
  8.  
  9.         //Ejecutar la sentencia para insertar    
  10.         if ($result){
  11.         echo "<script> alert ('¡FILA eliminada EXITOSAMENTE!');
  12.         </script>";
  13.         echo "<meta http-equiv='refresh' content='0; url=Mcentrotrabajo.php'>";
  14.         }
  15.         else{
  16.         echo "<script> alert ('¡ERROR AL eliminar EL NUEVO DATO!');
  17.         </script>";
  18.          echo "<meta http-equiv='refresh' content='0; url=Mcentrotrabajo.php'>";
  19.         }
  20. //liberación        
  21. oci_free_statement($stid);
  22. //Cierre de la conexión
  23. oci_close($conn);
  24. ?>
pero no me borra el dato, porfavor espero me ayuden,me urge

Última edición por gnzsoloyo; 08/11/2012 a las 21:11 Razón: Sin etiquetar.
  #2 (permalink)  
Antiguo 08/11/2012, 21:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Oracle y php

Mira, en principio, la sentencia está correctamente escrita, por lo que no es asunto de Oracle, ni del SQL. Sólo queda suponer que hay un error de programación en el PHP, pero eso es off topic de este foro.
Con tu permiso, paso tu tema al Foro de PHP para que lo analicen allí.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 08/11/2012, 22:07
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: Oracle y php

1- Porke ejecutas el codigo HTML con PHP ?? es mas eficiente, organizado y optimo cada uno por su parte.

2- En tus form tienes varios errores.
Porke usas el mismo id para 3 forms diferentes, deberias usar class.
Porke los 3 forms tienen el mismo nombre ? form1.
Porke ninguno de los atributos estan entre comillas ?? deberia ser id="nombre" name="nombre" mehtod="post" action="pag.php"
Lo mismo para los input type="submit" name="Submit" value="Nuevo"
Esto es una de las cosas ke pasan cuando se mezcla PHP con HTML ke se hace mas dificil leer y detectar error porke lo tienes todo pasando como string y no te sennaliza adecuadamente para detectar errors a primera vista.

<form id=form1 name=form1 method=post action=Ncentrotrabajo1.php>
<input type=submit name=Submit value=Nuevo>
</form>

<form id=form1 name=form1 method=post action=1.php>
<input type=submit name=Submit value=Modificar>
</form>

<form id=form1 name=form1 method=post action=2.php>
<input type=submit name=Submit value=Eliminar>
</form>

Ke valor vas a pasar en estos formularios, esta completamente vacio. no hay valores solo el del boton.

3- porke si vas a tratar el array del resultado numericamente le haces el fetch por los dos, asociativos y numeros oci_fetch_array($stid, OCI_BOTH), lo trataras numerico oci_fetch_array($stid, OCI_NUM)

4- Ke intentas hacer aki ??? $var1 = $_POST[$row[0]]; No estaras tratando de recibir el valor de $row[0] de tu script resultado de la consulta de la otra pagina ?? Creo ke si. ERROR esto no funcionara nunca.

5- Porke usas letras mayusculas en ocasiones como <?PHP o ELSE

6- Por ultimo no veo la coneccion a tu base de datos. pero supongo ke la tengas por alguna parte.

Por otra parte te felicito por usar ORACLE con PHP me gusta esa combinacion y trabaja muy bien, al fin veo a alguien ke lo usa.

te dejo el link de un libro publicado por la gente de oracle sobre php con oracle esta libre para descargarlo
http://www.oracle.com/technetwork/to...al-098250.html

Última edición por rolygc; 08/11/2012 a las 22:18

Etiquetas: oracle, select, sql, tabla
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:58.