Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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 (php) [Seleccionar]

    while($row = mysqli_fetch_assoc($Result))
    {

$output_string = $row['ip'].",".$row['NombrePC'].",".$row['SO'].",".$row['Pais']."|";

    }   



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

Así:

Código (php) [Seleccionar]

$output_string .= $row['ip'].",".$row['NombrePC'].",".$row['SO'].",".$row['Pais']."|";


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

Citarprint_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
Citarprint_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 (php) [Seleccionar]
function DBRead(){
$.ajax({
    url: 'getdata.php',
type:'POST',
    dataType: 'json',
        success: function(output_string){
console.log(output_string);
}
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 (php) [Seleccionar]

$output = array();
while($row = mysqli_fetch_assoc($Result)){
 $output[] = $row;
}

$output = json_encode($output);
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 (php) [Seleccionar]
$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
Cita de: Vaagish en  2 Febrero 2014, 04:05 AM
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 (php) [Seleccionar]
function DBRead(){
$.ajax({
    url: 'getdata.php',
type:'POST',
    dataType: 'json',
       success: function(output_string){
console.log(output_string);
}



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
CitarPara concatenar, la variable debe estar previamente declarada, si no, tira error.

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

Citardirigete 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...

CitarNo te olvides dar las gracias

Muchas gracias a todos!!  ;-)