Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Vaagish en 1 Febrero 2014, 23:21 pm



Título: Problema con simple funcion PHP
Publicado por: Vaagish en 1 Febrero 2014, 23:21 pm
Hola amigos,, estoy teniendo un problema que al parecer no tiene mucho sentido,, pego el código:

Código
  1.    while($row = mysqli_fetch_assoc($Result))
  2.    {
  3.  
  4. $output_string = $row['ip'].",".$row['NombrePC'].",".$row['SO'].",".$row['Pais']."|";
  5.  
  6.    }  
  7.  


el problema es que quiero concatenar $output_string con $output_string,, lo mas lógico seria poner un . delante de =

Así:

Código
  1. $output_string .= $row['ip'].",".$row['NombrePC'].",".$row['SO'].",".$row['Pais']."|";
  2.  

Lo raro es que en otra maquina, con otra versión de PHP si funciona!! La base de datos esta correcta, y todo lo demás esta bien.. (repito, en otra versión de PHP funciona)

Alguien tiene otra forma de concatenar la informacion de la base de datos en un string??? tiene que tener este formato: dato1, dato2, dato3, dato4|dato1, dato2, dato3, dato4|

Saludos!!


Título: Re: Problema con simple funcion PHP
Publicado por: engel lex en 2 Febrero 2014, 03:21 am
que tal si hacer un

Citar
print_r($row);

para ver si está retornando el valor deseado... no es logico que no funcione...


Título: Re: Problema con simple funcion PHP
Publicado por: Vaagish en 2 Febrero 2014, 04:05 am
Citar
print_r($row);

El otro problema es que ese código php se llama desde ajax,, no puedo imprimir nada en ese php,, pongo el código:


Código
  1. function DBRead(){
  2. $.ajax({
  3.     url: 'getdata.php',
  4. type:'POST',
  5.     dataType: 'json',
  6.        success: function(output_string){
  7. console.log(output_string);
  8. }
  9.  


Título: Re: Problema con simple funcion PHP
Publicado por: #!drvy en 2 Febrero 2014, 16:11 pm
Si devuelves json con el php utiliza json_encode(); en vez de hacerlo tu mismo.

Código
  1. $output = array();
  2. while($row = mysqli_fetch_assoc($Result)){
  3.  $output[] = $row;
  4. }
  5.  
  6. $output = json_encode($output);
  7. echo $output;

http://es1.php.net/manual/es/function.json-encode.php

Para concatenar, la variable debe estar previamente declarada, si no, tira error.
Otra forma de concatenar es utilizar la propia variable.

Código
  1. $output_string = $output_string.'bla bla'.'blabla';

PD: Tema movido a PHP

Saludos



Título: Re: Problema con simple funcion PHP
Publicado por: Toxico en 2 Febrero 2014, 17:01 pm
El otro problema es que ese código php se llama desde ajax,, no puedo imprimir nada en ese php,, pongo el código:


Código
  1. function DBRead(){
  2. $.ajax({
  3.     url: 'getdata.php',
  4. type:'POST',
  5.     dataType: 'json',
  6.        success: function(output_string){
  7. console.log(output_string);
  8. }
  9.  
  10.  

Hola, sea o no AJAX si se puede imprimir desde php, tienes que ver que la respuesta no sea un failure desde el server, prueba a realizar lo siguiente:

1.- Abre tu pagina en chrome
2.- presiona f12 para ver la consola
3.- dirigete al tab network y busca la URL a la que haces referencia en tu solicitud AJAX y verifica lo que devuelve.
4.- No te olvides dar las gracias  ;D

Te pego +- como debería verse  que estas buscando.

(http://cdn.tutsplus.com/net/uploads/legacy/2158_chrome2/network-selected-resource.jpg)

Si en otra instalacion de PHP estaba funcionando pues puede ser que el driver de mysql no este habilitado, primero verifica que te devuelve el network.

Saludos


Título: Re: Problema con simple funcion PHP
Publicado por: Vaagish en 2 Febrero 2014, 18:53 pm
Citar
Para concatenar, la variable debe estar previamente declarada, si no, tira error.

Naaa... me olvidaba de eso... Solucionado..

Citar
dirigete al tab network y busca la URL a la que haces referencia en tu solicitud AJAX y verifica lo que devuelve.

No me sale igual que esa imagen,, sale asi:

(http://i1366.photobucket.com/albums/r769/Vaagish1/pantalla_zpsece3c1d2.png) (http://s1366.photobucket.com/user/Vaagish1/media/pantalla_zpsece3c1d2.png.html)

Igual, era la falta de iniciar la variable...

Citar
No te olvides dar las gracias

Muchas gracias a todos!!  ;-)