Base de Datos para mi negocio

  • Autor Autor Luis Martin
  • Fecha de inicio Fecha de inicio
Luis Martin

Luis Martin

1
Lambda
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Suscripción a IA
Estoy intentando hacer una base de datos para mi centro medico optico, pero no lo logro y no veo cual es el problema..

Lo primero que hice fue ir a PHPmyAdmin y crear una base de datos con el nombre "centro_optico_mm" y luego cree una tabla llamada "cliente" con 11 entradas de texto.

Lo siguiente que hice fue crear una pagina php, para conectar con la base de datos alojada en el servidor local creado con wampserver:

Nombre: base.php
Insertar CODE, HTML o PHP:
<?php 
$servidor = "localhost";
$usuario = "root";
$contrasena = "";

$link = mysql_connect($servidor,$usuario,$contrasena);
mysql_select_db("Centro_Optico_MM",$link);

mysql_close($link)
?>

Luego cree una pagina para agregar nuevos registros a la base:

Nombre: nuevo.html
Insertar CODE, HTML o PHP:
<html>

<body>
<form method="post" action="add_reg.php">
Nombre: <input type="text" name="Nombre"><p>
Apellido: <input type="text" name="Apellido"><p>
Telefono <input type="text" name="Telefono"><p>
<br>
<a>Correccion:</a>
<br>
O.D: <input type="text" name="O.D"> Cil: <input type="text" name="CilDerecho"> Eje: <input type="text" name="EjeDerecho"> Add: <input type="text" name="AddDerecho"><p>
O.I: <input type="text" name="O.I"> Cil: <input type="text" name="CilIzquierdo"> Eje: <input type="text" name="EjeIzquierdo"> Add: <input type="text" name="AddIzquierdo"><p><p>
Tipo: <input type="text" name="Tipo"><p>
<input type="submit" name="enviar" value="enviar">
</form>

</body>

</html>

Y cree el php que procesaria los datos:

Nombre: add_reg.php
Insertar CODE, HTML o PHP:
<?php_egg_logo_guid

include("base.php");

$nombre=$_POST['nombre'];

$apellido=$_POST['apellido'];

$telefono=$_POST['telefono'];

$od=$_POST['od'];

$oi=$_POST['oi'];

$cilderecho=$_POST['cilderecho'];

$cilizquierdo=$_POST['cilizquierdo'];

$ejederecho=$_POST['ejederecho'];

$ejeizquierdo=$_POST['ejeizquierdo'];

$addderecho=$_POST['addderecho'];

$addizquierdo=$_POST['addizquierdo'];

$tipo=$_POST['tipo'];

$sql= "INSERT INTO Centro_Optico_MM (Nombre,Apellido,Telefono,O.D,CilDerecho,EjeDerecho,AddDerecho,O.I,CilIzquierdo,EjeIzquierdo,AddIzquierdo,Tipo)";

$squl= "Values ($nombre,$apellido,$telefono,$od,$cilderecho,$ejederecho,$addderecho,$oi,$cilizquierdo,$ejeizquierdo,$addizquierdo,$tipo)";

$result=mysql_query($sql);

echo "Cliente Registrado Exitosamente";

?>

Aqui comienzan los errores, ya que cuando agrego los datos y le doy enviar, queda la pagina en blanco y no envia los datos.

Luego cree una pagina donde salga la base de datos con todos los valores:

Nombre: lista.php
Insertar CODE, HTML o PHP:
<html>
<head><title>Listado completo de Registros</title>
<link rel="stylesheet" type="text/css" href="tabla.css"/>
</head>
<body>
<div class="datagrid">
<?php
$sql = "SELECT * FROM cliente ORDER BY Nombre";
include ("base.php"); 

