Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2010, 05:55
Avatar de dengaku
dengaku
 
Fecha de Ingreso: enero-2010
Mensajes: 69
Antigüedad: 15 años, 1 mes
Puntos: 1
select en fomulario con base de datos y validacion de telefono

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.