Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: itzg3 en 18 Abril 2014, 16:10 pm



Título: Array me imprime un solo elemento porque?
Publicado por: itzg3 en 18 Abril 2014, 16:10 pm
Quiero insertar los elementos del array con "while" de manera que en array guarde los datos de la siguiente forma:

Código
  1. $array = array('dato1', 'dato2', 'dato3', ...)
  2. //Y como haria para que  en el ultimo dato ya no agregue la coma?

Y luego llamar al array desde javscript con:
Código
  1. var elements = [ <?php echo $array; ?> ];

Bucle en PHP:
Código
  1. $array = array();
  2.  
  3.    while($fila = mysql_fetch_assoc($query)) {
  4.  
  5.          $row = $fila['artista'];
  6.  
  7.    $array = "'".$row."', ";
  8.  
  9.    }
Porvafor como haria posible mi objetivo, al hacer correr este codigo solo me devuelve un dato del while.


Título: Re: Array me imprime un solo elemento porque?
Publicado por: #!drvy en 18 Abril 2014, 16:15 pm
En la linea 7 del bucle sobre-escribes el valor anterior por el nuevo.

Código
  1. $array[] = "'".$row."', ";

TEMAS SOBRE PHP VAN A SUBFORO DE PHP.

Saludos


Título: Re: Array me imprime un solo elemento porque?
Publicado por: itzg3 en 18 Abril 2014, 16:22 pm
Al corregir con "$array[]" me sale esto en consola:
Uncaught SyntaxError: Unexpected token <


Título: Re: Array me imprime un solo elemento porque?
Publicado por: #!drvy en 18 Abril 2014, 16:27 pm
Eso es error de sintaxis no de lo que te he pasado.

Saludos


Título: Re: Array me imprime un solo elemento porque?
Publicado por: itzg3 en 18 Abril 2014, 19:11 pm
Como corrijo esto porfavor:

Porque al incrustar esto:

Citar
<?php (echo o include) ?>


Chrome me muestra en consola esto: Uncaught SyntaxError: Unexpected token <

a cambio de mostrar el dato que va entre "<?php  ?>" me muestra esto:

Código
  1. <br />
  2. <font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
  3. <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Use of undefined constant datos - assumed 'datos' in C:\wamp\www\typeahead 0.10.2\index.php on line <i>71</i></th></tr>
  4. <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
  5. <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
  6. <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0000</td><td bgcolor='#eeeeec' align='right'>144600</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp\www\typeahead 0.10.2\index.php' bgcolor='#eeeeec'>..\index.php<b>:</b>0</td></tr>
  7. </table></font>
  8. <br />



Título: Re: Array me imprime un solo elemento porque?
Publicado por: Pablo Videla en 19 Abril 2014, 02:26 am
Yo lo haría así
Código
  1. $array = array();
  2. $contador=0;
  3.    while($fila = mysql_fetch_assoc($query)) {
  4.  
  5.          $row = $fila['artista'];
  6.  
  7.    $array[$contador] = $row;
  8. $contador++;
  9.    }

y el javascript

Código
  1. var elements = <?php echo json_encode($array) ?>;
  2.  

prueba con eso.