$result = mysql_query($sql) or die (mysql_error());
if ($row = mysql_fetch_array($result))
{
echo "<table border = '1' width='50%'>";
mysql_field_seek($result,0); //
while ($field = mysql_fetch_field($result)){ 
}
echo "<thead> \n";
echo '<tr>';
echo '<th width="5%">'."ID".'</th>';
echo '<th width="15%">'."Nombre".'</th>';
echo '<th width="15%">'."Apellido".'</th>';
echo '<th width="15%">'."Telefono".'</th>';
echo '<th width="15%">'."O.D".'</th>';
echo '<th width="15%">'."CilDerecho".'</th>';
echo '<th width="15%">'."EjeDerecho".'</th>';
echo '<th width="15%">'."AddDerecho".'</th>';
echo '<th width="15%">'."O.I".'</th>';
echo '<th width="15%">'."CilIzquierdo".'</th>';
echo '<th width="15%">'."EjeIzquierdo".'</th>';
echo '<th width="15%">'."AddIzquierdo".'</th>';
echo '<th width="15%">'."Tipo".'</th>';
echo '<th width="15%">'."Modificar".'</th>';
echo '<th width="15%">'."Borrar".'</th>';
echo '</tr>';
echo '</tr>';
echo "</thead> \n";
do {
echo '<tr>';
echo "<td width='5%'>".$row["id_contacto"]."</td> \n";
echo "<td>".$row["Nombre"]."</td> \n";
echo "<td>".$row["Apellido"]."</td> \n";
echo "<td>".$row["Telefono"]."</td> \n";
echo "<td>".$row["O.D"]."</td> \n";
echo "<td>".$row["CilDerecho"]."</td> \n";
echo "<td>".$row["EjeDerecho"]."</td> \n";
echo "<td>".$row["AddDerecho"]."</td> \n";
echo "<td>".$row["O.I"]."</td> \n";
echo "<td>".$row["CilIzquierdo"]."</td> \n";
echo "<td>".$row["EjeIzquierdo"]."</td> \n";
echo "<td>".$row["AddIzquierdo"]."</td> \n";
echo "<td>".$row["Tipo"]."</td> \n";
echo "</tr>";
}

while ($row = mysql_fetch_array($result));
echo "</table>";
echo '<p><a href="index.html">Volver</a></p>';
} else
{
echo "<p>No se ha encontrado ning&uacute;n registro</p>";
echo '<p><a href="index.html">Volver</a></p>';
}
?>
</div>
</body>
</html>

Pero al abrirla solo sale este mensaje:

No database selected

He intentado varias pruebas, pero no logro que funcione...

Alguien me ayuda? Les agradeceria mucho
 
Última edición:
tu base de datos se llama:
centro_optico_mm o Centr😵ptico_MM?

si tu tabla se llama clientes, porque hacer "INSERT INTO Centr😵ptico_MM.. " ?

y porque en tu archivo abres con:
<?php_egg_logo_guid

el problema es porque cierras la conexion, antes de utilizarla
mysql_close($link)
 
Última edición:
si mi amigo checa la conex, y los comandos sql
 
Ya quite el "mysql_close($link)" y ahora si me sale la pagina lista.php

Pero no me sirve la opcion de agregar nuevos registros, la base de datos en phpmyadmin es asi:

Dibujo.webp

y ya elimine el "_egg_logo_guid" y solo deje el <?php, pero ahora sale un monton de errores y no se agregan los registros:
Dibujo2.webp
 
No son errores, son un tipo de notificaciones de PHP, habria que desabilitar o configurar el error_ reporting, gracias por el like
 
al momento de agregar un registro veo que tienes un error no agregar los valores, intenta lo siguiente:

$sql= "INSERT INTO cliente (Nombre,Apellido,Telefono,O.D,CilDerecho,EjeDerecho,AddDerecho,O.I,CilIzquierdo,EjeIzquierdo,AddIzquierdo,Tipo) "
. "Values ('$nombre','$apellido',$telefono,$od,$cilderecho,$ejederecho,$addderecho,$oi,$cilizquierdo,$ejeizquierdo,$addizquierdo,$tipo)";

$result=mysql_query($sql);
 
al momento de agregar un registro veo que tienes un error no agregar los valores, intenta lo siguiente:

$sql= "INSERT INTO cliente (Nombre,Apellido,Telefono,O.D,CilDerecho,EjeDerecho,AddDerecho,O.I,CilIzquierdo,EjeIzquierdo,AddIzquierdo,Tipo) "
. "Values ('$nombre','$apellido',$telefono,$od,$cilderecho,$ejederecho,$addderecho,$oi,$cilizquierdo,$ejeizquierdo,$addizquierdo,$tipo)";

$result=mysql_query($sql);

Lo intento pero igualmente, me sale Cliente registrado, pero cuando ingreso a la pagina lista.php no sale el nuevo cliente, como haria?

- - - Actualizado - - -

