Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - jga

Páginas: [1] 2
1
De todas maneras el % antes y después de una letra o trozo de palabra puede no funcionar como quieres ,  porque  imagínate que en la búsqueda pones " io " , creo que te saldrían también casi todos los elementos ( que contengan io ) y no es una búsqueda muy precisa , pero esa es solo mi opinión claro.Usa la consola de chrome o firefox ( F12 ) para saber bien lo que te esta haciendo el código , yo lo hago y veo errores.

2
Hola amigos , estoy practicando con las matrices multidimensionales , en este caso es tridimensional , pero tengo una incidencia , el codigo es este:
Código: [Seleccionar]
package cursoJava;

public class arrayPaises {

 public static void main(String[] args) {
  // TODO Auto-generated method stub

  String [][][] paises= new String [3][3][3];
 
  //3 Paises
  paises[0][0][0]="España";
  paises[1][0][0]="Italia";
  paises[2][0][0]="Francia";
 
 //Ciudades de los 3 paises
  paises[0][0][0]="Madrid";
  paises[0][1][0]="Malaga";
  paises[0][2][0]="Bilbao";
  paises[1][0][0]="Roma";
  paises[1][1][0]="Milan";
  paises[1][2][0]="Modena";
  paises[2][0][0]="Paris";
  paises[2][1][0]="Marseille";
  paises[2][2][0]="Poitier";
 
  //Calles de las 3 ciudades
  paises[0][0][0]="Calle de Madrid 1";
  paises[0][0][1]="Calle de Madrid 2";
  paises[0][0][2]="Calle de Madrid 3";
  paises[0][1][0]="Calle de Malaga 1";
  paises[0][1][1]="Calle de Malaga 2";
  paises[0][1][2]="Calle de Malaga 3";
  paises[0][2][0]="Calle de Bilbao 1";
  paises[0][2][1]="Calle de Bilbao 2";
  paises[0][2][2]="Calle de Bilbao 3";
 
  paises[1][0][0]="Via di Roma 1";
  paises[1][0][1]="Via di Roma 2";
  paises[1][0][2]="Via di Roma 3";
  paises[1][1][0]="Via di Milan 1";
  paises[1][1][1]="Via di Milan 2";
  paises[1][1][2]="Via di Milan 3";
  paises[1][2][0]="Via di Modena 1";
  paises[1][2][1]="Via di Modena 2";
  paises[1][2][2]="Via di Modena 3";
 
  paises[2][0][0]="Rue du Paris 1";
  paises[2][0][1]="Rue du Paris 2";
  paises[2][0][2]="Rue du Paris 3";
  paises[2][1][0]="Rue du Marseille 1";
  paises[2][1][1]="Rue du Marseille 2";
  paises[2][1][2]="Rue du Marseille 3";
  paises[2][2][0]="Rue du Poitier 1";
  paises[2][2][1]="Rue du Poitier 2";
  paises[2][2][2]="Rue du Poitier 3";
 
 
  for(int i=0;i<paises.length;i++){
   System.out.println(paises[i]);
   
   for(int j=0;j<paises[i].length;j++){
    System.out.println("    "+paises[i][j]);
   
    for(int k=0;k<paises[i][j].length;k++){
     System.out.println("        "+paises[i][j][k]);
     
    }
   }
  }
 }
}



