Foros del Web » Programando para Internet » PHP »

Busco una solucion para...

Estas en el tema de Busco una solucion para... en el foro de PHP en Foros del Web. Hola a todos !!!! Tengo el siguiente codigo: Código: $query = "SELECT * FROM actividad_defi"; $result = mysql_query($query,$con); while ($row = mysql_fetch_array($result)) {...} Donde $con ...
  #1 (permalink)  
Antiguo 09/11/2003, 20:19
Avatar de Jeremias  
Fecha de Ingreso: agosto-2003
Ubicación: Caracas
Mensajes: 504
Antigüedad: 20 años, 7 meses
Puntos: 0
Busco una solucion para...

Hola a todos !!!!
Tengo el siguiente codigo:

Código:
$query = "SELECT * FROM actividad_defi"; 
$result = mysql_query($query,$con); 
while ($row = mysql_fetch_array($result)) 
{...}
Donde $con es la variable que hace la conexion con la base de datos, y en {...} tengo el grupo de comandos que no es mas que una tabla donde jalo los datos de la tabla de la base de datos a la cual me conecte, y asi logro imprimir en la pagina una tabla con los datos de cada registro. Chevere, eso me funciona muy bien, el asunto esta en que me gustaria que cuando el usuario le de click en un boton que tengo en la misma pagina, la sentencia SQL "SELECT * FROM actividad_defi" cambie a otra sentencia, es decir tengo como 5 botones normales, botones .gif, y quiero que al darle a cada boton la sentencia SQL sea distinta mostrando asi en la misma pagina unos datos diferentes de la base de datos; lo que va variar en la sentencia SQL va a ser un WHERE ..., es decir agregarle esa condicion. ¿Como lo hago? no se si me supe explicar, diganme como soluciono, ¿si tengo que ponerle un Switch y como hago para asignarle una sentencia SQL diferente al codigo segun el boton que presionen?.
GRACIAS DE ANTEMANO. CUENTO CON SUS IDEAS. BYE
__________________
Atte. Jere
Agradezco su pronta colaboración.
;-) :arriba:Hoy por mi, mañana por ti:arriba: ;-)
  #2 (permalink)  
Antiguo 09/11/2003, 22:27
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
idea

Se me ocurre algo así:
pagina.php
Código PHP:
<?
if (!isset($_POST['criterio'])){
    echo 
"<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">"
        
."<input type=\"submit\" name=\"criterio\" value=\"tabla1-campo1-contenido1\"><br />"
        
."<input type=\"submit\" name=\"criterio\" value=\"tabla2-campo2-contenido2\"><br />"
        
."<input type=\"submit\" name=\"criterio\" value=\"tabla3-campo3-contenido3\"><br />"
        
."<input type=\"submit\" name=\"criterio\" value=\"tabla4-campo4-contenido4\"><br />"
        
."<input type=\"submit\" name=\"criterio\" value=\"tabla5-campo5-contenido5\"><br />"
        
."</form>";
}else{
    
$crit explode('-'$_POST['criterio']);
    
$sql="SELECT * FROM '".$crit[0]."' WHERE '".$crit[1]."'='".$crit[2]."'";
    echo 
$sql;
}
?>
espero que se entienda la idea...

Saludos

Última edición por jpinedo; 09/11/2003 a las 23:19
  #3 (permalink)  