No son errores, son un tipo de notificaciones de PHP, habria que desabilitar o configurar el error_ reporting, gracias por el like

Ok ya entiendo, pero hay alguna solucion, por que no me salen los nuevos clientes, en la pagina lista.php
 
Pareciera que el error esta aqui

if ($row = mysql_fetch_array($result))
{
echo "<table border = '1' width='50%'>";
mysql_field_seek($result,0); //
while ($field = mysql_fetch_field($result)){


estas usando la variable $result, intenta con la variable $row
 
Pareciera que el error esta aqui

if ($row = mysql_fetch_array($result))
{
echo "<table border = '1' width='50%'>";
mysql_field_seek($result,0); //
while ($field = mysql_fetch_field($result)){


estas usando la variable $result, intenta con la variable $row



Es decir:

Cambio esto:
Insertar CODE, HTML o PHP:
<?php
$sql = "SELECT * FROM cliente ORDER BY Nombre";
include ("base.php"); 

$result = mysql_query($sql) or die (mysql_error());
if ($row = mysql_fetch_array($result))
{
echo "<table border = '1' width='50%'>";
mysql_field_seek($result,0); //
while ($field = mysql_fetch_field($result)){ 
}

por esto:
Insertar CODE, HTML o PHP:
<?php
$sql = "SELECT * FROM cliente ORDER BY Nombre";
include ("base.php"); 

$row = mysql_query($sql) or die (mysql_error());
if ($row = mysql_fetch_array($row))
{
echo "<table border = '1' width='50%'>";
mysql_field_seek($row,0); //
while ($field = mysql_fetch_field($row)){ 
}

cierto?
 
intenta esto, te deberia mostrar los registros dados de alta, si te los muestra ya seria cuestión de que los acomodaras visualmente.

<?php
$sql = "SELECT * FROM cliente ORDER BY Nombre";
include ("base.php");

$result = mysql_query($sql) or die (mysql_error());
while ($row = mysql_fetch_array($result))
{
var_dump($row);
}
 
intenta esto, te deberia mostrar los registros dados de alta, si te los muestra ya seria cuestión de que los acomodaras visualmente.

<?php
$sql = "SELECT * FROM cliente ORDER BY Nombre";
include ("base.php");

$result = mysql_query($sql) or die (mysql_error());
while ($row = mysql_fetch_array($result))
{
var_dump($row);
}

Ya lo hice, pero no salen los nuesvos registros,

Te explicare bien:

Yo cree unos registros desde phpmyadmin y esos si salen en la lista, los que no salen son los que agrego desde la pagina:

asi se ve lista.php ahora:
Dibujo3.webp

Que podria hacer?
 
Vale, intenta con esto como base.php:

Insertar CODE, HTML o PHP:
<?php 
$host = "localhost";
$user = "root";
$pw = "";
$bd = "centro_optico_mm";
?>

Y esto como add_reg.php:

Insertar CODE, HTML o PHP:
<?php

include("conexion.php");
	if(1==1) 
	
	{
		$con = mysql_connect($host,$user,$pw)
		or die("problemas al conectar al servidor");
		
		mysql_select_db($bd,$con)
		or die("problemas al conectar a la base de datos");
		
		mysql_query("INSERT INTO cliente (nombre,apellido,telefono,o.d,cilderecho,ejederecho,addderecho,o.i,cilizquierdo,ejeizquierdo,addizquierdo,tipo) 
	values ('$_POST[nombre]','$_POST[apellido]','$_POST[telefono]','$_POST[od]','$_POST[CilDerecho]','$_POST['EjeDerecho']','$_POST['oi'],'$_POST['cilizquierdo']','$_POST['ejeizquierdo']','$_POST['addizquierdo']','$_POST['tipo]'",$con);
	
	}
	else {
		echo "Ocurrió un error";
	}
?>
 
Vale, intenta con esto como base.php:

Insertar CODE, HTML o PHP:
<?php 
$host = "localhost";
$user = "root";
$pw = "";
$bd = "centro_optico_mm";
?>

Y esto como add_reg.php:

Insertar CODE, HTML o PHP:
<?php

include("conexion.php");
	if(1==1) 
	
	{
		$con = mysql_connect($host,$user,$pw)
		or die("problemas al conectar al servidor");
		
		mysql_select_db($bd,$con)
		or die("problemas al conectar a la base de datos");
		
		mysql_query("INSERT INTO cliente (nombre,apellido,telefono,o.d,cilderecho,ejederecho,addderecho,o.i,cilizquierdo,ejeizquierdo,addizquierdo,tipo) 
	values ('$_POST[nombre]','$_POST[apellido]','$_POST[telefono]','$_POST[od]','$_POST[CilDerecho]','$_POST['EjeDerecho']','$_POST['oi'],'$_POST['cilizquierdo']','$_POST['ejeizquierdo']','$_POST['addizquierdo']','$_POST['tipo]'",$con);
	
	}
	else {
		echo "Ocurrió un error";
	}
?>



Amigo lo hice asi, pero ahora cuando intento agregar un nuevo cliente en el formulario y le doy enviar, me sale este error:
( ! ) Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp\www\Centro Optico MM\add_reg.php on line 14

Que hago?
 
Insertar CODE, HTML o PHP:
<?php

include("conexion.php");
	if(1==1) 
	
	{
		$con = mysql_connect($host,$user,$pw)
		or die("problemas al conectar al servidor");
		
		mysql_select_db($bd,$con)
		or die("problemas al conectar a la base de datos");
		
		mysql_query("INSERT INTO cliente (nombre,apellido,telefono,o.d,cilderecho,ejederecho,addderecho,o.i,cilizquierdo,ejeizquierdo,addizquierdo,tipo) 
	values ('$_POST[nombre]','$_POST[apellido]','$_POST[telefono]','$_POST[od]','$_POST[CilDerecho]','$_POST[EjeDerecho]','$_POST[oi]','$_POST[cilizquierdo]','$_POST[ejeizquierdo]','$_POST[addizquierdo]','$_POST[tipo]'",$con);
	
	}
	else {
		echo "Ocurrió un error";
	}
?>

Tenia un pequeño problema, vuelve a copar eso en add_reg. 😀
Una cosa, los text en phpmyadmin tiene establecido cuantos caracteres son permitidos?
 
Insertar CODE, HTML o PHP:
<?php

include("conexion.php");
	if(1==1) 
	
	{
		$con = mysql_connect($host,$user,$pw)
		or die("problemas al conectar al servidor");
		
		mysql_select_db($bd,$con)
		or die("problemas al conectar a la base de datos");
		
		mysql_query("INSERT INTO cliente (nombre,apellido,telefono,o.d,cilderecho,ejederecho,addderecho,o.i,cilizquierdo,ejeizquierdo,addizquierdo,tipo) 
	values ('$_POST[nombre]','$_POST[apellido]','$_POST[telefono]','$_POST[od]','$_POST[CilDerecho]','$_POST[EjeDerecho]','$_POST[oi]','$_POST[cilizquierdo]','$_POST[ejeizquierdo]','$_POST[addizquierdo]','$_POST[tipo]'",$con);
	
	}
	else {
		echo "Ocurrió un error";
	}
?>

Tenia un pequeño problema, vuelve a copar eso en add_reg. 😀
Una cosa, los text en phpmyadmin tiene establecido cuantos caracteres son permitidos?

Si yo le coloque los caracteres necesarios..

Ya modifique el codigo y ahora genera estos errores cuando agrego un nuevo cliente:
( ! ) Notice: Undefined index: nombre in C:\wamp\www\Centro Optico MM\add_reg.php on line 14
Call Stack
# Time Memory Function Location
1 0.0395 147080 {main}( ) ..\add_reg.php:0

( ! ) Notice: Undefined index: apellido in C:\wamp\www\Centro Optico MM\add_reg.php on line 14
Call Stack
# Time Memory Function Location
1 0.0395 147080 {main}( ) ..\add_reg.php:0

( ! ) Notice: Undefined index: telefono in C:\wamp\www\Centro Optico MM\add_reg.php on line 14
Call Stack
# Time Memory Function Location
1 0.0395 147080 {main}( ) ..\add_reg.php:0

( ! ) Notice: Undefined index: od in C:\wamp\www\Centro Optico MM\add_reg.php on line 14
Call Stack
# Time Memory Function Location
1 0.0395 147080 {main}( ) ..\add_reg.php:0

( ! ) Notice: Undefined index: oi in C:\wamp\www\Centro Optico MM\add_reg.php on line 14
Call Stack
# Time Memory Function Location
1 0.0395 147080 {main}( ) ..\add_reg.php:0

( ! ) Notice: Undefined index: cilizquierdo in C:\wamp\www\Centro Optico MM\add_reg.php on line 14
Call Stack
# Time Memory Function Location
1 0.0395 147080 {main}( ) ..\add_reg.php:0

( ! ) Notice: Undefined index: ejeizquierdo in C:\wamp\www\Centro Optico MM\add_reg.php on line 14
Call Stack
# Time Memory Function Location
1 0.0395 147080 {main}( ) ..\add_reg.php:0

( ! ) Notice: Undefined index: addizquierdo in C:\wamp\www\Centro Optico MM\add_reg.php on line 14
Call Stack
# Time Memory Function Location
1 0.0395 147080 {main}( ) ..\add_reg.php:0

( ! ) Notice: Undefined index: tipo in C:\wamp\www\Centro Optico MM\add_reg.php on line 14
Call Stack
# Time Memory Function Location
1 0.0395 147080 {main}( ) ..\add_reg.php:0

Ademas, ahora cuando voy a lista.php, me sale este error:
No database selected

Anexo el codigo de lista.php:
Insertar CODE, HTML o PHP:
<html>
<head><title>Listado completo de Registros</title>
<link rel="stylesheet" type="text/css" href="tabla.css"/>
</head>
<body>
<div class="datagrid">
<?php
$sql = "SELECT * FROM cliente ORDER BY Nombre";
include ("base.php"); 

$result = mysql_query($sql) or die (mysql_error());
if ($row = mysql_fetch_array($result))
{
echo "<table border = '1' width='50%'>";
mysql_field_seek($result,0); //
while ($field = mysql_fetch_field($result)){ 
}

echo "<thead> \n";
echo '<tr>';
echo '<th width="5%">'."ID".'</th>';
echo '<th width="15%">'."Nombre".'</th>';
echo '<th width="15%">'."Apellido".'</th>';
echo '<th width="15%">'."Telefono".'</th>';
echo '<th width="15%">'."O.D".'</th>';
echo '<th width="15%">'."CilDerecho".'</th>';
echo '<th width="15%">'."EjeDerecho".'</th>';
echo '<th width="15%">'."AddDerecho".'</th>';
echo '<th width="15%">'."O.I".'</th>';
echo '<th width="15%">'."CilIzquierdo".'</th>';
echo '<th width="15%">'."EjeIzquierdo".'</th>';
echo '<th width="15%">'."AddIzquierdo".'</th>';
echo '<th width="15%">'."Tipo".'</th>';
echo '<th width="15%">'."Modificar".'</th>';
echo '<th width="15%">'."Borrar".'</th>';
echo '</tr>';
echo '</tr>';
echo "</thead> \n";
do {
echo '<tr>';
echo "<td width='5%'>".$row["Nombre"]."</td> \n";
echo "<td>".$row["Nombre"]."</td> \n";
echo "<td>".$row["Apellido"]."</td> \n";
echo "<td>".$row["Telefono"]."</td> \n";
echo "<td>".$row["O.D"]."</td> \n";
echo "<td>".$row["CilDerecho"]."</td> \n";
echo "<td>".$row["EjeDerecho"]."</td> \n";
echo "<td>".$row["AddDerecho"]."</td> \n";
echo "<td>".$row["O.I"]."</td> \n";
echo "<td>".$row["CilIzquierdo"]."</td> \n";
echo "<td>".$row["EjeIzquierdo"]."</td> \n";
echo "<td>".$row["AddIzquierdo"]."</td> \n";
echo "<td>".$row["Tipo"]."</td> \n";
echo "</tr>";
}

while ($row = mysql_fetch_array($result));
echo "</table>";
echo '<p><a href="index.html">Volver</a></p>';
} else
{
echo "<p>No se ha encontrado ning&uacute;n registro</p>";
echo '<p><a href="index.html">Volver</a></p>';
}
?>
</div>
</body>
</html>

Que hago? Gracias por tu ayuda amigo
 
Ok, haré una replica exacta de lo que quieres hacer en mi servidor y cuando funcione te pasaré los códigos.
 
Ok, haré una replica exacta de lo que quieres hacer en mi servidor y cuando funcione te pasaré los códigos.

Gracias amigo te lo agradeceria, espero tu respuesta
 
Atrás
Arriba