Tema: MySQL
Ver Mensaje Individual
  #13 (permalink)  
Antiguo 27/04/2004, 13:48
luistv
 
Fecha de Ingreso: febrero-2004
Ubicación: Brasil
Mensajes: 39
Antigüedad: 20 años, 2 meses
Puntos: 0
Amigo Claudio, este es mi script y no sé dónde debería poner esa consulta q me pasaste, podrías ayudarme más un poco?

formulario.php
Código PHP:
<html>
<head>
<title></title>
</head>
<body>
<!-- creamos un formulario en el que recogeremos los valores
     a añadir a la base de datos jugadores
     utilizaremos los mismos nombres de variables que en aquel
     - por razones de comodidad- anteponiendoles p_ -->

<form name="altas" method=POST action="reg_jugadores.php">
<table bgcolor="#EEEEEE" align=center border=1>


<td align="right">Nombre : </td>
<td align="left"> <input type="text" name="p_v1" value="" size=20></td><tr>
<td align="right">Primer apellido : </td>
<td align="left"> <input type="text" name="p_v2" value="" size=15></td><tr>
<td align="right">Segundo apellido : </td>
<td align="left"> <input type="text" name="p_v3" value="" size=15></td><tr>
<td align="right">Seudónimo : </td>
<td align="left"> <input type="text" name="p_v4" value="" size=15></td><tr>
<td align="right">Fecha de nacimiento: </td>

<!-- para evitar fechas de nacimiento incorrectas
     utilizamos la opción select para asignarles valores
     y recogemos en un array de indices 0, 1 y 2
     los valores respectivos de año, mes y día
     con el ánimo de mantener la misma secuencia
     con la que MySQL registrará estos datos -->

<td align="left"> <select name="p_v5[2]">
<? for ($i=1;$i<32;$i++){
echo 
"<option>$i</option>";
}
?>
</select> de
<select name="p_v5[1]">
<? for ($i=1;$i<13;$i++){
echo 
"<option>$i</option>";
}
?>
</select> de
<select name="p_v5[0]">
<? for ($i=1901;$i<2001;$i++){
echo 
"<option>$i</option>";
}
?>
</td><tr>
<td align="right">Ciudad : </td>
<td align="left"> <input type="text" name="p_v6" value="" size=20></td><tr>
<td align="right">País : </td>
<td align="left"> <input type="text" name="p_v7" value="" size=20></td><tr>

<!-- la opción posición la activamos mediante un SELECT MULTIPLE
        que permite visualizar las OPCIONES DE posiciones
        POR EL MISMO ORDEN EN QUE FUERON DEFINIDAS
        EN LA OPCION SET DE LA BASE DE DATOS
        A cada una de las opciones les asignamos como valor
        una POTENCIA DE DOS empezando por
        2 elevado 0, 2 elevado 1, 2 elevado 2, etc.
    la finalidad de esta estrategia es permitir
        que en el formulario de ALTAS
        se puedan sumar estos valores y que esa suma
        se el valor decimal equivalente al valor binario
        de las opciones seleccionadas
        El array p_v9 recogerá con indices correlativos
        a partir de 0, unicamente los valores de
        AQUELLAS OPCIONES QUE HAN SIDO SELECCIONADAS -->

<td align="right">Posición:<br>
(<i>Si juega en varias posiciones,<br>
podemos seleccionarlas pulsando con<br>
el mouse encima de cada una de ellas<br>
con la tecla <b>Ctrl</b> presionada</i>)</td>
<td align="left"> <SELECT MULTIPLE name=p_v8[] SIZE=4>
<option  value=1>Arquero</option>
<option  value=2>Defensa</option>
<option value=4>Mediocampista</option>
<option  value=8>Delantero</option>
</select>
</td><tr>
<td align="right">Club actual : </td>
<td align="left"> <input type="text" name="p_v9" value="" size=20></td><tr>
<!--colocamos los botones de enviar y borrar -->


<td align=center><input type=submit value="Enviar"></td>
<td align=center><input type=reset value="Borrar"></td>
</table>
</body>
</html>
reg_jugadores.php
Código PHP:
<html>
<head>
<title>título</title>
</head>
<body>
<?
# recogemos en una variable el nombre de BASE DE DATOS
$base="db";

# recogemos en una variable el nombre de la TABLA
$tabla="tabla";

# recoger y adaptar las variables pasadas desde el formulario
$v1=$p_v1;
$v2=$p_v2;
$v3=$p_v3;
$v4=$p_v4;

# recogemos la cadena fecha en formato AAAA-MM-DD
# para ello encadenamos los valores recogidos del formulario
# año ($p_v5[0]) mes ($p_v5[1]) y día ($p_v5[2])
# incluyendo los separadores de fechas (-)
# y los recogemos en la variable $v5
$v5=$p_v5[0]."-".$p_v5[1]."-".$p_v5[2];

# el truco de asignar en el formulario valores 1,2,4,8,16,32 a las opciones de idioma
# nos permite sumarlos aquí para obtener el valor conjunto
# aqui se suman todos los valores de la matriz pasada desde el formulario
$v6=$p_v6;
$v7=$p_v7;
 {
$v8+=$valor;
};
$v9=$p_v9;

# establecemos la conexion con el servidor
$conexion=mysql_connect("localhost","root","contraseña");

#asiganamos la conexión a una base de datos determinada
mysql_select_db($base,$conexion);

# AÑADIMOS EL NUEVO REGISTRO
mysql_query("INSERT $tabla (Nombre,Apellido1,Apellido2,Nick,Nacimiento,Ciudad,Pais,Posicion,Club) VALUES ('$v1','$v2','$v3','$v4','$v5','$v6','$v7',$v8,'$v9')",$conexion);

#comprobamos el resultado de la insercion
# el error CERO significa NO ERROR
# el error 1062 significa Clave duplicada
# en otros errores forzamos a que nos ponga el número de error
# y el significado de ese error (aunque sea en ingles)....
if (mysql_errno($conexion)==0){echo "<h2>Registro Añadido</b></H2>";
echo 
$v1."<br>";
echo 
$v2."<br>";
echo 
$v3."<br>";
echo 
$v4."/".$mes."/".$ano."<br>";
echo 
$v5."<br>";
echo 
$v6."<br>";
echo 
$v7."<br>";
echo 
$v8."<br>";
echo 
$v9."<br>";
echo 
"<a href=consulta_jugadores.php><b>Vea todos los jugadores</b></a>";
             }else{
        if (
mysql_errno($conexion)==1062){echo "<h2>No ha podido añadirse el registro</h2>";
            }else{
            
$numerror=mysql_errno($conexion);
            
$descrerror=mysql_error($conexion);
            echo 
"Se ha producido un error nº $numerror que corresponde a: $descrerror  <br>";
        }

}

# cerramos la conexion

 
mysql_close();

?>
</body>
</html>
Y espero q les sirva a otros
__________________
LuisTV
[email protected]