Antiguo 10/11/2003, 00:16
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Si se trata de imágenes pues puedes pasar las variables por url. Luego las recoges con el array $_GET[] . Para el mismo ejemplo anterior, sería algo así:
Código PHP:
$urlactual=$_SERVER['PHP_SELF'];
if (!isset(
$_GET['tabla'])){
    echo 
"<a href=\"".$urlactual."?tabla=tabla1&campo=campo1&contenido=contenido1\">"
            
."<img src=\"imagen.gif\" /></a><br />"
        
."<a href=\"".$urlactual."?tabla=tabla2&campo=campo2&contenido=contenido2\">"
            
."<img src=\"imagen.gif\" /></a><br />"
        
."<a href=\"".$urlactual."?tabla=tabla3&campo=campo3&contenido=contenido3\">"
            
."<img src=\"imagen.gif\" /></a><br />"
        
."<a href=\"".$urlactual."?tabla=tabla4&campo=campo4&contenido=contenido4\">"
            
."<img src=\"imagen.gif\" /></a><br />"
        
."<a href=\"".$urlactual."?tabla=tabla5&campo=campo5&contenido=contenido5\">"
            
."<img src=\"imagen.gif\" /></a><br />";
}else{
    
$sql="SELECT * FROM '".$_GET['tabla']."' WHERE '".$_GET['campo']."'='".$_GET['contenido']."'";
    echo 
$sql;

Claro que estos ejemplos son súper básicos... pero si los entiendes, entonces puedes hacer cualquier cosa.
En los ejemplos me he limitado a imprimir en pantalla la consulta SQL para verificar que esté bien.

Bueno, ya sabes... cualquier cosa.. pregunta no más!

Saludos
  #4 (permalink)  
Antiguo 10/11/2003, 07:37
Avatar de Jeremias  
Fecha de Ingreso: agosto-2003
Ubicación: Caracas
Mensajes: 504
Antigüedad: 20 años, 7 meses
Puntos: 0
De acuerdo Ok entendi algo, pero ...

Hola jpinedo Muchas gracias por tu dos ideas, las entendi mas o menos, pues resulta que soy nuevo en php, y es por eso que estoy haciendo la pregunta auqi en forosdelweb, entonces lo que voy hacer es darte los nombres de los campos y tabla de la base de datos, y explicarte exactamente lo que deseo hacer, para que entiendas y asi tu veas si el ejemplo ultimo que me fpusiste funciona para lo que necesito, y asi con lo nombres reales, pues me pones un solo ejemplo en la condicion if, no hace falta que coloques el de los 5 botones, como me servira de referencia para ver como es la sintaxis exacta. Ok te exlico:

mira lo que estoy haciendo es mostrando una tabla que contiene la informacion de eventos culturales, tipo cursos y talleres, deportivos, de tecnologia y demas, entonces en la pagina estoy mostrando por una tabla el contenido de una actividad y luego abajo en otra tabla el siguiente registro en otra tabla, todos juntos, es decir todas las secciones en una misma pagina, y arriba tengo los 5 botones, cada uno con un nombre de la seccion que representa: cine, teatro, cursos y talleres, deportes, tecnologia. Ok entonces lo que quiero es que cuando le de click en la imagen .gif que es el boton de por ejemplo cine, la sentencia SQL que tengo en
Código:
$query = "SELECT * FROM actividad_defi";
cambie a
Código:
$query = "SELECT * FROM actividad_defi WHERE seccion = 2";
donde 2 representa el codigo de cine en la base de datos y asi el codigo que tengo en el ciclo WHILE que me muestra en una tabla cada registro de la base de datos solo me mostrara los registros que son solo de actividades de cine, espero que no me haya enredado y hayas entendido, si tienes alguna duda dimelo y te aclaro, los nombre reales son:

1) la tabla en la base de datos se llama actividad_defi
2) los campos son varios pero el importante es el de seccion para hacer la compacion
3) el nombre de la imagen que hace el papel de boton pues se llama boton_cine ---- boton_deporte y asi sucesivamente.

Bueno espero que no sea mucho abuso de mi parte que me termines de aclarar en mi duda y bueno espero tu respuesta BYE y GRACIAS.
__________________
Atte. Jere
Agradezco su pronta colaboración.
;-) :arriba:Hoy por mi, mañana por ti:arriba: ;-)
  #5 (permalink)  
Antiguo 10/11/2003, 09:08
 
Fecha de Ingreso: noviembre-2003
Mensajes: 157
Antigüedad: 20 años, 4 meses
Puntos: 0
creo que se podria solucionar de la siguiente manera, al crear el boton le pones su nombre correspondiente por ejemplo drama, comedia ,etc..
luego le pones su value que seria la parte del where que deseas ejemplo
value="where cod cine igual x";
haces el isset para cada boton y en la parte del codigo pones el nombre del botón:
$string=" select * from actividad_defi $drama";
no se si será muy buena la respuesta como te la darán los demás pero ojala que te sirva.
  #6 (permalink)  
Antiguo 10/11/2003, 18:36
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Tus imágenes serían así:

<a href="resultados.php?seccion=2"><img src="cine.gif"></a>

Tu resultados.php así:
$query = "SELECT * FROM actividad_defi";
$query .= " WHERE seccion='"$_GET_['seccion']"'";
echo $query;

Esta es una forma de hacerlo... lo que haces es pasar la variable seccion=2 (ó 3, 4.. según la imagen)... la pasas por url. Entonces la recoges con $_GET['seccion']....

Otra forma puede ser hacer un formulario con botones tipo imagen que se definen así:

<input type="image" src="cine.gif" name="seccion[]">

Este tipo de imagenes funcionan como un submit.

Saludos
  #7 (permalink)  
Antiguo 11/11/2003, 00:20
Avatar de Jeremias  
Fecha de Ingreso: agosto-2003
Ubicación: Caracas
Mensajes: 504
Antigüedad: 20 años, 7 meses
Puntos: 0
Pregunta comole hago en este caso

Ok perfecto mas o menos ya estoy entendiendo,pero sabes que mepuse a revisar y los .gif que son los botones , asiq ue como cambiaria el codigo????
El codigo es:

Código:
<td height="17" colspan="2" valign="top"> <a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('boton_cine','','imagenespu/boton_cine_f2.gif',1);"><img name="boton_cine" src="imagenespu/boton_cine.gif" width="53" height="17" border="0" alt=""></a> 
          </td>
Comole hago en este caso????
__________________
Atte. Jere
Agradezco su pronta colaboración.
;-) :arriba:Hoy por mi, mañana por ti:arriba: ;-)
  #8 (permalink)  
Antiguo 11/11/2003, 00:36
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Bueno... si te fijas en el post anterior que te puse, verás que sólo tienes que poner el atributo href="script_que _procesa.php?seccion=2"... nada más.

Saludos
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 07:26.