pero al imprimir por consola aparece esto:
Código: [Seleccionar]
[[Ljava.lang.String;@659e0bfd   //pais 1
    [Ljava.lang.String;@2a139a55   //ciudad 1 de pais 1
        Calle de Madrid 1
        Calle de Madrid 2
        Calle de Madrid 3
    [Ljava.lang.String;@15db9742  //ciudad 2 de pais 1
        Calle de Malaga 1
        Calle de Malaga 2
        Calle de Malaga 3
    [Ljava.lang.String;@6d06d69c  //ciudad 3 de pais 1
        Calle de Bilbao 1
        Calle de Bilbao 2
        Calle de Bilbao 3
[[Ljava.lang.String;@7852e922   //pais 2
    [Ljava.lang.String;@4e25154f   //ciudad 1 de pais 2
        Via di Roma 1
        Via di Roma 2
        Via di Roma 3
    [Ljava.lang.String;@70dea4e   //ciudad 2 de pais 2
        Via di Milan 1
        Via di Milan 2
        Via di Milan 3
    [Ljava.lang.String;@5c647e05   //ciudad 3 de pais 2
        Via di Modena 1
        Via di Modena 2
        Via di Modena 3
[[Ljava.lang.String;@33909752   // pais 3
    [Ljava.lang.String;@55f96302   //ciudad 1 de pais 3
        Rue du Paris 1
        Rue du Paris 2
        Rue du Paris 3
    [Ljava.lang.String;@3d4eac69   //ciudad 2 de pais 3
        Rue du Marseille 1
        Rue du Marseille 2
        Rue du Marseille 3
    [Ljava.lang.String;@42a57993   //ciudad 3 de pais 3
        Rue du Poitier 1
        Rue du Poitier 2
        Rue du Poitier 3
No entiendo porque aparecen esas variables en vez del pais y la ciudad correspondiente.
Saludos.

3
Hola de nuevo , siento la tardanza en contestar pero lo habia olvidado , al final vi el error y esaba en las rutas a los archivos php del archivo myjava.js lo demas esta como ya dije y ya funciona sin problemas , un abrazo y gracias.

4
Gracias otra vez ,mastermind por tu tiempo , veras , he decidido buscar otra funcion que haga lo mismo pero mas simplificado si se puede decir , me he descargado tambien los archivos y doy fe de que funciona , cuando deja de funcionar es cuando adapto las variables a mi base de datos , intentare explicarlo todo detalladamente a ver si podemos dar con el fallo    ;)

el primer archivo es este conexion.php

Código: [Seleccionar]
<?php
$conexion 
mysql_connect('127.0.0.1''root''root');
mysql_select_db('lugares'$conexion);
?>


y yo lo dejo asi

Código: [Seleccionar]
<?php
$conexion 
mysql_connect('localhost''root''root');
mysql_select_db('alumnos'$conexion);
?>

no falla al conectar , por lo que creo que eso no es



segundo archivo index.php
Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nuevo</title>
<link href="../css/estilo.css" rel="stylesheet">
<script src="../js/jquery.js"></script>
<script src="../js/myjava.js"></script>
</head>
<body>
<header>
PETICION DE DATOS CON EL OBJETO "SELECT"
</header>
<section>
<select id="ciudad">
<?php require('../php/conexion.php'); 
$lug mysql_query("SELECT * FROM ciudad ORDER BY nomb_ciudad");
echo '<option selected="selected" disabled="disabled">Elija su Ciudad</option>';
while($lug2 mysql_fetch_array($lug)){
echo '<option value="'.$lug2['id_ciudad'].'">'.$lug2['nomb_ciudad'].'</option>';
}
?>

</select><br /><br />

<select id="provincia">
</select><br /><br />

<select id="distrito">
</select>
</section>
</body>
</html>

y yo lo dejo asi
Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nuevo</title>
<link href="../css/estilo.css" rel="stylesheet">
<script src="../js/jquery.js"></script>
<script src="../js/myjava.js"></script>
</head>
<body>
<header>
PETICION DE DATOS CON EL OBJETO "SELECT"
</header>
<section>
<select id="ciudad">
<?php require('../php/conexion.php'); 
$lug mysql_query("SELECT * FROM alumnos ");
echo '<option selected="selected" disabled="disabled">Elija Alumno</option>';
while($lug2 mysql_fetch_array($lug)){
echo '<option value="'.$lug2['dni_a'].'">'.$lug2['nombre'].'</option>';
}
?>

</select><br /><br />

<select id="provincia">
</select><br /><br />

<select id="distrito">
</select>
</section>
</body>
</html>
lo unico que cambio como ves es el select que esta probado en la base de datos y arroja resultados , y dentro del option el value dni_a que contiene el dni del alumno que en ese momento esta elegido y el campo que se mostrara en la lista de la seleccion que es el nombre del alumno ( aunque el valor que se usara para relacionar las tablas debe ser el dni porque es la primary key )

tercer archivo myjava.js

Código: [Seleccionar]
$(function(){
//Aqui se coge el elemento ciudad y con la propiedad .on que requiere dos  parametros : change (cuando el valor de ese id cambie, que es cuando se elige otra opcion en la desplegable)y ejecutar la siguiente funcion cuando se haga change
$('#ciudad').on('change', function(){
//el primer parametro de la funcion y lo primero que hace , es obtener el valor con .val() el valor (lo que esta seleccionado despues de elegir de la lista que aparece)del elemento con el id ciudad que es el que corresponde a la primera lista desplegable y lo mete en la variable $id
var id = $('#ciudad').val();
// lo segundo que hace la funcion es encontrar la pagina donde se va va enviar el valor guardado en $id a traves del metodo POST , en esta pagina esta la consulta mysql y la variable $id se podra usar en ella para obtener por ejemplo un SELECT * FROM provincia WHERE id_ciudad = '$id' , ya que $id en el paso anterior se cargo con el valor que se obtuvo de la lista desplegable que tenia el id ciudad , esta pagina se almacena tambien en una variable llamada url
var url = '../php/agrega_provincias.php';
//en esta parte se le da la informacion a ajax para que trabaje: como se enviara la informacion (POST) 
$.ajax({
//como se enviara la informacion (POST)
type:'POST',
//la pagina (guardada antes en la variable url)
url:url,
//el valor de $id recogido antes
data:'id='+id,
// los datos que los echo de los dos option que estan en la pagina guardada en la variable url
success: function(data){
//con esto de abajo se borraran los datos que tuviera la siguiente select para evitar que si en la primera se cambia de ciudad en la segunda select no se quede una provincia que no sea la de la ciudad del primer select , o sea que borra el segundo select si el primero se cambia
$('#provincia option').remove();
//con esto despues de borrarlo se añade otra vez la lista de opciones referente a la del primer select
$('#provincia').append(data);
}
});
return false;
});

$('#provincia').on('change', function(){
var id = $('#provincia').val();
var url = '../php/agrega_distritos.php';
$.ajax({
type:'POST',
url:url,
data:'id='+id,
success: function(data){
$('#distrito option').remove();
$('#distrito').append(data);
}
});
return false;
});
});

aqui no he cambiado nada porque los id de los select me da igual cambiarlos ya que a efectos del programa no se ven aunque es conveniene cambiarlos para este ejemplo no lo hago por comodidad , este archivo es el que procesa la informacion de index.php

archivo agrega_provincias.php que es el que cargara el select con todas las provincias relacionadas con la ciudad ( en mi caso con el curso relacionado con el alumno a traves del dni
Código: [Seleccionar]
<?php
require('conexion.php');
$id $_POST['id'];
$prov mysql_query("SELECT * FROM provincia WHERE id_ciudad = '$id' ORDER BY nomb_provincia");
if(mysql_num_rows($prov)>0){
echo '<option selected="selected" disabled="disabled">Elija su Provincia</option>';
while($prov2 mysql_fetch_array($prov)){
echo '<option value="'.$prov2['id_provincia'].'">'.$prov2['nomb_provincia'].'</option>';
}
}
?>


yo lo dejo asi
Código: [Seleccionar]
<?php
require('conexion.php');
//llega la variable desde el proceso de ajax ( en el proceso ajax se le llama id y se envia por post )a traves del metodo post y se guarda en la variable $id , que contiene el dni del alumno 
$id $_POST['id'];
//sencilla consulta que devuelve el curso donde el dni del alumno es igual al de la variable $id ( que no se debe tocar ya que almacena el dni ) 
$prov mysql_query("SELECT curso FROM cursos , alumnos WHERE dni_a='id' AND curso=ncurso ");
if(mysql_num_rows($prov)>0){
echo '<option selected="selected" disabled="disabled">Elije el curso</option>';
while($prov2 mysql_fetch_array($prov)){
echo '<option value="'.$prov2['curso'].'">'.$prov2['curso'].'</option>';
}
}
?>

cambio solo la sentencia select , tambien probada en la base de datos en phpmyadmin y funciona ya que ncursos es foranea de curso en cursos , tambien cambio el value del option para que quede preparado en el siguiente select donde se mostraran las asignaturas de ese curso , pero no consigo que se cargue el primer select , y como digo he probado con el ejemplo introduciendo las tablas del archivo sql que habia en el ejemplo y funciona a la perfeccion , asi que no se que puede ser , como no sea que yo tengo las tablas en utf8 general y el en latin swedish , pero no creo que sea eso  porque una vez llegue a cargar el priimer select , pero era integramente php y tenia que reenviar informacion al servidos y validar asi que me decidi por ajax sel cual se poco aunque esta funcion es sencilla , bueno despues de este rollo espero aclarar algo porque estoy mas quemao ya...
gracias y un saludo

edito para agregar una cosa, he abierto el inspector de firefox y al mirar en el elemento select me sale un mensaje que dice :
 
warning include conexion.php : failed to open stream: no such file or directory in C:\xampp\htcdocs\vistas\index.php on line 16

y debajo otro

warning include() : failed opening 'conexion.php for inclusion (include_path'.;C:\xampp\php\PEAR') in C:\xampp\htcdocs\vistas\index.php on line

vuelvo a editar : cuaderno de bitacora ,capitan picard , fecha estelar..... bueno parece que avanzamos a trompicones , he editado el fichero index.html y he añadido
$conn=mysqli_connect('localhost','root','root','alumnos_hnp') ;
usando mysqli en vez de mysql
      $lug = mysqli_query($conn,"SELECT * FROM alumnos ");

y me carga el primer select con los nombres ...pero en el segundo select no carga nada, esto es pa mear y no echar gota ...voy a hacer lo mismo en el archivo agrega_provincias.php a ver que pasa.

5
Gracias por tu pronta respuesta mastermind , ante todo decirte que el codigo no es mio , lo he encontrado en una pagina web completo y ademas se explica en un video , lo que yo quiero es adaptarlo para probarlo con mi  base de datos , ya que n la pagina ademas viene la base de datos , y he probado su funcionamiento en mi equipo y funciona , el problema viene cuando lo adapto a mi bbdd , el archivo conexion funciona al cambiarlo , pero tengo algun problema con el archivo index.php o el archivo cursos.php porque no consigo que transmita correctamente el valor de la variable elegida en index.php  . Lo de el action vacio es porque solo estoy probando que se carguen los desplegables simplemente , un saludo.

la pagina web donde esta el ejemplo por si sirve para algo

http://www.tutorialesenvideo.net/select-o-combox-dependientes/

un saludo.

6
Hola de nuevo amigos , vereis , quiero cargar dos select box con los datos de una bbdd que tengo para ello uso cuatro documentos

el de conexion a la bbdd , que si me lo permitiis ,omitire porque funciona y no es parte del problema ,

uno con el formulario index.php
Código: [Seleccionar]
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>

<style>
div{
width:300px; float:left;
padding:10px;
background:#f6f6f6;
}
</style>
<script type="text/javascript" language="javascript" src="js/ajax.js"></script>

</head>
<body>
<?php include ("conexion.php");?>
<?php mysql_select_db($baseDatos);?>
<?php 
$sql="select * from alumnos ";
$res=mysql_query($sql);
?>

<form name="form1" action="">
<div>
Alumnos:
<select name="alumno" id="" onchange="from(document.form1.alumno.value,'midiv','curso.php')">
<option value="0">Seleccione</option>
<?php while ($fila=mysql_fetch_array($res)){ ?>
<option value="<?php echo $fila['dni_a']?>"><?php echo $fila['dni_a']?></option>
<?php }?>
</select>
</div>

<div id="midiv">

</div>



</form>
</body>
</html>



otro con el documento curso.php
Código: [Seleccionar]
<?php include ("conexion.php");?>
<?php mysql_select_db($baseDatos);?>
<?php 
$sql="select ncurso from alumnos where ncurso=".$_GET['ncurso'];
$res=mysql_query($sql);

?>


Curso:
<select name="curso" >
<?php while ($fila=mysql_fetch_array($res)){ ?>
<option value="<?php echo $fila['ncurso']?>"><?php echo $fila['ncurso']?></option>
<?php }   ?>
</select>

y el documento ajax.php con la funcion for que recibe el valor del select con nombre "alumno" , el div que tiene que refrescar "midiv" y la pagina a la que se envia el valor elegido de "alumno"  mediante get , para usarlo en la consulta que escribirá en "midiv" , el contenido de la pagina cursos.php que sera la seleccion de otro campo de la tabla de la bbdd relacionado con ese id , mostrando una nueva lista .
Código: [Seleccionar]
function obtiene_http_request()
{
var req = false;
try
  {
    req = new XMLHttpRequest(); /* p.e. Firefox */
  }
catch(err1)
  {
  try
    {
     req = new ActiveXObject("Msxml2.XMLHTTP");
  /* algunas versiones IE */
    }
  catch(err2)
    {
    try
      {
       req = new ActiveXObject("Microsoft.XMLHTTP");
  /* algunas versiones IE */
      }
      catch(err3)
        {
         req = false;
        }
    }
  }
return req;
}
var miPeticion = obtiene_http_request();
//***************************************************************************************
function from(id,ide,url){
var mi_aleatorio=parseInt(Math.random()*99999999);//para que no guarde la página en el caché...
var vinculo=url+"?id="+id+"&rand="+mi_aleatorio;
//alert(vinculo);
miPeticion.open("GET",vinculo,true);//ponemos true para que la petición sea asincrónica
miPeticion.onreadystatechange=miPeticion.onreadystatechange=function(){
               if (miPeticion.readyState==4)
               {
   //alert(miPeticion.readyState);
                       if (miPeticion.status==200)
                       {
                                //alert(miPeticion.status);
                               //var http=miPeticion.responseXML;
                               var http=miPeticion.responseText;
                               document.getElementById(ide).innerHTML= http;

                       }
               }/*else
               {
document.getElementById(ide).innerHTML="<img src='ima/loading.gif' title='cargando...' />";

                }*/
       }
       miPeticion.send(null);

}
//************************************************************************************************
function limpiar()
{
document.form.reset();

}

pues bien , el error que me da en la pagina index.php es que al seleccionar el dni en la primera lista y elegir un dni , al ir a seleccionar en la otra lista del curso me dice Notice: Undefined index: ncurso in C:\xampp\htdocs\curso.php on line 4 y no veo el error tras revisarlo , espero que alguien lo vea , un abrazo fuerte y gracias.

8
Hola amigos , tengo un problema al relacionar dos tablas en mysql , el problema , no se si llamarlo asi es el siguiente :
tengo dos tablas , en una profesores tengo la primary key compuesta por el nombre , apellidos y el nombre del centro de trabajo , porque he elegido estos tres campos para crear una clave primaria compuesta? , porque el dni , que seria lo ideal no esta disponible como opcion , y como dos profesores de distintos centros se pueden llamar igual ( hay un par que se apellidan igual , por increible que parezca ) poniendo el centro tambien , ya es muy dificil , por no decir imposible , que en el mismo centro docente dos profesores se llamen y apelliden idenicamente .

en la segunda tabla tengo las asignaturas ,; cada profesor de ese centro tiene una especialidad , que no tiene otro profesor del centro ( podria haber varios profesores en el centro que tambien tienen esa especialidad en cuyo caso seria una relacion N:N y habria que crear otra tabla con la relacion y sus atributos , mas las claves primarias de las otras dos entidades ) y llego al qui de la cuestion despues del rollo , al intentar asignar las foreign key nombre apellidos y centro que aparecen en asignatura como foraneas de nombre ,apellidos y centro de la primaria de la tabla profesores solo me coge un campo como foranea pero los otros dos no .

pongamos que escribo la sentencia :
 alter table asignaturas add foreign key (nombre_prof,apellidos_prof,centro_prof) references profesores (nombre,apellidos,centro)

y no me da ningun error , la sentencia se valida como buena , pero al hacer :

describe asignaturas

ma aparece en el campo key : asignatura PRI , nombre MUL y apellidos y centro no tienen nada en el campo key .

y aqui despues de todo el rollo pesado este que acabo de soltar viene la pregunta final :

es esto correcto? quiero decir , lo he hecho bien y solo debe aparecer un campo MUL de las tres foraneas ,  para la clave primaria compuesta por tres campos de la otra tabla ?
es que segun el manual para una clave primaria compuesta , hacen falta los mismos campos para la clave foranea. tambien he intentado añadirlas una a una pero me da el error de cannot add constraint ....blablabla

espero no haber sido un pesado pero queria explicarme lo mas claramente posible , un abrazo fuerte y gracias.

9
Hola , amigos como estais , posiblemente ya lo sabeis los dos , pero me arriesgarè y diré que  basta con poner type number  en el campo de texto , text para texto y email para email , quedando la opcion de required si se desea que sea obligatorio rellenarlo , espero no haber dicho una perogrullada , un abrazo fuerte.

10
he vuelto a seguir tus recomendaciones , y , hecho compañero , no sabes lo que te lo agradezco , voy a poner aqui los codigos de los documentos que he usado y asi si alguien necesita hacerlo puede consultarlo , porque antes busqué un tema con algo asi , pero especifico no lo encontré, un abrazo fuerte y gracias por tu tiempo.

config.php

Código: [Seleccionar]
<?php

/*
 * Archivo de configuración de la conexion a la BD
 * * $server : nombre del servidor de la base de datos
 * * $username : nombre del usuario de la base de datos
 * * $password : password del usuario de la base de datos
 * * $databas_name : nombre de la base de datos
 */

$server 'localhost';
$username 'root';
$password 'root';
$database_name 'alumnos';

?>



archivo conexion.php
Código: [Seleccionar]
<?php

/*
 * Código de conexión a una base de datos mediante sintaxis de mysqli
 */
include 'config.php';

$conexion = new mysqli($server,$username,$password,$database_name);

if ( 
$conexion->connect_error 

    die(
'Error de Conexión'$conexion->connect_error);
}
else
{
    
//echo 'Conexion OK';
}

?>



archivo formulario.php con la lista <select>

Código: [Seleccionar]
<?php

/*
 * Código para mostrar datos dinámicamente en un combobox.
 */

include 'conexion_mysqli.php';

$query 'SELECT * FROM cursos';

$result $conexion->query($query);

?>

<select>   
    <?php    
    
while ( $row $result->fetch_array() )    
    {
        
?>

   
        <option value=" <?php echo $row['curso'?> " >
        <?php echo $row['curso']; ?>
        </option>
       
        <?php
    
}    
    
?>
       
</select>
<?php

?>



11
 ya estamos aqui otra vez , siento molestar  tanto , veras , he probado el codigo tal cual mencionas y sigue pasando lo mismo , ya no se que pensar ; si  soy un inutil o es que tengo mala suerte ,  tendra algo que ver el tipo de campo de la tabla mysql? esta en varchar , un abrazo y muchas gracias por todo.

12
Ante todo gracias por tu valioso tiempo Ogramar , veras , con tu recomendacion he probado este codigo
Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Elegir curso</title>
</head>
<body>

 <?php

$conn
=mysqli_connect("localhost","root","root","alumnoshnp") ;
if (
$conn)echo "conexion ok" ;
else echo 
"conexion ko";


$consulta="select * from cursos";

$resultado=mysqli_query($conn,$consulta);
 
 while(
$lista=mysqli_fetch_array($resultado))
 echo 
"</br>".$lista["curso"]."</br>" ;
  
?>


</body>
</html>

y me devuelve los nombres de los cursos perfectamente

para cargarlos en la lista creo este otro :

Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
curso<br />
<select name="select1">
   
       <?
            $conn=mysqli_connect("localhost","root","root","alumnoshnp") ;
                  if ($conn)echo "conexion ok" ;
                 else echo "conexion ko";
                 $consulta="select * from cursos";
                 $resultado=mysqli_query($conn,$consulta);
                       
                        while($lista=mysqli_fetch_array($resultado))
 
    ?>
                   <option  value="<? $lista['curso']?> ">
                           <? $lista['curso']?>
                   </option>
   
</select>

</body>
</html>

y aparece la pestaña , pero al pulsar sobre ella no aparece nada , ni siquiera las opciones en blanco , un abrazo.

13
Hola como estais, he estado usando el buscador y no he encontrado ningun post referente a mi caso. Intentare explicarme , tengo un problema con una lista desplegable a la hora de que me recoja los campos de una tabla que hay en una base de datos . La base de datos tiene una tabla llamada cursos con un solo campo curso en el que figuran el nombre de los cursos , y lo que quiero hacer es que cuando actualice la lista de cursos de la bbdd aparezcan los nuevos cursos en la lista desplegable , y es por eso que tiene que coger la lista de cursos de la bbdd , pero al pulsar en la desplegable no hace nada, espero que podais orientarme un poco porque he probado varias cosas y no doy con ello ,
el codigo que escribo es este es este


Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Elegir curso</title>
</head>
<body>
curso<br />
 <?php
// Consultar la base de datos
$conn=mysqli_connect("localhost","root","root","alumnoshnp");
$consulta_mysql='select * from cursos';
$resultado_consulta_mysql=mysqli_query($consulta_mysql,$conn);
 
?>

 <select name="selectcurso">
  <?php
 
while($lista=mysqli_fetch_assoc($resultado_consulta_mysql))
   echo 
"<option  value='".$lista["curso"]."'>"."</option>"
  
?>

</select>
</body>
</html>


gracias y un abrazo.

14
Hola! ,veras , lo que pretendo hacer es que no deje introducir numeros en el campo nombre del formulario , ni tampoco en el campo de apellidos , los acepta y los guarda en la bbdd a pesar de que uso el metodo is_string ( aunque este ultimo no se si lo uso bien y de ahi mi duda),  con javascript se que se puede , pero buscaba una solucion en php , gracias por la respuesta y un abrazo.

15
A la orden!



formulario de carga de los datos

Código: [Seleccionar]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<link type="text/css" rel="stylesheet" href="estilos.css" />
</head>

<body>
<?php
include "cabecera.html"
?>

<div id="principal">

<form method="post" action="insertar agenda.php">
<h1>Introduzca sus datos</h1>
<p><br />
 
  Nombre<input name="nombre" type="text" />
</p>
<p><br />
  apellidos<input name="apellidos" type="text" />
</p>
<p><br />
  telefono<input name="tlfno" type="text" />
</p>
<p><br />
  e-mail<input name="email" type="text" /><br />
</p>
<input name="" type="submit" value="Registrar" />




</form>
</div>
<?php
include "pie.html"
?>

</body>
</html>

PHP que inserta los datos en la bbdd


Código: [Seleccionar]
<?php
$connect
=mysqli_connect("localhost","root","","academia");
if (
$connect) {
echo "conexion exitosa. <br />";
$id='';//auto incrementa sola el compo id , tambien se puede usar auto_increment y `rimary key al crear la tabla
$nombre$_POST ['nombre'];
$apellidos$_POST ['apellidos'];
$telefono$_POST ['tlfno'];
$email$_POST ['email'];
$consulta="insert into agenda values ('$id','$nombre','$apellidos',$telefono,'$email')";

$resultado=mysqli_query($connect,$consulta);

if ($resultado) {
echo "perfil almacenado. <br />";
}
else {
echo "error en la ejecución de la consulta. <br />";
}

if (mysqli_close($connect)){ 
echo "desconexión realizada. <br />";

else {
echo "error en la desconexión";
}
}

?>


la hoja de estilos y la cabecera y el pie no los creo necesarios , ademas son facilitos.

Espero que ayude , un abrazo.

16
Hola gente que hay de nuevo, estoy aprendiendo con php y estoy haciendo un ejercicio para crear una tbla en una base de datos a traves de php todo ello , y el problema que tengo es el siguiente : restringir que en dos de los campos del formulario  que van a rellenar la tabla , no se permita introducir caracteres numericos , es decir que en los campos nombre y apellidos para ser mas concretos se obligue a introducir solo letras para ello uso estos codigos

HTML / PHP
Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="estilos.css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<?php
include "cabecera.html"
?>

<div id="principal">
<form action="recibe opinion.php" method="post">
  <p>
    <label>Nombre
      <input required="required" type="text" name="nombre" id="textfield" />
    </label>
    <label><br />
      <br />
      Apellidos
      <input required="required" name="apellidos" type="text" />
    </label>
    <label><br />
      <br />
      Deje su opinion<br />
      <textarea required="required" name="texto" cols="50"></textarea>
    </label>
  </p>
  <p>
    <input type="submit" name="boton" id="button" value="Enviar" />
  </p>
</form>
</div>
<?php
include "pie.html"
?>


</body>
</html>



PHP

Código: [Seleccionar]
<?php

include "cabecera.html";

$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$texto=$_POST['texto'];
$fecha=date('l/d/M/Y');
$id=0;
$check1=bool (is_string($nombre));
$check2bool (is_string($apellidos));

$conectar=mysqli_connect("127.0.0.1","root","","cdcol");
 



if ($check1==true && $check2==true)
{
 
  
if ($conectar)
  
{
    

   echo "conexion relizada a la base de datos ";
  
$tabla=" create table if not exists cdcol.opinion (ID int(255)auto_increment primary key,nombre varchar(20),apellidos varchar(20),opinion varchar(99999),fecha varchar(20))" ;
$ejecutatabla=mysqli_query($conectar,$tabla);
$insert="insert into opinion values ('$id','$nombre','$apellidos','$texto','$fecha')";
$ejecutainsert=mysqli_query($conectar,$insert);
if ($ejecutainsert){echo "</br> gracias por su opinion";}



else{echo "</br> error en la estructura de la consulta";}


}

else{echo "el campo nombre y el campo apellidos solo permiten texto sin numeros";}// si no son texto
}


else {echo "conexion fallida";} 

mysqli_close($conectar);echo  " </br> desconectado";

include 
"pie.html";
?>


agradeceria una aclaracion , gracias y un abrazo!

17
Gracias por las anotaciones Mastermind he reestructurado el codigo y  va ok , es que estoy empezando con php y eso se nota ::) pero es un gran apoyo que me ayudeis como hasta ahora  , gracias de nuevo y un abrazo .

18
Hola a todos , estoy intentando crear un php que devuelva el telefono de una tabla de una base de datos , insertando el nombre y apellidos pero me da errores por todos lados y no consigo entenderlo


la tabla es esta

http://subefotos.com/ver/?0773b601f9d17b8cc9392caad95cf9edo.png



el formulario
Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<label for="textfield"></label>
<form id="form1" name="form1" method="post" action="recibe telefonos.php">
  <p>Busqueda   de telefonos</p>
  <p>Nombre</p>
  <p>
    <label for="textfield2"></label>
    <input type="text" name="nombre" id="textfield2" />
  </p>
  <p>Apellidos</p>
  <p>
    <label for="textfield3"></label>
    <input type="text" name="apellidos" id="textfield3" />
  </p>
  <p>
    <input type="submit" name="button" id="button" value="Buscar" />
  </p>
</form>
</body>
</html>

el php
Código: [Seleccionar]
<?php
$nombre
=$_POST['nombre'];
$apellido $_POST['apellidos'];
?>

<?php

$connect
=mysqli_connect("127.0.0.1","jorge","","prueba");
if (
$connect)
{echo "conexion realizada.</br>";

$selec"select telefono from persona where apellidos='$apellido' and nombre='$nombre'" ;
 

$telefono=mysqli_query($connect,$selec);
if ($telefono==""){ echo " no hay ningun telefono con ese nombre y apellidos ";}

else {echo "el telefono de  ".$nombre."  ".$apellido."  es  ".$telefono;}

if (mysqli_close($connect)){echo " </br> desconexion realizada ";}

}
     else {echo 
"error en la desconexion ";}
?>


Gracias y un abrazo.

19
Hola otra vez , respecto a los errores comentados anteriormente , he investigado un poco y  parece que el codigo esta bien y es un error del servidor apache , que se puede omitir añadiendo

error_reporting('0');   al abrir  <?php  al principio
decir que el error "Notice" no es un error fatal y no impide que el programa se ejecute bien,
aunque si desactivamos el error reporting no veremos los demas posibles errores.

asi que problema resuelto y gracias por el apoyo , un abrazo.

20
Ante todo gracias por tu estimada contestacion y aclaraciones Ogramar , he probado el codigo que pusiste y corregiste y no entiendo el porque de estos errores que aparecen

error despues de introducir mal el usuario o pass

Notice: Undefined index ........on line 13 en la pagina recibe_inicio_de_sesion.php

(linea 13) if ($_SESSION['entrar']==1)

  despues de ingresar correctamente

Notice: Undefined index ........on line 17 en la pagina inicio_de_sesion_exitoso

 (linea 17) session_unset ($_SESSION['entrar'])

si se intenta acceder directamente a inicio de sesion exitoso

Notice: Undefined index ........on line 3 en la pagina inicio_de_sesion_exitoso

(linea 3) if ($_SESSION['entrar'] !=1)

de nuevo te doy las gracias por tu atencion , un abrazo.

Páginas: [1] 2

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".