Hola a todos, tengo un nuevo problema, tengo que modificar una fila de la base de datos, para ello mediante un boton en la fila indicada hago clic y pasa a la pagina modifica_libro.php, ahi muestro un formulario con campos de texto que me muestran los datos de esa fila en cuestion, pero quiero que en el campo id_autor, no me meustre la ID, y me muestre el nombre del escritor mediante una lista desplegable (es decir en mi tabla libros tengo idautor, y en la tabla autores tengo id_autor ademas de su nombre, en vez de que salga su id salga su nombre y me deje seleccionarlo pero que al enviar el formulario me guarde el id del autor en al tabla libro junto al resto de datos.
Código:
<?PHP
//Iniciar sesión
session_start();
include("libreria1.php");
$conexion=conecta();
$cod_libro=$_REQUEST[codigo];
if (isset ($_REQUEST[modificar])){
$errores = false;
$cod_libro=$_REQUEST[cod_libro];
$titulo = $_REQUEST['titulo'];
$editorial = $_REQUEST['editorial'];
$idautor = $_REQUEST['idautor'];
$categoria = $_REQUEST['categoria'];
$copias = $_REQUEST['copias'];
$precio = $_REQUEST['precio'];
$imagen = $_REQUEST['imagen'];
if ($titulo=="") {
$error[1]=' Complete el titulo';
$errores=true;}
if ($editorial=="") {
$error[2]=' Complete la editorial';
$errores=true;}
if ($idautor=="") {
$error[3]=' Complete el ID del autor';
$errores=true;}
if ($categoria=="") {
$error[4]=' Complete la categoria';
$errores=true;}
if ($copia=="") {
$error[5]=' Complete el numero de copias';
$errores=true;}
if ($precio=="") {
$error[6]=' Complete el precio';
$errores=true;}
//print $errores."..........";
}
if (isset ($_REQUEST[modificar]) and $errores!=0){
$conexion=mysql_connect("localhost","root","") or
die("Problemas en la conexion");
mysql_select_db("bdlibro",$conexion) or
die("Problemas en la selección de la base de datos");
$sql="update libros set titulo='$titulo', editorial='$editorial', categoria='$categoria', copias='$copias', precio='$precio' where cod_libro='$cod_libro'";
//print $sql;
$registros=mysql_query($sql,$conexion) or
die("Problemas en el select:".mysql_error());
// echo "El libro fue modificado";
$pagina="carrito.php";
header("Location:$pagina");
}
else{
$conexion=mysql_connect("localhost","root","") or
die("Problemas en la conexion");
mysql_select_db("bdlibro",$conexion) or
die("Problemas en la selección de la base de datos");
$sql2="select * from libros where cod_libro='$cod_libro'";
$registros=mysql_query($sql2,$conexion) or
die("Problemas en el select:".mysql_error());
if ($fila=mysql_fetch_array($registros))
{
print '<form action="modifica_libro.php" method="post">';
print '<input type="hidden" name="cod_libro" value="'.$fila['cod_libro'].'">';
print "<br>Titulo: ";
print '<input type="text" name="titulo" value="'.$fila['titulo'].'">';
print ("<font color='#990033'>$error[1]</font><BR>");
print "<br>Editorial: ";
print '<input type="text" name="editorial" value="'.$fila['editorial'].'">';
print ("<font color='#990033'>$error[2]</font><BR>");
print "<br>Id del Autor: ";
$sql10="select nombre from autores where id_autor ='".$reg['idautor']."'";
$autores=mysql_query($sql10,$conexion) or
die("Problemas en el select:".mysql_error());
while ($reg_a=mysql_fetch_array($autores)){
print "<td><select name='autores'>
<option value=".$reg_a['nombre'].">
</select></td>";
}
// print '<input type="text" name="idautor" value="'.$fila['idautor'].'">';
// print ("<font color='#990033'>$error[3]</font><BR>");
print "<br>categoria: ";
print '<input type="text" name="categoria" value="'.$fila['categoria'].'">';
print ("<font color='#990033'>$error[4]</font><BR>");
print "<br>copias: ";
print '<input type="text" name="copias" value="'.$fila['copias'].'">';
print ("<font color='#990033'>$error[5]</font><BR>");
print "<br>precio: ";
print '<input type="text" name="precio" value="'.$fila['precio'].'">';
print ("<font color='#990033'>$error[6]</font><BR>");
print '<br>';
print '<br>';
print '<input type="submit" name="modificar" value="modificar">';
print '</form>';
}
}
?>
</body>
</html>
El problema exacto es que e empezado a ahcer esto pero no se como seguir:
Código:
print "<br>Id del Autor: ";
$sql10="select nombre from autores where id_autor ='".$reg['idautor']."'";
$autores=mysql_query($sql10,$conexion) or
die("Problemas en el select:".mysql_error());
while ($reg_a=mysql_fetch_array($autores)){
print "<td><select name='autores'>
<option value=".$reg_a['nombre'].">
</select></td>";
}
Mi siguiente consulta es si alguien sabe comprobar (en un formulario) en php un campo telefono con solo 9 numeros ni uno mas ni uno menos por ejemplo 636789735.