Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta Php MySql

Estas en el tema de Consulta Php MySql en el foro de PHP en Foros del Web. Hola Gente: Disculpen si la consulta no va acá pero soy nuevo en el foro. Estoy tratando de hacer un abm, en php, con MySql, ...
  #1 (permalink)  
Antiguo 29/12/2014, 16:56
 
Fecha de Ingreso: diciembre-2014
Ubicación: Wheelwright - Santa Fe
Mensajes: 2
Antigüedad: 9 años, 4 meses
Puntos: 0
Consulta Php MySql

Hola Gente:
Disculpen si la consulta no va acá pero soy nuevo en el foro.
Estoy tratando de hacer un abm, en php, con MySql, me bajé el siguiente ejemplo:

http://www.forosdelweb.com/f18/abm-alta-baja-modificacion-php-839137/

Lo hice funcionar, el problema lo tengo cuando quiero adaptarlo a mi base de datos.
He logrado que se conecte a la base y me liste los registros.
Sinceramente no sé cómo dar de alta un registro, parecería que tengo un problema de variables. El ejemplo trabaja con dos solamente. Hace ya unos cuantos días que intento hacerlo funcionar pero no puedo. Me genera error al intentar grabar los datos en la tabla. Me dice que la variable no existe. Es probable que el problema sea que son datos alfanuméricos y numéricos. Agradecería cualquier tipo de ayuda.
Desde ya muchas gracias.
Saludos
Carlos
  #2 (permalink)  
Antiguo 30/12/2014, 12:12
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Consulta Php MySql

Hola Carlos, necesitas postear el código para que podamos darte alguna vía de solución. Lamentablemente no somos adivinos ( aún).
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 30/12/2014, 17:12
 
Fecha de Ingreso: diciembre-2014
Ubicación: Wheelwright - Santa Fe
Mensajes: 2
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Consulta Php MySql

Hola h2swider,

Disculpame, acá va.

abm.php

<html>
<head>
<!-- de acuerdo al contenido de la variable "accion", escribimos el título -->
<?php
if ($_GET["accion"] == "alta")
echo "<title>" . "Alta de Alumnos" . "</title>";

if ($_GET["accion"] == "baja")
echo "<title>" . "Baja de Alumno" . "</title>";

if ($_GET["accion"] == "modificacion")
echo "<title>" . "Modificaci&oacute;n de Alumnos" . "</title>";
?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body {
background-color: #00CCFF;
}
-->
</style></head>

<body>

<?php
// Acá mostramos la pantalla de carga de ALTAS.
if ($_GET["accion"] == "alta")
{
echo "<h1>Agregar un Alumno</h1>";
echo "<br>";
echo "<FORM ACTION=\"abm.php\" METHOD=\"GET\">";
echo "dni: " . "<INPUT TYPE=\"TEXT\" NAME=\"txtId\">" . "<BR>";
echo "<BR>";
echo "Apellido y Nombre: " . "<INPUT TYPE=\"TEXT\" NAME=\"txtname\">" . "<BR>";
echo "<BR>";
echo "Id Promo: " . "<INPUT TYPE=\"TEXT\" NAME=\"txtname\">" . "<BR>";

echo "<BR>";
echo "<INPUT TYPE=\"submit\" NAME=\"OK\">";
echo "<INPUT TYPE=\"hidden\" NAME=\"accion\" VALUE=\"realizar_alta\">";
echo "</FORM>";

echo "<br>" . "<a href=\"/\">Volver al menú</a>";

exit();
}
?>

<?php
// Acá, en base a los datos recibidos (nombre, telefono, direccion, etc), hacemos el alta.
if ($_GET["accion"] == "realizar_alta")
{
include("sql.php");

$nombre = $_GET["txtname"];
alta ($nombre);

echo "<br>" . "<a href=\"/\">Volver al menú</a>";
}
?>

