Foros del Web » Programando para Internet » PHP »

a ver si me ayudáis...

Estas en el tema de a ver si me ayudáis... en el foro de PHP en Foros del Web. muy buenas. os cuento. parto de un formulario con una pregunta y dos respuestas: ¿Te gusta la fruta? a) sí b) no estas opciones son ...
  #1 (permalink)  
Antiguo 06/02/2007, 07:17
 
Fecha de Ingreso: febrero-2007
Mensajes: 11
Antigüedad: 17 años, 2 meses
Puntos: 0
a ver si me ayudáis...

muy buenas. os cuento.

parto de un formulario con una pregunta y dos respuestas:

¿Te gusta la fruta?
a) sí
b) no

estas opciones son radiobuttons. bien. en virtud de que seleccionen una u otra opción, se les redirige a una u otra página.
así, si selecciona la opción a) tenemos:
Código PHP:
$_POST['radio']

{
if(
$_POST['radio']="A"){
header('location: destino.php'');
}else{
header('
locationdestinob.php'');

bien. luego en estas páginas van otras preguntas. así, doy una primera pregunta con tres opciones:
¿qué fruta te gusta?
a) la manzana
b) la pera
c) el plátano

la página tiene esto que recoge la cuestión anterior y sigue preguntando:

Código PHP:
<?php     
 session_start
();
$radio=$_POST['radio'];
$_SESSION['radio']=$radio;
?>
así lo voy haciendo con otras dos preguntas más. cuando finalizo el cuestionario, introduzco los datos en la base de datos así:

Código PHP:
session_start(); 
$cnx mysql_connect("localhost""user""password");  
mysql_select_db("test"$cnx); 


    {
    
$_session['radio']=$radio;
    
$_session['pregunta1']=$pregunta1;
    
$_session['pregunta2']=$pregunta2;
             
$pregunta3=$_POST['pregunta3'];

mysql_query("INSERT INTO test(radio,pregunta1,pregunta2,pregunta3)
VALUES('$radio,'$pregunta1,'$pregunta2,'$pregunta3')
   } 
bien. lo que quiero ahora es que según los datos metidos, me muestre un determinado producto u otro que hay en otra tabla de la base de datos. es decir, si hay dos a) y una b) en la base de datos, me muestre el producto A de esa otra tabla por ejemplo.

cómo hago esto?
  #2 (permalink)  
Antiguo 06/02/2007, 10:23
 
Fecha de Ingreso: febrero-2007
Mensajes: 11
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: a ver si me ayudáis...

no hay nadie que pueda orientarme un poco?
  #3 (permalink)  
Antiguo 06/02/2007, 11:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 11
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: a ver si me ayudáis...

por favor, necesito vuestra ayuda
  #4 (permalink)  
Antiguo 06/02/2007, 13:28
 
Fecha de Ingreso: febrero-2007
Mensajes: 11
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: a ver si me ayudáis...

por favor, os necesito.... se os ocurre alguna forma de hacer esto? por favor....
  #5 (permalink)  
Antiguo 06/02/2007, 14:13
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: a ver si me ayudáis...

algo q puede ayudarte:
digamos q $resul es array (resultado de tu consulta sql); ahora array_count_values Cuenta todos los valores de tu array; esto te devuelve:
'b' => 2
'a' => 1
'c' => 1
asi q con list y each obtienes 'b', con esto ya sabes q alternativa es la q predomina

Código PHP:
$resul = array('radio' => 'b','pregunta1'=>'a','pregunta2'=>'b','pregunta3'=>'c');
$ver array_count_values($resul);
list(
$key) = each($ver);
switch (
$key) {
case 
'a':
//lo q quieres hacer redireccionar, mostrar algun producto, etc
break;
case 
'b':
//lo q quieres hacer redireccionar, mostrar algun producto, etc
break;
case 
'c':
//lo q quieres hacer redireccionar, mostrar algun producto, etc
break;
case 
'd':
//lo q quieres hacer redireccionar, mostrar algun producto, etc
break;

espero te ayude

Salud2
__________________


Última edición por gerson; 06/02/2007 a las 14:18
  #6 (permalink)  
Antiguo 06/02/2007, 14:18
 
Fecha de Ingreso: noviembre-2003
Mensajes: 34
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: a ver si me ayudáis...

bueno x lo q he entendido deberias trabajar con las lllaver primarias de los campos x ejemplo tienes una tabla de productos asi:

ID PRODUCTO PAGINA
1 manzana manzana.html
2 pera pera.html
3 platano platano.html
4 lapiz lapiz.html
etc...

cosa q en el radio button pondrias el value de aca producto ejm:

q fruta te gusta?
a) manzana -><input type="radio" value="1" name="pregunta1">
b) platano -><input type="radio" value="2" name="pregunta1">
c) Pera -><input type="radio" value="3" name="pregunta1">

si te das cuenta su valor del radio es el id del producto..

conforme vas respondiendo las preguntas se va guardando los datos en una sesion ejm: $_SESSION["pregunta1"]=$_POST["pregunta1"]; en la otra pagina
$_SESSION["pregunta2"]=$_POST["pregunta2"]; luego $_SESSION["pregunta3"]=$_POST["pregunta3"]; y asi sucesivamente guardas todos los productos q el ha escogido una ves q llegues ingresar los datos guardas los 3 preguntas.. junta con el radio es q la opcion si le gusta la fruta o no, q = lo grabas en una session, recogemos los datos asi

$radio=$_SESSION["radio"];
$pregunta1=$_SESSION["pregunta1"];
$pregunta2=$_SESSION["pregunta2"];
$pregunta3=$_SESSION["pregunta3"];

mysql_query("INSERT INTO test(radio,pregunta1,pregunta2,pregunta3)
VALUES('$radio,'$pregunta1,'$pregunta2,'$pregunta3 ')


luego para mostrarle el usuario paginas relacionadas con los productos q el ha escogido atravs de los radio button simplemente hacemos un select a la tabla productos, teniendo en cuentaq en los radio buttons se ha guardado el id de cada producto.. bueno te doy una idea para qme entinedas

$sql="select * from prodcutos where id='$pregunta1'";
$query=mysql_query($sql);
$row=mysql_fetch_array($query);

echo "< a href=\"".$row["PAGINA"]."\">Visitar la pagina sobre ".$row["producto"]."</a>";

ya con eso se imprimira un enlace al producto de la pregunta 1, si quieres un enlace para las otras 2 preguntas simplemente repites la consulta pero cambiando la vriable pregunta o mejor aun creas un array de la session preguntas y simplementes con un while o for recorres el array y heces una consulta x acada posicion en la q se encuentra, con esi tengas 9999 preguntas no vas a repetir 9999 veces la consulta, pera eso lienes losa arrays..

bueno espero q te haya ayudado.. al menos fue lo q entendi de tu problema
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 05:06.