Foros del Web » Programando para Internet » Javascript »

Un Select En Javascript?

Estas en el tema de Un Select En Javascript? en el foro de Javascript en Foros del Web. Hola amigos! tengo un gravisimo problema, estoy haciendo una pagina en php (que algo se) pero tengo que usar un script de java y de ...
  #1 (permalink)  
Antiguo 22/06/2005, 16:21
 
Fecha de Ingreso: junio-2005
Mensajes: 337
Antigüedad: 18 años, 11 meses
Puntos: 1
Un Select En Javascript?

Hola amigos! tengo un gravisimo problema, estoy haciendo una pagina en php (que algo se) pero tengo que usar un script de java y de java sinceramente no se ni medio.

El tema es el siguiente:

Tengo una base de datos (que se llama acceso, y la tabla detalle)que es el detalles de unas camaras que se estan visualiando desde la web.
Los campos son:
numero_camara (1,2,3.....16) y ip (10.0.0.5, 1.0.0.6....)
en el script tiene una variable

var BaseURL : "http://10.0.0.5/";

yo quiero poder setear esa variable mediante la base de datos, es decir
puedo poner una variable ip que tenga un select de la base de datos?

Porque lo intente pero me tira errores , yo puse esto para abrir la base de datos:
<?
$conn= mysql_conect("localhost";"root","");
mysql_select_db("acceso",$conn);
?>

var ip= "SELECT * FROM detalle WHERE ip=ip[1]";

var BaseURL = "ip";

(originalmente BaseURL como dije arriba tenia directamente la ip de la camara)

Espero me puedan ayudar, si tengo errores de sintaxis por favor señalenmelo porque es la primera vez que agarro JavaScript.

Mil gracias desde ahora, aporten lo que puedan please!!!

Saludos desde Campana, provincia de Buenos Aires, desesperadamente!!!
  #2 (permalink)  
Antiguo 23/06/2005, 01:14
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Hola!

Lo de hacer un select en Javascript de SQL es dificil o poco recomendable ya que Javascript trabaja en el lado del cliente y la base de datos está en el servidor.
Si quieres puedes construir un array en Javascript con los datos que hayas sacado de la base de datos con PHP. O construirte un combobox desde php. En el siguiente ejemplo tienes las dos cosas. En el combo he puesto que cuando se seleccione un valor cambie la página de un supuesto frame o iframe llamado camara. Es un ejemplo parecido, supongo, a lo que tendrás hecho o a lo que quieras hacer. Cualquier cosa preguntas, eh?
Código PHP:
<?
$servidor
='localhost'
$nombreBD "root"
$clave "clave";
$baseDeDatos "acceso"
$conexionBD mysql_connect($servidor,$nombreBD,$clave) or die("Error ".mysql_errno().": ".mysql_error());
mysql_select_db($baseDeDatos,$conexionBD);
var 
$sentenciaSQL "SELECT * FROM detalle";
$resultadoConsulta mysql_query($sentenciaSQL,$conexionBD);
?>
<select name = "camara" onchange='top.camara.location.href=this.value">
<?
while($valores mysql_fetch_array($resultadoConsulta)){
?>
<option value="<?=$valores['ip'];?>"> Ver cámara número <?=$valores['numero_camara'];?> </option>
<?
$listaIP
.=",'".$valores['ip']."'";
$listaCamaras.=",".$valores['numero_camara'];
}
?>
</select>
<script>
//Creamos un Array en Javascript con las cámaras y su IP

var BaseURL=[<?=$listaIP;?>];
var Camaras=[<?=$listaCamaras;?>];
</script>
Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 23/06/2005, 07:42
 
Fecha de Ingreso: junio-2005
Mensajes: 337
Antigüedad: 18 años, 11 meses
Puntos: 1
El problema esta en el codigo de la transmision de la camara

Hola KarlkanKas! antes que nada gracias!

Te cuento el script para que genere las paginas lo tengo armado de la siguiente manera:


<html>
<?
$modelo[1] = "Modelo Uno";
$modelo[2] = "Modelo Uno";
$modelo[3] = "Modelo Dos";
$modelo[4] = "Modelo Uno";
$modelo[5] = "Modelo Tres";
$modelo[6] = "Modelo Tres";
$modelo[7] = "Modelo Uno";
$modelo[8] = "Modelo Cuatro";
$modelo[9] = "Modelo Uno";
$modelo[10] = "Modelo Dos";
$modelo[11] = "Modelo Uno";
$modelo[12] = "Modelo Cinco";
$modelo[13] = "Modelo Uno";
$modelo[14] = "Modelo Dos";
$modelo[15] = "Modelo Uno";
$modelo[16] = "Modelo Uno";