<?php
//Acá solicitamos el Dni para poder modificar el registro.
if ($_GET["accion"] == "modificacion")
{
echo "<h1>Modificar un registro</h1>";
echo "<br>";
echo "<FORM ACTION=\"abm.php\" METHOD=\"GET\">";
echo "dni: " . "<INPUT TYPE=\"TEXT\" NAME=\"txtId\">" . "<BR>";
echo "<INPUT TYPE=\"hidden\" NAME=\"accion\" VALUE=\"datos_modificacion\">";
echo "</FORM>";

echo "<br>" . "<a href=\"/\">Volver al menú</a>";

exit();
}
?>


<?php
// Acá, en base al dni recibido, pedimos los datos para MODIFICAR.
if ($_GET["accion"] == "datos_modificacion")
{
include("sql.php");

//me conecto a la BD y SELECCIONO el registro cuyo dni fue pasado.
$conexion = Conectarse();

if (!$conexion)
{
echo "<h1>Error al intentar conectar a BD</h1>";
echo "<br>" . "<a href=\"/\">Volver al menú</a>";
exit();
}

$dni = $_GET["txtId"];
$consulta = "SELECT * FROM tabla WHERE dni = $dni";

echo $consulta . "<br>";

$resultado = mysql_query($consulta, $conexion);

$fila = mysql_fetch_array($resultado);

if (!$fila)
{
echo "<h1>Alumno inexistente</h1>";
echo "<br>" . "<a href=\"/\">Volver al menú</a>";
exit();
}

//cargo los datos del registro en variables para que sea más cómodo trabajar.

$name = $fila["name"];

//liberamos memoria que ocupa la consulta...
mysql_free_result($resultado);

//cerramos la conexión con el motor de BD
mysql_close($conexion);

/*
ahora que teóricamente tengo los datos del registro que quiero modificar, muestro
el formulario de carga.
*/
echo "<h1>Modificar datos alumnos</h1>";
echo "<br>";
echo "<FORM ACTION=\"abm.php\" METHOD=\"GET\">";
echo "name: " . "<INPUT TYPE=\"TEXT\" NAME=\"txtname\" VALUE=\"$name\">" . "<BR>";

echo "<BR>";
echo "<INPUT TYPE=\"submit\" NAME=\"submit\">";
echo "<INPUT TYPE=\"hidden\" NAME=\"accion\" VALUE=\"realizar_modificacion\">";
echo "<INPUT TYPE=\"hidden\" NAME=\"dni\" VALUE=\"$id\">";
echo "</FORM>";

echo "<br>" . "<a href=\"/\">Volver al menú</a>";
}
?>

<?php
// Acá, en base al ID recibido, hacemos la modificación.
if ($_GET["accion"] == "realizar_modificacion")
{
include("sql.php");

$id = $_GET["id"];
$name = $_GET["txtname"];

modificacion($id, $name);
echo "<br>" . "<a href=\"/\">Volver al menú</a>";
}
?>

<?php
// Acá mostramos la pantalla de carga de BAJAS.
if ($_GET["accion"] == "baja")
{
echo "<h1>Dar de baja un registro</h1>";
echo "<br>";
echo "<FORM ACTION=\"abm.php\" METHOD=\"GET\">";
echo "ID: " . "<INPUT TYPE=\"TEXT\" NAME=\"txtId\">" . "<BR>";
echo "<INPUT TYPE=\"hidden\" NAME=\"accion\" VALUE=\"realizar_baja\">";
echo "</FORM>";

echo "<br>" . "<a href=\"/\">Volver al menú</a>";

exit();
}
?>

<?php
// Acá, en base al ID recibido, hacemos la baja.
if ($_GET["accion"] == "realizar_baja")
{
include("sql.php");

$id = $_GET["txtId"];

baja($id);

echo "<br>" . "<a href=\"/\">Volver al menú</a>";
}
?>

</body>
</html>




index.php

