Tema: Opinion
Ver Mensaje Individual
  #6 (permalink)  
Antiguo 29/06/2012, 21:53
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Opinion

voy a tratar de hacer una explicación sencilla (que apunta más a lo práctico que a lo terorico)

hasta ahora vos sabés que mediante Ajax podés hacer una petición a un php. eso va a generar una respuesta, la que conocés como ajax.responseText, pero que es eso en definitiva? ni más ni menos que lo que ese php hubiese mostrado en el navegador si lo hubieses ejecutado directamente,
si tu archivo php contiene
<?php
echo "hola";
?>

tu ajax va a recibir hola como respuesta, medio tonto como ejemplo, pero, sin embargo a partir de ahi podés hacer una lógica más elaborada

supongamos que tu llamada desde al ajax fuese por get

x.php?var=1
y tu php
<?php
if($_GET['var'] == 1){
echo "Ok";
}else{
echo "Mal";
}
?>

entonces la respuesta será Ok. pero si tu php tiene

<?php
if($_GET['var'] == 1){
echo "Ok";
}else{
echo "Mal";
}

echo "No se";
?>
tu respuesta será lo que se imprima, es decir
OkNo se
Se entiende?

Vallamos con una base de datos

$resultado = mysql_query("SELECT * FROM tabla1", $enlace);
$total_filas = mysql_num_rows($resultado);
echo $total_filas;

en ese caso el ajax.resposeText será el numero de registros de la consulta (en este caso el total de registros de la tabla ya que no hay condiciones en la consulta, imaginemos para el ejemplo que fueron 10.
Ahora agreguemos una condicón a la consulta

$resultado = mysql_query("SELECT * FROM tabla1", $enlace);
$total_filas = mysql_num_rows($resultado);
echo $total_filas;

$resultado = mysql_query("SELECT * FROM tabla1 WHERE nombre='juan'", $enlace);
$total_filas = mysql_num_rows($resultado);
echo $total_filas;
// suponemos que hay tres juan

la respuesta va a ser 103, entonces eso no te sirve, vos querés los valores por separado, que tal si hacemos esto

$resultado = mysql_query("SELECT * FROM tabla1", $enlace);
$total_filas = mysql_num_rows($resultado);
echo $total_filas "|";

$resultado = mysql_query("SELECT * FROM tabla1 WHERE nombre='juan'", $enlace);
$total_filas = mysql_num_rows($resultado);
echo $total_filas;

la respuesta será
10|3

ahi ya tenés para hacerle un split a la respuesta y hacerle innerHTML con el indice 0 a un div y otro a un segundo div con el indice 1

Como te darás cuenta las combinaciones posibles de lo que podés conseguir son muy amplias
Espero que te haya servido de algo.
como recomendación final, te sugiero que leas más, practiques con otros ejemplos y crees los tuyos propios, aunque sean muy simples.
SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.