Foros del Web » Programando para Internet » PHP »

problema de logica

Estas en el tema de problema de logica en el foro de PHP en Foros del Web. tengo un codigo que me muestra tablas separadas pero quería hacer una auto llamada con los datos que se iban a enviar en esa misma ...
  #1 (permalink)  
Antiguo 16/06/2012, 17:33
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
problema de logica

tengo un codigo que me muestra tablas separadas pero quería hacer una auto llamada con los datos que se iban a enviar en esa misma pagina, para que en esta misma recoja los datos y haga una consulta sql.
Pero al momento de mostrar los resultados de los datos de la consulta sql me muestra todo lo relacionado con ese id y yo quiero que nada mas me muestre el dato según la consulta.
ejemplo:
si hace la consulta con pedro, nada mas me muestre pedro.
No jose, pedro, roberto.

todo eso lo hacia muy bien cuando le enviaba los datos de una pagina y recogia los dastos desde otra pagina y hacia la consulta muy bien.
Si me mostraba nada mas pedro y no los otros que estaban en ese campo.
El problema comenzo cuando junte los dos codigos.
Esta es la parte de donde comienzo a juntar los codigos:


Código PHP:
Ver original
  1. //desde aqui comienzo a enviar los valores que se pasan por la url
  2. if (!$_GET){
  3.    
  4. if (mysql_num_rows($respuesta) > 0){
  5.      echo "<table><tr>";
  6.      $cont=0;
  7.      while ($row = mysql_fetch_assoc($respuesta)){
  8.         if($row['imagen']!=''){
  9.             echo '<td>
  10.             <div style="text-align:left">
  11.            <IMG style="WIDTH: 120px; HEIGHT: 81px" src="img/'.$row['imagen'].'">
  12.             <A href="productos.php?id='.$row['imagen'].'">'.vermas.'</A>
  13.            </div>
  14.            </td>';
  15.             $cont++;
  16.             if ($cont==3){
  17.                 echo '</tr><tr>';
  18.                 $cont=0;
  19.             }
  20.         }
  21.      }
  22. } else {
  23.     while ($row = mysql_fetch_assoc($respuesta)){
  24.         if($row['imagen']!=''){
  25.             echo '<tr>
  26.            <td>
  27.            <IMG style="WIDTH: 10px; HEIGHT: 11px" src="img/'.$row['imagen'].'">
  28.            <A href="productos.php?id='.$row['imagen'].'">'.Vermas.'</A>
  29.            </td>';
  30.         }
  31.     }
  32. }
  33. echo "</tr>
  34. </table>";
  35. }
  36. //Desde aqui veo los detalles del producto
  37. else {
  38.        
  39.     $imagen=$_GET["id"];
  40.    
  41.    
  42. $sql="SELECT * FROM productos WHERE imagen='".$imagen."'";
  43.  
  44.     if (mysql_num_rows($respuesta) > 0){
  45.        
  46.        
  47.         while ($row = mysql_fetch_assoc($respuesta)){
  48.             if($row['imagen']!=''){
  49.                  echo '<table><td>
  50.             <div style="text-align:left">
  51.            <IMG style="WIDTH: 120px; HEIGHT: 81px" src="img/'.$row['imagen'].'">
  52.             <A href="comprar.php?id='.$row['imagen'].'">'.comprar.'</A>
  53.            </div>
  54.            </td>
  55.            </table>';
  56.                
  57.             }      
  58. }                        
  59.    
  60.     }
  61.     }

El problema ha de ser de logica, porque despues del else que separa las dos tablas viene otro else que hace que recoja los datos que son enviados por url.
Y si ha de ser ese el problema no tengo ni idea como solucionarlo.
Alguna persona que me ayude.
Por su atención muchas gracias.
__________________
:cool: aprendiz :cool:
  #2 (permalink)  
Antiguo 16/06/2012, 18:00
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 13 años, 3 meses
Puntos: 31
Respuesta: problema de logica

estas haciendo la busqueda mediante formulario?
  #3 (permalink)  
Antiguo 16/06/2012, 18:19
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: problema de logica

Cita:
Iniciado por gldelossantos Ver Mensaje
estas haciendo la busqueda mediante formulario?
Mira en la pagina productos que es en donde ahí mismo se hace la auto llamada, me conecto primero muestro los resultados y mediante un enlace que dice ver mas, mando el valor necesario para hacer de nuevo una consulta en la tabla, pero esta vez nada mas mostrando el id ejemplo.
productos?persona=pedro
y con eso me va a mostrar nada mas a pedro.
__________________
:cool: aprendiz :cool:
  #4 (permalink)  
Antiguo 16/06/2012, 18:34
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 13 años, 3 meses
Puntos: 31
Respuesta: problema de logica

modifica esta linea


$sql="SELECT * FROM productos WHERE imagen='.$imagen.' LIMIT 0,1 ";
  #5 (permalink)  
Antiguo 16/06/2012, 18:35
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: problema de logica

Cita:
Iniciado por gldelossantos Ver Mensaje
modifica esta linea


$sql="SELECT * FROM productos WHERE imagen='.$imagen.' LIMIT 0,1 ";
sigue mostrando igual.
__________________
:cool: aprendiz :cool:
  #6 (permalink)  
Antiguo 16/06/2012, 18:38
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 13 años, 3 meses
Puntos: 31
Respuesta: problema de logica