<html>
<head>
<title>Alta - Baja - Modificación de Alumnos</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body {
background-color: #00FFCC;
}
-->
</style></head>
<body>
<H1>Alta, Baja y Modificaciones de Alumnos </H1>
<table width="804" border="1">
<tr>
<td width="103"><div align="center"><strong><a href="abm.php?accion=alta">Alta</a></strong></div></td>
<td width="93"><div align="center"><strong><a href="abm.php?accion=baja">Baja</a></strong></div></td>
<td width="162"><div align="center"><strong><a href="abm.php?accion=modificacion">Modificai&oacut e;n</a></strong></div></td>
<td width="303"><div align="center"><strong>Listado</strong></div></td>
<td width="109">&nbsp;</td>
</tr>
</table>
<H1>&nbsp;</H1>
<?php
include("sql.php");
$link=Conectarse();
if ($link==0)
{
echo "<H1>Error en apertura de bases de datos.</H1>";
exit();
}

$result=mysql_query("select * from alumnos",$link);
?>

<!-- Escribimos título de las tablas -->
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR>
<TD width="149"><div align="center"><b>&nbsp;DNI&nbsp;</b></div></TD>
<TD width="545"><div align="center"><b>&nbsp;APELLIDO Y NOMBRE NAME&nbsp;</b></div></TD>
</TR>

<?php
//$row["ID"] NO ES LO MISMO QUE $row["id"] o que $row["Id"]
while($row = mysql_fetch_array($result)) {
echo "<TR>";
echo "<TD>&nbsp;" . $row["dni"] . "</TD>";
echo "<TD>&nbsp;" . $row["nombre"] . "</TD>";
echo "</TR>";
}

//liberamos memoria que ocupa la consulta...
mysql_free_result($result);

//cerramos la conexión con el motor de BD
mysql_close($link);
?>

</table>

<br>
<br>
<br>
<br>
<br>

</body>
</html>



sql.php

<style type="text/css">
<!--
body {
background-color: #00FF66;
}
-->
</style><?php
function Conectarse()
{//inttroducimos los datos de host que son "Server", "usuario" y "contraseña"
if (!($link=mysql_connect("localhost","root","1234")) )//aca hay que introducir los datos que especifique arriba!!!
{
return 0;
}
if (!mysql_select_db("instituto",$link))
{
return 0;
}
return $link;
}

//--------------------------

function alta ($name)
{
$conexion = Conectarse();

if (!$conexion)
{
echo "<h1>No se puede dar de alta. Error al conectar.</h1>";
exit();
}

// NO poner comillas simples en nombre de tabla, ni de campos, sólo en valores alfanuméricos.
$consulta = "INSERT INTO tabla (name) VALUES ('$name')";

echo $consulta;

$resultado=mysql_query($consulta,$conexion);

//cerramos la conexión con el motor de BD
mysql_close($conexion);
}

//--------------------------

function baja ($dni)
{
$conexion = Conectarse();

if (!$conexion)
{
echo "<h1>No se puede dar de baja. Error al conectar.</h1>";
exit();
}

// NO poner comillas simples en nombre de tabla, ni de campos, sólo en valores alfanuméricos.
$consulta = "DELETE FROM tabla WHERE dni = $dni";

echo $consulta . "<BR>";

$resultado=mysql_query($consulta,$conexion);

//echo "Resultado de la operaci&oacute;n: " . $resultado;

//cerramos la conexión con el motor de BD
mysql_close($conexion);

}

//--------------------------

function modificacion ($dni, $name)
{
$conexion = Conectarse();

if (!$conexion)
{
echo "<h1>No se puede dar de alta. Error al conectar.</h1>";
exit();
}

// NO poner comillas simples en nombre de tabla, ni de campos, sólo en valores alfanuméricos.


// UPDATE 'basedatos`.`tabla` SET `name` = 'otro mas' WHERE `tabla`.`dni` =5;

$consulta = "UPDATE tabla SET name = '$name'";
$consulta = $consulta . "WHERE dni = $dni";

echo "hasta acá funciona";
echo $consulta;

$resultado=mysql_query($consulta,$conexion);

//cerramos la conexión con el motor de BD
mysql_close($conexion);
}

?>


la tabla tiene los siguientes campos:

dni - int (8)
nombre - varchar (30)
id_orientacion - tinyint (2)
id_promo - int (2)


Desde ya muchas gracias.

No encuentro la opción insertar archivo acá en el foro. No sé si así esta bien, como te lo estoy enviando.

Saludos

Carlos

Etiquetas: mysql
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 07:08.