Hola a todos, me falta decir en el título, modificación y búsqueda.
Lo que os traigo es el típico script que te pide tu cuñado, tío, amigo, jefe, etc. En mi caso, amigo, para llevar un registro de items vinculados a un cliente. Por lo que este formulario tiene las siguientes funciones.
-Alta de nuevos items vinculados a un cliente
-Alta de nuevos clientes
-Búsqueda por items o por clientes
-Modificación y borrado de tanto items como clientes.
-Consulta general con todos los datos de los itmes y los clientes vinculados
Este script php trae un archivo instalador que te crea la base de datos y tablas necesarias. Y también trae un archivo de configuración, que lo tenéis que modificar para poner vuestras credenciales.
he de decir que es todo muy básico, y tiene muchos errores, pero funciona. Y lo dejo aquí para libre distribución y modificación del mismo.
Un saludo a todos.
<?php
error_reporting(E_ALL & ~E_NOTICE | E_STRICT);
require("conexion.php");
conectar('tienda');
if($_GET["action"] != ''){$action = $_GET["action"];}else{$action = $_POST["action"];}
echo '<html><head><title>'.$action.'</title></head><body bgcolor="white" link="#6E6E6E" vlink="#6E6E6E" alink="#6E6E6E"><center><h1>'.$action.'</h1><br>';
function index(){
echo '
<table border=1>
<tr>
<th colspan=3>OPERACIONES</th>
</tr>
<tr>
<td width="100"><center><a href="index.php?action=alta_item_form"><b>Altas clientes/items</b></a></center>
<td width="100"><center><a href="index.php?action=buscar_form"><b>Buscar modificar/borrar</b></a></center>
<td width="100"><center><a href="index.php?action=consultas"><b>Consultas modificar/borrar</b></a></center>
</tr>
</table>';}
function alta_cliente_form(){
echo '
<form action=index.php method=POST>
<table>
<tr><td>Nombre</td>
<td><input type=text name=nombre></td>
</tr>
<tr><td>Apellidos</td>
<td><input type=text name=apellidos></td>
</tr>
<tr><td>Telefono</td>
<td><input type=text name=telefono></td>
</tr>
<tr><td>Direccion</td>
<td><input type=text name=direccion></td>
</tr>
<tr><td>Ciudad</td>
<td><input type=text name=ciudad></td>
</tr>
<tr><td>Provincia</td>
<td><input type=text name=provincia></td>
</tr>
<tr><td>Otros</td>
<td><input type=text name=otros></td>
</tr>
</table>
<tr>
<input type=hidden name=action value="alta_cliente">
<td><input type=submit value=Enviar></td>
<td><input type=button value=Volver onclick=\'history.back()\'></td>
</tr>
</form>';}
function alta_item_form(){
global $sql;
$r = mysql_query("select * from clientes",$sql);
while($row=mysql_fetch_array($r)){
$out .= '<option value="'.$row['id'].'">'.$row['nombre'].' '.$row['apellidos'].'</option>';
}
echo '
<form action=index.php method=POST>
<table>
<tr><td>Cliente</td>
<td> <select name="id_cliente">'.$out.'
</select><a href="index.php?action=alta_cliente_form">Alta nuevo cliente</a></td>
</tr>
<tr><td>Marca</td>
<td><input type=text name=marca></td>
</tr>
<tr><td>Modelo</td>
<td><input type=text name=modelo></td>
</tr>
<tr><td>Color</td>
<td><input type=text name=color></td>
</tr>
<tr><td>Tipo</td>
<td><input type=text name=tipo></td>
</tr>
<tr><td>Fecha</td>
<td><input type=text name=fecha></td>
</tr>
<tr><td>Precio</td>
<td><input type=text name=precio></td>
</tr>
<tr><td>Otros</td>
<td><input type=text name=otros></td>
</tr>
</table>
<tr>
<input type=hidden name=action value="alta_item">
<td><input type=submit value=Enviar></td>
<td><input type=button value=Volver onclick=\'history.back()\'></td>
</tr>
</form>';}
function alta_cliente(){
global $sql;
$nombre=$_POST["nombre"];
$apellidos=$_POST["apellidos"];
$telefono=$_POST["telefono"];
$direccion=$_POST["direccion"];
$ciudad=$_POST["ciudad"];
$provincia=$_POST["provincia"];
$otros=$_POST["otros"];
$r=mysql_query("INSERT INTO clientes(nombre,apellidos,telefono,direccion,ciudad,provincia,otros)
VALUES('$nombre','$apellidos','$telefono','$direccion','$ciudad','$provincia','$otros')",$sql);
if($r){echo("Alta correcta");}else{echo("Alta Incorrecta".mysql_errno());}
echo '<form action="index.php" method="POST"><input type=submit value="Volver"></form>';}
function alta_item(){
global $sql;
$id_cliente=$_POST["id_cliente"];
$marca=$_POST["marca"];
$modelo=$_POST["modelo"];
$color=$_POST["color"];
$tipo=$_POST["tipo"];
$fecha=$_POST["fecha"];
$precio=$_POST["precio"];
$otros=$_POST["otros"];
$r=mysql_query("INSERT INTO items(id_cliente,marca,modelo,color,tipo,fecha,precio,otros)
VALUES('$id_cliente','$marca','$modelo','$color','$tipo','$fecha','$precio','$otros')",$sql);
if($r){echo("Alta correcta");}else{echo("Alta Incorrecta".mysql_errno());}
echo '<form action="index.php" method="POST"><input type=submit value="Volver"></form>';}
function buscar_form(){
echo '<form action=index.php method=post>
<table>
<tr>
<td>Buscar por item</td>
<td><input type=text name=marca></td>
<input type=hidden name=action value="buscar_item">
<td><input type=submit value=Enviar></td>
</tr>
</table>
</form>
<form action=index.php method=post>
<table>
<tr>
<td>Buscar por Clientes</td>
<td><input type=text name=nombre></td>
<input type=hidden name=action value="buscar_cliente">
<td><input type=submit value=Enviar></td>
</tr>
</table>
</form>';}
function buscar(){
global $sql;
if($_POST["marca"] != ''){$consulta = 1;}else{$consulta = 2;}
$busqueda=$_POST["marca"];
$q1="select * from items where
marca like'%$busqueda%' or
modelo like '%$busqueda%' or
color like '%$busqueda%' or
tipo like '%$busqueda%' or
fecha like '%$busqueda%' or
otros like '%$busqueda%' or
precio like '%$busqueda%'";
$busqueda=$_POST["nombre"];
$q2="select * from clientes where
nombre like'%$busqueda%' or
apellidos like '%$busqueda%' or
telefono like '%$busqueda%' or
direccion like '%$busqueda%' or
ciudad like '%$busqueda%' or
provincia like '%$busqueda%' or
otros like '%$busqueda%'";
if($consulta == 1){
$r=mysql_query($q1,$sql);
if(!$r){echo("Su busqueda es incorrecta".mysql_errno());}else{
echo"<table border=1>";
while ($row=mysql_fetch_array($r))
{
$id=$row["id"];
$marca=$row["marca"];
$modelo=$row["modelo"];
$fecha=$row["fecha"];
echo"<tr>";
echo"<td width=100>";
echo"<a href=index.php?action=modificar_item_form&id=$id>Modificar</a>";
echo"</td>";
echo"<td width=100>";
echo"<a href=index.php?action=borrar_item&id=$id>Borrar</a>";
echo"</td>";
echo "<td width=100>$marca</td>";
echo "<td width=100>$modelo</td>";
echo "<td width=100>$fecha</td>";
echo"</tr>";
}
echo"</table>";
echo"<br><br><br>";
}}else{
$r=mysql_query($q2,$sql);
if(!$r){echo("Su busqueda es incorrecta".mysql_errno());}else{
echo"<table border=1>";
while ($row=mysql_fetch_array($r))
{
$id=$row["id"];
$nombre=$row["nombre"];
$apellidos=$row["apellidos"];
$telefono=$row["telefono"];
echo"<tr>";
echo"<td width=100>";
echo"<a href=index.php?action=modificar_cliente_form&id=$id>Modificar</a>";
echo"</td>";
echo"<td width=100>";
echo"<a href=index.php?action=borrar_cliente&id=$id>Borrar</a>";
echo"</td>";
echo "<td width=100>$nombre</td>";
echo "<td width=100>$apellidos</td>";
echo "<td width=100>$telefono</td>";
echo"</tr>";
}
echo"</table>";
echo"<br><br><br>";
}}}
function modificar_item_form(){
global $sql;
$id=$_GET["id"];
$r=mysql_query("SELECT * FROM items WHERE id like '$id'",$sql);
if(!$r){
echo"Error al seleccionar".mysql_errno();}else{
while($row=mysql_fetch_array($r))
{
$id=$row['id'];
$marca=$row['marca'];
$modelo=$row['modelo'];
$tipo=$row['tipo'];
$color=$row['color'];
$fecha=$row['fecha'];
$precio=$row['precio'];
$otros=$row['otros'];
echo"
<form action=\"index.php\" method=\"POST\"><table>
<tr><td>Marca</td><td><input type=text name=marca value=".$marca."></td></tr>
<tr><td>Modelo</td><td><input type=text name=modelo value=".$modelo."></td></tr>
<tr><td>Color</td><td><input type=text name=color value=".$color."></td></tr>
<tr><td>Tipo</td><td><input type=text name=tipo value=".$tipo."></td></tr>
<tr><td>Fecha</td><td><input type=text name=fecha value=".$fecha."></td></tr>
<tr><td>Precio</td><td><input type=text name=precio value=".$precio."></td></tr>
<tr><td>Otros</td><td><input type=text name=otros value=".$otros."></td></tr>
<input type=hidden name=action value=\"modificar_item\">
<input type=hidden name=id value=".$id.">
</table>
<tr><td><input type=submit value=Modificar></td></tr>
</form>";
}}}
function modificar_item(){
global $sql;
$marca=$_POST["marca"];
$modelo=$_POST["modelo"];
$color=$_POST["color"];
$tipo=$_POST["tipo"];
$fecha=$_POST["fecha"];
$precio=$_POST["precio"];
$otros=$_POST["otros"];
$id=$_POST["id"];
$q="UPDATE items SET
marca='$marca',
modelo='$modelo',
tipo='$tipo',
color='$color',
fecha='$fecha',
precio='$precio',
otros='$otros'
WHERE id='$id'";
$r=mysql_query($q,$sql);
if($r){echo("Actualizacion correcta");}else{echo("Actualizacion Incorrecta".mysql_errno());}
echo '<form action="index.php" method="POST"><input type=submit value="Volver"></form>';}
function modificar_cliente_form(){
global $sql;
$id=$_GET["id"];
$r=mysql_query("SELECT * FROM clientes WHERE id like '$id'",$sql);
if(!$r){
echo"Error al seleccionar".mysql_errno();}else{
while($row=mysql_fetch_array($r))
{
$id=$row['id'];
$nombre=$row['nombre'];
$apellidos=$row['apellidos'];
$telefono=$row['telefono'];
$direccion=$row['direccion'];
$ciudad=$row['ciudad'];
$provincia=$row['provincia'];
$otros=$row['otros'];
echo"
<form action=\"index.php\" method=\"POST\"><table>
<tr><td>nombre</td><td><input type=text name=nombre value='".$nombre."'></td></tr>
<tr><td>apellidos</td><td><input type=text name=apellidos value='".$apellidos."'></td></tr>
<tr><td>telefono</td><td><input type=text name=telefono value='".$telefono."'></td></tr>
<tr><td>direccion</td><td><input type=text name=direccion value='".$direccion."'></td></tr>
<tr><td>ciudad</td><td><input type=text name=ciudad value='".$ciudad."'></td></tr>
<tr><td>provincia</td><td><input type=text name=provincia value='".$provincia."'></td></tr>
<tr><td>Otros</td><td><input type=text name=otros value='".$otros."'></td></tr>
<input type=hidden name=action value=\"modificar_cliente\">
<input type=hidden name=id value=".$id.">
</table>
<tr><td><input type=submit value=Modificar></td></tr>
</form>";
}}}
function modificar_cliente(){
global $sql;
$nombre=$_POST["nombre"];
$apellidos=$_POST["apellidos"];
$telefono=$_POST["telefono"];
$direccion=$_POST["direccion"];
$ciudad=$_POST["ciudad"];
$provincia=$_POST["provincia"];
$otros=$_POST["otros"];
$id=$_POST["id"];
$q="UPDATE clientes SET
nombre='$nombre',
apellidos='$apellidos',
telefono='$telefono',
direccion='$direccion',
ciudad='$ciudad',
provincia='$provincia',
otros='$otros'
WHERE id='$id'";
$r=mysql_query($q,$sql);
if($r){echo("Actualizacion correcta");}else{echo("Actualizacion Incorrecta".mysql_errno());}
echo '<form action="index.php" method="POST"><input type=submit value="Volver"></form>';}
function borrar_item(){
global $sql;
$ident=$_GET["id"];
$r=mysql_query("DELETE FROM items WHERE id like '$ident'",$sql);
if($r){echo("Borrado correcto");}else{echo("Borrado Incorrecto".mysql_errno());}}
function borrar_cliente(){
global $sql;
$ident=$_GET["id"];
$r=mysql_query("DELETE FROM clientes WHERE id like '$ident'",$sql);
if($r){echo("Borrado correcto");}else{echo("Borrado Incorrecto".mysql_errno());}}
function consultas(){
global $sql;
echo '<table border=1>
<tr>
<th>..nombre..</th><th>..apellido..</th><th>..telefono..</th>
<th>..marca..</th><th>..Modelo..</th><th>..Color..</th>
<th>..tipo..</th><th>..Fecha..</th><th>..Precio..</th><th>..Otros..</th><th>..Item..</th><th>..Item..</th><th>..Cliente..</th>
</tr>';
$r = mysql_query("select * from items",$sql) or
die ("<h3>Error no se ha pododido ejecutar la consulta</h3>");
$filan=mysql_num_rows($r);
for ($i=0;$i<$filan;$i++)
{
$fila=mysql_fetch_array($r);
$id_cliente=$fila['id_cliente'];
$marca=$fila['marca'];
$modelo=$fila['modelo'];
$color=$fila['color'];
$tipo=$fila['tipo'];
$fecha=$fila['fecha'];
$precio=$fila['precio'];
$otros=$fila['otros'];
$id=$fila['id'];
$r2=mysql_query("SELECT * FROM clientes WHERE id like '$id_cliente'",$sql);
while($row=mysql_fetch_array($r2))
{
$nombre=$row['nombre'];
$apellidos=$row['apellidos'];
$telefono=$row['telefono'];
$direccion=$row['direccion'];
$ciudad=$row['ciudad'];
$provincia=$row['provincia'];
$otros_c=$row['otros'];
}
print"<tr>
<td>".$nombre."</td>
<td>".$apellidos."</td>
<td>".$telefono."</td>
<td>".$marca."</td>
<td>".$modelo."</td>
<td>".$color."</td>
<td>".$tipo."</td>
<td>".$fecha."</td>
<td>".$precio."</td>
<td>".$otros."</td>
<td><a href=index.php?action=borrar_item&id=$id>Borrar</a></td>
<td><a href=index.php?action=modificar_item_form&id=$id>Modificar</a></td>
<td><a href=index.php?action=modificar_cliente_form&id=$id_cliente>Modificar</a></td>
</tr>";
}
echo"<p>";
echo"Registros encontrados:".$filan;
echo"</table>";
echo '<form action="index.php" method="POST"><input type=submit value="Volver"></form>';
}
switch ($action) {
case 'alta_cliente_form':
alta_cliente_form();
break;
case 'alta_item_form':
alta_item_form();
break;
case 'alta_cliente':
alta_cliente();
break;
case 'alta_item':
alta_item();
break;
case 'buscar_form':
buscar_form();
break;
case 'buscar_cliente':
buscar();
break;
case 'buscar_item':
buscar();
break;
case 'modificar_item_form':
modificar_item_form();
break;
case 'modificar_item':
modificar_item();
break;
case 'modificar_cliente_form':
modificar_cliente_form();
break;
case 'modificar_cliente':
modificar_cliente();
break;
case 'borrar_cliente':
borrar_cliente();
break;
case 'borrar_item':
borrar_item();
break;
case 'consultas':
consultas();
break;
default:
index();
}
echo '</center><a href="http://about.me/danielfs/">About me Daniel F.S.</a></body></html>';
?>
<?php
include('conexion.php');
conectar('');
$q = "CREATE DATABASE tienda";
$r = mysql_query($q,$sql);
if (!$r){ die ("Error al crear la db tienda".mysql_errno());}else{echo 'DB tienda creada OK<br>';}
$q ='CREATE TABLE tienda.items (
id int (11) NOT NULL auto_increment,
id_cliente int (11) NOT NULL,
marca varchar (30),
modelo varchar (30),
color varchar (30),
tipo varchar (30),
fecha varchar (30),
precio varchar (30),
otros varchar (200),
PRIMARY KEY (id)
)';
$r = mysql_query($q,$sql);
if (!$r){ die ("Error al crear la tabla items".mysql_errno());}else{echo 'Tabla tienda.items creada OK<br>';}
$q = 'CREATE TABLE tienda.clientes (
id int (11) NOT NULL auto_increment,
nombre varchar (30),
apellidos varchar (30),
telefono varchar (30),
direccion varchar (50),
ciudad varchar (30),
provincia varchar (30),
otros varchar (200),
PRIMARY KEY (id)
)';
$r = mysql_query($q,$sql);
if (!$r){ die ("Error al crear la tabla clientes".mysql_errno());}else{echo 'Tabla tienda.clientes creada OK<br>';}
$r=mysql_query("INSERT INTO tienda.clientes(nombre,apellidos,telefono,direccion,ciudad,provincia,otros)
VALUES('GENERICO','GENERICO','000000000','DIRECCION GENERICA','GENERICO','GENERICO','GENERICO')",$sql);
if (!$r){ die ("Error al crear el cliente generico".mysql_errno());}else{echo 'Cliente generico creado OK<br><u>TODO OK</u>';}
?>
<?php
function conectar($db){
global $sql;
$DBHost="localhost"; //Hosting base de datos NO TOCAR
$DBUser="root"; //USUARIO DE LA BASE DE DATOS
$DBPass=""; //CONTRASEÑA DE LA BASE DE DATOS
$sql = mysql_connect($DBHost,$DBUser,$DBPass) or die('Unable to establish a DB connection');
if($db != ''){mysql_select_db($db,$sql); mysql_query("SET names UTF8");}
}
?>
Para cualquier duda me podéis preguntar por MP o mediante la web http://about.me/danielfs
Leer #8 y #19
[EDIT] Me veo en la obligación de decir que este script TIENE GRAVES FALLOS DE SEGURIDAD, no se aconseja para su uso de forma publica, sino USO PRIVADO. No esta orientado a objetos, tiene una forma de programación de la vieja escuela, y esta basado en otro script que me encontré por internet que no funcionaba. Modificado en un tiempo récord aquí lo dejo. No es mi forma de programación habitual, y no lo expongo como algo de lo que este orgullosos, simplemente para aquel que este totalmente perdido tenga algo por donde empezar.