$tipo[1] = "tipo 1";
$tipo[2] = "tipo 2";
$tipo[3] = "tipo 3";
$tipo[4] = "tipo 4";
$tipo[5] = "tipo 5";
$tipo[6] = "tipo 6";
$tipo[7] = "tipo 7";
$tipo[8] = "tipo 8";
$tipo[9] = "tipo 9";
$tipo[10] = "tipo 10";
$tipo[11] = "tipo 11";
$tipo[12] = "tipo 12";
$tipo[13] = "tipo 13";
$tipo[14] = "tipo 14";
$tipo[15] = "tipo 15";
$tipo[16] = "tipo 16";

$sector[1] = "stipo 1";
$sector[2] = "stipo 2";
$sector[3] = "stipo 3";
$sector[4] = "stipo 4";
$sector[5] = "stipo 5";
$sector[6] = "stipo 6";
$sector[7] = "stipo 7";
$sector[8] = "stipo 8";
$sector[9] = "stipo 9";
$sector[10] = "stipo 10";
$sector[11] = "stipo 11";
$sector[12] = "stipo 12";
$sector[13] = "stipo 13";
$sector[14] = "stipo 14";
$sector[15] = "stipo 15";
$sector[16] = "stipo 16";



?>

<header> </header>
<body bgcolor="#FFFFCC">
<center>
<p><img src="Home%20arriba%20222.JPG" width="900" height="100"></p>
<table width="75%" border="1">
<tr>
<td>
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif">C&aacute;mara</font></b></div>
</td>
<td>
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif">Modelo</font></b></div>
</td>
<td>
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif">Tipo</font></b></div>
</td>
<td>
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif">Sector</font></b></div>
</td>
<td>
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif">Habilitado/Desabilitado</font></b></div>
</td>
</tr>
<?
$enviados = array_values($HTTP_GET_VARS);
if (count($enviados) != 0) {
$cadena = $enviados[0];
}

$separador = "|";
$palabras = explode($separador, $cadena);

$columnas = 16;
$camara = 0;

for($i=0; $i <= $columnas - 1; $i++) {
$auxiliar = $camara + 1;
if ($palabras[$camara] != 0) {
?>
<tr>
<td height="12">
<div align="center"><? print $auxiliar; ?> </div>
</td>
<td height="12">
<div align="center"><? print current($modelo); next($modelo); ?> </div>
</td>
<td height="12">
<div align="center"> <? print current($tipo); next($tipo); ?></div>
</td>
<td height="12">
<div align="center"> <? print current($sector); next($sector); ?> </div>
</td>
<td height="12">
<div align="center"><img src="Boton_ok.jpg" width="24" height="20"> <a href= <? print "camara".$auxiliar.".htm"; ?> ><img src="Boton_Play_1.jpg" width="24" height="20" border="0"></a>
</div>
</td>
</tr>

<?
} else {
?>
<tr>
<td height="18">
<div align="center"><? print $auxiliar; ?></div>
</td>
<td height="18">
<div align="center"> <? print current($modelo); next($modelo); ?> </div>
</td>
<td height="18">
<div align="center"> <? print current($tipo); next($tipo); ?> </div>
</td>
<td height="18">
<div align="center"><? print current($sector); next($sector); ?></div>
</td>
<td height="18">
<div align="center"><img src="Boton_no.jpg" width="24" height="20"></div>
</td>
</tr>
<?
}
$camara = $camara + 1;
}

?>


</table>
</center></body>
</html>

Osea que ahi ya me genera las paginas camara1.htm, camara2.htm en base a la variable auxiliar.

El tema es el codigo de las paginas de las camaras (que lo saque del tutorial de la camara axis )que es el siguiente:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Prueba de Cámara</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META http-equiv=Expires content=0>
<META http-equiv=Pragma content=no-cache>
<META http-equiv=Cache-Control content=no-cache>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<CENTER>
<H2>En vivo</H2></CENTER><!-- Copiar desde aquí -->
<SCRIPT language=JavaScript>
// Seteo la url base de la cámara (BaseURL)
var BaseURL = "http://10.0.0.5/";

// DisplayWidth & DisplayHeight especifican el ancho y el alto de la imagen.
// Cambiarlos para estirar o estrechar la imagen.
var DisplayWidth = "640";
var DisplayHeight = "480";

// Seteo la dirección del archivo de video generado dentro de la cámara
var File = "axis-cgi/mjpg/video.cgi?resolution=640x480";

// A partir de aquí no se necesitan más cambios

var output = "";

