Foros del Web » Programando para Internet » PHP »

problema con $value

Estas en el tema de problema con $value en el foro de PHP en Foros del Web. hola queria ver si es que me pueden ayudar. Estoy desarrollando una pagina que tiene una llamada ajax que ejecuta y muestra el resultado de ...
  #1 (permalink)  
Antiguo 21/01/2013, 17:45
 
Fecha de Ingreso: octubre-2012
Mensajes: 18
Antigüedad: 11 años, 6 meses
Puntos: 0
Exclamación problema con $value

hola queria ver si es que me pueden ayudar. Estoy desarrollando una pagina que tiene una llamada ajax que ejecuta y muestra el resultado de una pagina php, pero me ecuentro con un problema en la pagina php y no se como resolverlo.

este es el codigo y el error se encuentra en la variable $value de la linea numero 54 donde esta comentado "problema".

Código:
<?php
error_reporting(NULL);
include('funcion.php');
$conec = new conexion();
$ambito = $_POST['variable'];
$output_string6 = $ambito;
//Query of facebook database

$resultado = $conec->listar_preguntasxambito($ambito);
//Output results

if(!$resultado)
{
    mysql_close();
    echo json_encode('Hubo un error ejecutando el QUERY: ' . mysql_error());
}
elseif(!mysql_num_rows($resultado))
{
    mysql_close();
    echo json_encode('No hay data disponible.');
}
else
{
   
	$header = false;
    $output_string6 = "";
	$output_string6 .= "<br />";
    $output_string6 .=  "<table id='tabla1' border='1' align='left' style='text-align:center' width='54%'>\n";
	$contador = 0;
    while($row = mysql_fetch_assoc($resultado))
    {
        if(!$header)
        {
            $output_string6 .= "<tr>\n";
			
            foreach($row as $header => $value)
            {
				
				$output_string6 .= "<th align='center'>{$header}</th>\n";
				//$arreglo[$contador] = "{$header}";
			}
			$output_string6 .= "<th align='center'>Acción</th>\n";
            $output_string6 .= "</tr>\n";
        }
        $output_string6 .= "<tr id='row".$contador."'>\n";
        $contador2 = 0;
//---------------------------------problema---------------------------------------------------------------------------------- 
		foreach($row as $value)
        {
          $contador2++;
		
	    $output_string6 .=  "<td align='center'>{$value}</td>\n";
		
        }

//--------------------------------fin problema-------------------------------------------------------------------------------
		$output_string6 .= "<td><a href='javascript:cargarDatos(".$contador.")'>Seleccionar</a></td>\n";
        $output_string6 .= "</tr>\n";
		$contador++;
    }
    $output_string6 .= "</table>\n";
	$output_string6 .= "<br />";
	//$output_string .= "<input type='submit' name='terminarcargo' id='terminarcargo' value='Enviar' />\n";
	
}
mysql_close();
// El siguiente echo es para devolver el resultado
echo json_encode($output_string6);


?>
espero que me puedan ayudar saludos
  #2 (permalink)  
Antiguo 22/01/2013, 04:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: problema con $value

Si explicaras el problema seria mas facil ayudarte....

Poniendo imaginación veo varias cosas:

1. Quizas es un error menor pero "value" no me parece un buen nombre para una variable ya que es una palabra que se puede confundir con el lenguaje.

2. estas haciendo bucles foreach sobre row dentro de un bucle while sobre row... no creo que tenga mucho sentido. En cada vuelta de while tienes un row luego los foreach....

3. $output_string6 .= "<td align='center'>{$value}</td>\n";
Usa la misma sintaxis en todas partes
$output_string6 .= "<td align='center'>{".$value."}</td>\n";

Si posteas el error que te da te podre decir mas...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 22/01/2013, 11:12
 
Fecha de Ingreso: octubre-2012
Mensajes: 18
Antigüedad: 11 años, 6 meses
Puntos: 0
Exclamación Respuesta: problema con $value

como podras ver el archivo php genera una tabla que llena con los datos extraidos desde la base de datos, el codigo hace todo correctamente hasta que llega a la variable $value que es la que tiene que mostrar los valores obtenidos, y es ahi donde no se que problema hay ya que no muestra nada. probé comentando esa linea y me muestra la tabla con los header correctos, pero vuelvo a poner la linea y no muestra nada.

espero haberme explicado bien
  #4 (permalink)  
Antiguo 23/01/2013, 02:07
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: problema con $value

$row = mysql_fetch_assoc($resultado)

$row es un array de una fila y n columnas .... usa

echo "<pre>";
print_r($row);
echo "</pre>";

para ver su contenido..... y postealo. Un array de una fila es igual a un vector....

Primero haces

foreach($row as $header => $value)

si cuando usas $header funciona

y antes del error

foreach($row as $value)

$value es un array con lo que no puedes imprimirlo como un valor...

cambia por el foreach anterior....


Código PHP:
Ver original
  1. <?
  2. $vector = array("uno", "dos", "tres");
  3. foreach ($vector as $valor) {
  4.    echo "Valor: $valor<br>";
  5. }

Código PHP:
Ver original
  1. <?
  2. $vector = array(
  3.    "uno" => 1,
  4.    "dos" => 2,
  5.    "tres" => 3,
  6.    "diecisiete" => 17
  7. );
  8. foreach($vector as $indice => $valor) {
  9.    print "$vector[$indice] => $valor.n";
  10. }
  11. ?>

Tienes un vector con índices y primero lo tratas como tal y luego lo tratas como si no tuviera índices.... creo que este es el problema.


Cita:
2. estas haciendo bucles foreach sobre row dentro de un bucle while sobre row... no creo que tenga mucho sentido. En cada vuelta de while tienes un row luego los foreach....
Aqui me equivoque el while en realidad es sobre $resultado
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 23/01/2013 a las 02:18
  #5 (permalink)  
Antiguo 31/01/2013, 08:18
 
Fecha de Ingreso: octubre-2012
Mensajes: 18
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: problema con $value

logré solucionar el problema, este era una ñ que tenia en un registro de la base de datos la cual no me dejaba mostrar los datos por eso me daba problema pero la sintaxis estaba correcta.

gracias de todas formas por el tiempo que te diste para contestarme.

aprovecho de hacer la ultima consulta.
tengo un array en javascript que envío a través de una llamada ajax a una pagina php pero en la pagina php me entrega solo el primer valor del array.

me gustaria saber precisamente como se recive un array enviado de esta forma en php.
  #6 (permalink)  
Antiguo 31/01/2013, 10:52
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: problema con $value

Quizas es mejor que abras un post nuevo no lo tengo del todo claro para constestarte.

En primer lugar yo usaria ajax por POST no por GET pero ya te digo abre un nuevo hilo.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: mysql, sql, tabla
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 15:25.