haz un echo a ver que te sale

echo $imagen;
  #7 (permalink)  
Antiguo 16/06/2012, 18:53
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 13 años, 3 meses
Puntos: 31
Respuesta: problema de logica

Disculpa amigo una pregunta, en tu tabla tu tienes el campo id?
  #8 (permalink)  
Antiguo 16/06/2012, 18:54
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: problema de logica

Cita:
Iniciado por gldelossantos Ver Mensaje
haz un echo a ver que te sale

echo $imagen;
Pues salio:
pedro.jpg

El paso de variables si esta bien amigo.

Como te digo este código lo tenia partido en dos códigos y si me funcionaban muy bien pero el problema comenzó cuando decidí juntar los códigos en uno solo.
__________________
:cool: aprendiz :cool:
  #9 (permalink)  
Antiguo 16/06/2012, 18:58
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: problema de logica

si tengo el campo id

no aparece:
pedro.jpg
jose.jpg
roberto.jpg

Nada mas:
pedro.jpg
__________________
:cool: aprendiz :cool:
  #10 (permalink)  
Antiguo 16/06/2012, 19:19
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 13 años, 3 meses
Puntos: 31
Respuesta: problema de logica

Este es tu codigo arreglado

//desde aqui comienzo a enviar los valores que se pasan por la url
if (!$_GET){

if (mysql_num_rows($respuesta) > 0){
echo "<table><tr>";
$cont=0;
while ($row = mysql_fetch_assoc($respuesta)){
if($row['imagen']!=''){
echo '<td>
<div style="text-align:left">
<IMG style="WIDTH: 120px; HEIGHT: 81px" src="img/'.$row['imagen'].'">
<A href="productos.php?id='.$row['id'].'">'.vermas.'</A>
</div>
</td>';
$cont++;
if ($cont==3){
echo '</tr><tr>';
$cont=0;
}
}
}
} else {
while ($row = mysql_fetch_assoc($respuesta)){
if($row['imagen']!=''){
echo '<tr>
<td>
<IMG style="WIDTH: 10px; HEIGHT: 11px" src="img/'.$row['imagen'].'">
<A href="productos.php?id='.$row['id'].'">'.Ver mas.'</A>
</td>';
}
}
}
echo "</tr>
</table>";
}
//Desde aqui veo los detalles del producto
else {

$imagen=$_GET["id"];


$sql="SELECT * FROM productos WHERE id='".$id."'";

if (mysql_num_rows($respuesta) > 0){


while ($row = mysql_fetch_assoc($respuesta)){
if($row['imagen']!=''){
echo '<table><td>
<div style="text-align:left">
<IMG style="WIDTH: 120px; HEIGHT: 81px" src="img/'.$row['imagen'].'">
<A href="comprar.php?id='.$row['id'].'">'.comprar.'</A>
</div>
</td>
</table>';

}
}

}
}





espero te funcionee
  #11 (permalink)  
Antiguo 16/06/2012, 19:41
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: problema de logica

Cita:
Iniciado por gldelossantos Ver Mensaje
Este es tu codigo arreglado

//desde aqui comienzo a enviar los valores que se pasan por la url
if (!$_GET){

if (mysql_num_rows($respuesta) > 0){
echo "<table><tr>";
$cont=0;
while ($row = mysql_fetch_assoc($respuesta)){
if($row['imagen']!=''){
echo '<td>
<div style="text-align:left">
<IMG style="WIDTH: 120px; HEIGHT: 81px" src="img/'.$row['imagen'].'">
<A href="productos.php?id='.$row['id'].'">'.vermas.'</A>
</div>
</td>';
$cont++;
if ($cont==3){
echo '</tr><tr>';
$cont=0;
}
}
}
} else {
while ($row = mysql_fetch_assoc($respuesta)){
if($row['imagen']!=''){
echo '<tr>
<td>
<IMG style="WIDTH: 10px; HEIGHT: 11px" src="img/'.$row['imagen'].'">
<A href="productos.php?id='.$row['id'].'">'.Ver mas.'</A>
</td>';
}
}
}
echo "</tr>
</table>";
}
//Desde aqui veo los detalles del producto
else {

$imagen=$_GET["id"];


$sql="SELECT * FROM productos WHERE id='".$id."'";

if (mysql_num_rows($respuesta) > 0){


while ($row = mysql_fetch_assoc($respuesta)){
if($row['imagen']!=''){
echo '<table><td>
<div style="text-align:left">
<IMG style="WIDTH: 120px; HEIGHT: 81px" src="img/'.$row['imagen'].'">
<A href="comprar.php?id='.$row['id'].'">'.comprar.'</A>
</div>
</td>
</table>';

}
}

}
}





espero te funcionee

Sigue con el mismo problema amigo.
__________________
:cool: aprendiz :cool:
  #12 (permalink)  
Antiguo 17/06/2012, 10:18
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: problema de logica

alguien que me pueda ayudar, por mas que lo intento e intento sigo con el mismo problema.
Grasias.
__________________
:cool: aprendiz :cool:
  #13 (permalink)  
Antiguo 17/06/2012, 14:56
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: problema de logica

y sigo intentando pero sigo en las mismas.
__________________
:cool: aprendiz :cool:

Etiquetas: logica, 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 18:22.