if ((navigator.appName == "Microsoft Internet Explorer")&&(navigator.platform != "MacPPC")&&(navigator.platform != "Mac68k"))
{
// Si utilizo Internet Explorer para Windows entonces uso ActiveX
output = "<OBJECT ID=\"CamImage\" WIDTH="
output += DisplayWidth;
output += " HEIGHT=";
output += DisplayHeight;
output += " CLASSID=CLSID:917623D1-D8E5-11D2-BE8B-00104B06BDE3 ";
output += "CODEBASE=\"";
output += BaseURL;
output += "activex/AxisCamControl.cab#Version=2,20,0,6\">";
output += "<PARAM NAME=\"URL\" VALUE=\"";
output += BaseURL;
output += File;
output += "\"> <BR><B>Axis ActiveX Camera Control</B><BR>";
output += "The AXIS ActiveX Camera Control, which enables you ";
output += "to view live image streams in Microsoft Internet";
output += " Explorer, could not be registered on your computer.";
output += "<BR></OBJECT>";
}
else
{
// Si no es IE para Windows usar el propio browser para mostrar
output = "<IMG SRC=\"";
output += BaseURL;
output += File;
output += "&dummy=garb\" HEIGHT=\"";
// El dummy cgi-parameter anterior sirve para algunas versiones de NS
output += DisplayHeight;
output += "\" WIDTH=\"";
output += DisplayWidth;
output += "\" ALT=\"Moving Image Stream\">";
}

document.write(output);

</SCRIPT>
<!-- Fin de la parte de muestreo -->
<CENTER>
<P>&nbsp;</P>
</CENTER></BODY></HTML>

Ahi anda perfecto, yo le introduje este cambio:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Prueba de Cámara</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META http-equiv=Expires content=0>
<META http-equiv=Pragma content=no-cache>
<META http-equiv=Cache-Control content=no-cache>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<CENTER>
<H2>En vivo</H2></CENTER><!-- Copiar desde aquí -->
<?
$enviados = array_values($HTTP_POST_VARS);
$usuario= $enviados[0];
$contrasena= $enviados[1];

//conecto con la base de datos
$conn = mysql_connect("localhost","root","");
mysql_select_db("acceso",$conn);

?>

<SCRIPT language=JavaScript>
var ip = "SELECT * FROM detalle WHERE ip=ip[1]";

var BaseURL= "ip";
// Seteo la url base de la cámara (BaseURL)
//var BaseURL = "http://10.0.0.5/";

// DisplayWidth & DisplayHeight especifican el ancho y el alto de la imagen.
// Cambiarlos para estirar o estrechar la imagen.
var DisplayWidth = "640";
var DisplayHeight = "480";

// Seteo la dirección del archivo de video generado dentro de la cámara
var File = "axis-cgi/mjpg/video.cgi?resolution=640x480";

// A partir de aquí no se necesitan más cambios

var output = "";

if ((navigator.appName == "Microsoft Internet Explorer")&&(navigator.platform != "MacPPC")&&(navigator.platform != "Mac68k"))
{
// Si utilizo Internet Explorer para Windows entonces uso ActiveX
output = "<OBJECT ID=\"CamImage\" WIDTH="
output += DisplayWidth;
output += " HEIGHT=";
output += DisplayHeight;
output += " CLASSID=CLSID:917623D1-D8E5-11D2-BE8B-00104B06BDE3 ";
output += "CODEBASE=\"";
output += ip;
output += "activex/AxisCamControl.cab#Version=2,20,0,6\">";
output += "<PARAM NAME=\"URL\" VALUE=\"";
output += ip;
output += File;
output += "\"> <BR><B>Axis ActiveX Camera Control</B><BR>";
output += "The AXIS ActiveX Camera Control, which enables you ";
output += "to view live image streams in Microsoft Internet";
output += " Explorer, could not be registered on your computer.";
output += "<BR></OBJECT>";
}
else
{
// Si no es IE para Windows usar el propio browser para mostrar
output = "<IMG SRC=\"";
output += ip;
output += File;
output += "&dummy=garb\" HEIGHT=\"";
// El dummy cgi-parameter anterior sirve para algunas versiones de NS
output += DisplayHeight;
output += "\" WIDTH=\"";
output += DisplayWidth;
output += "\" ALT=\"Moving Image Stream\">";
}

document.write(output);

</SCRIPT>
<!-- Fin de la parte de muestreo -->
<CENTER>
<P>&nbsp;</P>
</CENTER></BODY></HTML>


Y ahi el tema es que me toma el valor desde la base de datos pero en lugar de transmitir en vivo toma la primer imagen y se congelan, una especie de foto.

Bueno se que me explaye mucho, pero espero me puedas ayudar!!

Gracias y besos,

Última edición por laulaurys; 23/06/2005 a las 07:44 Razón: me olvide el titulo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:24.