JavaScript - Llenar un array de Javascript desde MySQL con PHP

 
Vista:
Imágen de perfil de Carlos

Llenar un array de Javascript desde MySQL con PHP

Publicado por Carlos (16 intervenciones) el 27/11/2016 00:17:09
Estimados

estoy haciendo un campo para autocompletar un input text en mi programa de php y consegui el metodo a través de este script

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var availableTags = [
    "ActionScript",
    "AppleScript",
    "Asp",
    "BASIC",
    "C",
    "C++",
    "Clojure",
    "COBOL",
    "ColdFusion",
    "Erlang",
    "Fortran",
    "Groovy",
    "Haskell",
    "Java",
    "JavaScript",
    "Lisp",
    "Perl",
    "PHP",
    "Python",
    "Ruby",
    "Scala",
    "Scheme"
];
$( "#unidad_trabajo" ).autocomplete({
    source: availableTags
});

pero necesito que estos datos venga desde una tabla que tengo en mysql

Agradezco el apoyo que puedan darme

saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Llenar un array de Javascript desde MySQL con PHP

Publicado por xve (2100 intervenciones) el 27/11/2016 14:39:06
Hola Carlos, seria algo así:

creas la variable desde js, y posteriormente vas rellenando dicho array con los valores de la base de datos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
var availableTags=Array();
</script>
 
<?php
...
 
$result=mysqli_query(...);
foreach($row as mysqli_fetch_row($result))
{
	?>
	availableTags.push('<?php echo $row["CampoBaseDatos"])?>');
	<?php
}
?>

Otra manera, seria con AJAX...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carlos

Llenar un array de Javascript desde MySQL con PHP

Publicado por Carlos (16 intervenciones) el 27/11/2016 16:54:04
Excelente muchas gracias xve lo probare y aviso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carlos

Llenar un array de Javascript desde MySQL con PHP

Publicado por Carlos (16 intervenciones) el 27/11/2016 17:34:32
Hola

Lo he probado pero genera este error

Fatal error: Can't use function return value in write context in C:\xampp\htdocs\prueba\index.php on line 23

Aqui está el codigo que usé como prueba es un simple campo de texto que me deberia dar las opciones a elegir

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Autocomplete - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  <script>
  $( function() {
      var availableTags=Array();
    $( "#tags" ).autocomplete({
      source: availableTags
    });
  } );
  </script>
</head>
<body>
<?php
  $result=mysqli_query("SELECT DESCRIPCION_UT FROM UNIDAD_TRABAJO");
foreach($row as mysqli_fetch_row($result))
{
  ?>
  availableTags.push('<?php echo $row[0])?>');
  <?php
}
?>
<div class="ui-widget">
  <label for="tags">Tags: </label>
  <input id="tags">
</div>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Llenar un array de Javascript desde MySQL con PHP

Publicado por xve (2100 intervenciones) el 27/11/2016 20:13:25
Perdona Carlos, me deje de poner los tags de <script>...

1
2
3
4
5
6
7
8
9
foreach($row as mysqli_fetch_row($result))
{
  ?>
  <script>
  availableTags.push('<?php echo $row[0])?>');
  </script>
  <?php
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carlos

Llenar un array de Javascript desde MySQL con PHP

Publicado por Carlos (16 intervenciones) el 28/11/2016 20:14:40
Hola XEV aun me genera el mismo error te pasó este ejemplo para que lo chequees bien

Este funciona perfecto pero trae valores que tengo que colocar manual

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<!doctype html>
<html lang="en">
 
<head>
 
  <meta charset="utf-8">
 
  <meta name="viewport" content="width=device-width, initial-scale=1">
 
  <title>jQuery UI Autocomplete - Default functionality</title>
 
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
 
  <link rel="stylesheet" href="/resources/demos/style.css">
 
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
 
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
 
  <script type="text/javascript">
   $(document).ready(inicio);
   function inicio(){
      var posibilidades = [
         "Manzana",
   "Melon",
   "Pepino",
   "Papaya",
   "Sandia",
   "Fresa",
   "Limon",
   "Mamey",
   "Melocoton",
   "Mandarina",
         "Naranja",
         "Guayaba",
         "Mango",
         "Fresa",
   ];
      $("#buscador").autocomplete({source:posibilidades});
   }
</script>
 
</head>
 
<body>
 
<div class="ui-widget">
 
  <label for="tags">Tags: </label>
 
  <input id="buscador">
 
</div>
 
</body>
 
</html>

Pero este se conecta a la BD y deberia mostrar el valor pero me da el mismo error

Fatal error: Can't use function return value in write context in C:\xampp\htdocs\prueba\index.php on line 41

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<!doctype html>
<!--Conexión a la BD-->
<?php require_once('sevde.php'); ?>
 
<html lang="en">
 
<head>
 
  <meta charset="utf-8">
 
  <meta name="viewport" content="width=device-width, initial-scale=1">
 
  <title>jQuery UI Autocomplete - Default functionality</title>
 
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
 
  <link rel="stylesheet" href="/resources/demos/style.css">
 
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
 
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
 
  <script type="text/javascript">
   $(document).ready(inicio);
   function inicio(){
      var posibilidades = array();
      $("#buscador").autocomplete({source:posibilidades});
   }
</script>
 
</head>
 
<body>
<?php
  $select_sup="SELECT ID_EMPLEADO,
                      NOMBRE,
                      APELLIDO 
                          FROM EMPLEADO 
                          WHERE CONDICION_E LIKE 'ACTIVO%' ORDER BY NOMBRE";
   $resultado_sup= mysql_query($select_sup);
      foreach ($row_sup as mysql_fetch_row($resultado_sup)) {
?>
  <script>
 
  posibilidades.push('<?php echo $row['NOMBRE'])?>');
 
  </script>
 
<?php
 
      }
?>
 
<div class="ui-widget">
 
  <label for="tags">Tags: </label>
 
  <input id="buscador">
 
</div>
 
</body>
 
</html>
 
 
  </select>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Llenar un array de Javascript desde MySQL con PHP

Publicado por xve (2100 intervenciones) el 28/11/2016 21:16:18
Carlos, nuevamente te pido disculpas... programo en dos lenguajes, donde el foreach funciona diferente... tienes que ser así:

1
foreach (mysql_fetch_row($resultado_sup) as $row_sup) {
en vez de así:
1
foreach ($row_sup as mysql_fetch_row($resultado_sup)) {
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carlos

Llenar un array de Javascript desde MySQL con PHP

Publicado por Carlos (16 intervenciones) el 28/11/2016 22:22:22
No mas bien gracias por el apoyo que me estas prestando pude correrlo sin problemas el unico detalle es que no me muestra los valores que guarde en la BD jajajaja ingreso los datos y no me sale nada, le corregi algunos detalle que tenia el codigo anterior en cuanto a parentesis demas y cosas asi, e hize la conexion de la BD desde el mismo documento pero aun no logro sacar el listado

Codigo aqui
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
//CREDENTIALS FOR DB
define ('DBSERVER', 'localhost');
define ('DBUSER', 'root');
define ('DBPASS','');
define ('DBNAME','sevde');
//LET'S INITIATE CONNECT TO DB
$connection = mysql_connect(DBSERVER, DBUSER, DBPASS) or die("Can't connect to server. Please check credentials and try again");
mysql_set_charset('utf8');
$result = mysql_select_db(DBNAME,$connection) or die("Can't select database. Please check DB name and try again");
?>
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Autocomplete - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
   <script type="text/javascript">
   $(document).ready(inicio);
   function inicio(){
      var posibilidades = array();
      $("#buscador").autocomplete({source:posibilidades});
   }
</script>
</head>
<body>
<?php
  $select_sup="SELECT ID_EMPLEADO,
                      NOMBRE,
                      APELLIDO 
                          FROM EMPLEADO 
                          ORDER BY NOMBRE";
   $resultado_sup= mysql_query($select_sup);
      foreach (mysql_fetch_row($resultado_sup) as $row_sup) {
?>
  <script>
  posibilidades.push('<?php echo $row_sup['NOMBRE']?>');
  </script>
<?php
      }
?>
<div class="ui-widget">
  <label for="tags">Tags: </label>
  <input id="buscador">
</div>
</body>
</html>
  </select>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carlos

Llenar un array de Javascript desde MySQL con PHP

Publicado por Carlos (16 intervenciones) el 28/11/2016 23:49:40
Estimado XVE

aprecio mucho la ayuda brindada gracias a eso y a unas cosas que cambie consegui porfin la manera, bajando unas librerias y haciendo el array de la manera como se encuentra en el codigo anexo

Lo dejo aca para que le sea de ayuda al que lo necesite

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!--Conexión a la BD-->
<?php require_once('sevde.php'); ?>
<?php
$select_supervisor= "SELECT NOMBRE,
                                  APELLIDO FROM  EMPLEADO";
    $resultado_supervisor=mysql_query($select_supervisor);
    $array = array();
      while ($row = mysql_fetch_array($resultado_supervisor)) {
          $array[] = array (
              'label' => $row['NOMBRE'],
              'value' => $row['NOMBRE'].', '.$row['APELLIDO'],
          );
      }
 
?>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
  <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<form id="frm" method="post">
<input id="cartag" type="text" name="car">
</form>
<script>
 
$(function() {
var availableTags =  <?php echo json_encode($array); ?>;
    $( "#cartag" ).autocomplete({
    source: availableTags
    });
});
 
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Llenar un array de Javascript desde MySQL con PHP

Publicado por xve (2100 intervenciones) el 29/11/2016 07:49:23
Gracias por compartirlo Carlos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Llenar un array de Javascript desde MySQL con PHP

Publicado por fsgn66 (3 intervenciones) el 10/12/2017 23:29:00
Hola, yo tengo el mismo problema de llenar una array de javascript con una consulta de mysql en php, y no me marca error pero nunca entra al bucle del foreach, mi código es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<script>
var rs = [];
</script>
 
<?php
function llenaArreglo(){
 
$sql = "select distinct Capturista from notas";
$sql = $sql." order by Capturista";
 
 
$con = conexion();
 
$result=mysqli_query($con,$sql);
 
$total=mysqli_num_rows($result);
 
echo "total= ".$total; //Aquí imprime total= 8
 
 
foreach(mysqli_fetch_row($result) as $row)
{
 
?>
  <script>
  rs.push('<?php echo $row[0];?>'); //Aqui nunca entra
  alert("adentro");
  </script>
 
<?php
}
}
?>
 
<script>
alert("rs 4= "+rs[4]); //Aqui dice que rs[4] es indefinida
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Llenar un array de Javascript desde MySQL con PHP

Publicado por Yamil Bracho (2 intervenciones) el 10/12/2017 23:48:19
Cambia
foreach(mysqli_fetch_row($result) as $row)
por
while ($row = mysqli_fetch_row($result))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Llenar un array de Javascript desde MySQL con PHP

Publicado por fsgn (3 intervenciones) el 10/12/2017 23:57:24
Ya lo cambié por el while como dices Yamil, pero sigue sin entrar al bucle
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Llenar un array de Javascript desde MySQL con PHP

Publicado por fsgn (3 intervenciones) el 10/12/2017 23:51:25
Yo tengo el mismo problema de llenar un arreglo de JavaScript con una consulta de mysql en php, y si corre pero nunca entra al bucle del foreach, mi código es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
 
llenaArreglo();
 
?>
<script>
var rs = [];
</script>
 
<?php
function llenaArreglo(){
 
$sql = "select distinct Capturista from notas";
$sql = $sql." order by Capturista";
 
 
$con = conexion(); // Aquí hace la conexión a la base de datos y si funciona por lo que omito el código
 
$result=mysqli_query($con,$sql);
 
$total=mysqli_num_rows($result);
 
echo "total= ".$total; // Aquí imprime total= 8
 
foreach(mysqli_fetch_row($result) as $row)
{
 
?>
  <script>
  rs.push('<?php echo $row[0];?>'); //Aquí nunca entra
  alert("adentro");
  </script>
 
<?php
}
}
?>
 
<script>
alert("rs 4= "+rs[4]); // Aquí dice que rs[4] es indefinido
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar