Foros del Web » Programando para Internet » PHP »

me ayudais otra vez? gracias

Estas en el tema de me ayudais otra vez? gracias en el foro de PHP en Foros del Web. Hola de nuevo, me ha surgido otro problemilla que no se solucionar, tiene que ver con php y javascript (selects dinamicos), este es el codigo: ...
  #1 (permalink)  
Antiguo 17/04/2008, 16:43
 
Fecha de Ingreso: julio-2007
Mensajes: 19
Antigüedad: 16 años, 10 meses
Puntos: 0
Exclamación me ayudais otra vez? gracias

Hola de nuevo,

me ha surgido otro problemilla que no se solucionar, tiene que ver con php y javascript (selects dinamicos), este es el codigo:

Código PHP:
      <b>Selecione la categoria y la subcategoria de la descarga:</b><br>
      <?
#********************************************************************************
function categorias(){
    
$sql "SELECT * FROM catdown ORDER BY id;";
    
$resultado mysql_query($sql) or die("No se pudo conectar: error en la base de datos");
    
#se inicia el select
    
echo "<SELECT NAME='categoria' onchange='cambia_subcat()'>";
    echo 
"<option value='0' selected>- Escoja una categoria -</option>n";
    
#aqui se llena el select
    
while($fila mysql_fetch_array($resultado)){
        echo 
"<option value=".$fila[id].">";
        echo 
$fila['nombre']."</option>";
    }
#end while
    
echo "</SELECT>";
    
#termina el select
}
#*********************************************************************************
#uso de la funcion
categorias();
///////////////// Selects dinamicos
$result mysql_query("SELECT id FROM catdown ORDER BY id");
while(
$row mysql_fetch_array($result)) 
{
echo 
"<script> var subcats_".$row[id]." =new Array('- selecciona una subcategoria -'";

$result2 mysql_query("SELECT * FROM subcatdown WHERE id_cat = '$row[id]' ORDER BY nombre");
while(
$row2 mysql_fetch_array($result2)) 

echo 
",'$row2[nombre]'";
}
echo 
") </script> ";
}
// ESTA ES LA PARTE que me gustaria implementar pero no se como hacerlo
//while($row3 = mysql_fetch_array($result2)) {
//echo "<script> var valuesubcats_".$row3[id_cat]." =new Array(''";
//echo ",'$row3[id]'";
//echo >/script>
//}
?>
  <script language="JavaScript" type="text/javascript">
function cambia_subcat(){
    //tomo el valor del select del pais elegido
    var categoria
    categoria = document.formulario.categoria[document.formulario.categoria.selectedIndex].value
    //miro a ver si el pais está definido
    if (categoria != 0) {
       //si estaba definido, entonces coloco las opciones de la provincia correspondiente.
       //selecciono el array de provincia adecuado
       mis_subcats=eval("subcats_" + categoria)
/////////////////////// ESTO TAMPOCO FUNCIONA
mis_valuesubcats=eval("valuesubcats_" + categoria)
///////////////////////
       //calculo el numero de provincias
       num_subcats = mis_subcats.length
       //marco el número de provincias en el select
       document.formulario.subcategoria.length = num_subcats
       //para cada provincia del array, la introduzco en el select
       for(i=0;i<num_subcats;i++){
          document.formulario.subcategoria.options[i].value=mis_subcats[i]
          document.formulario.subcategoria.options[i].text=mis_subcats[i]
       }
    }else{
       //si no había provincia seleccionada, elimino las provincias del select
       document.formulario.subcategoria.length = 1
       //coloco un guión en la única opción que he dejado
       document.formulario.subcategoria.options[0].value = "-"
       document.formulario.subcategoria.options[0].text = "- seleccione una subcategoria -"
    }
    //marco como seleccionada la opción primera de provincia
    document.formulario.subcategoria.options[0].selected = true
}
</script>
En vez de esto: document.formulario.subcategoria.options[i].value=mis_subcats[i]
poner esto....
document.formulario.subcategoria.options[i].value=mis_valuesubcats[i]
pero no funciona como yo esperaba.

so que me gustaria es que en el segundo select, donde aparecen las subcategorias, que se imprimiese en cada valor (value) de las opciones el 'id' o numero que identifica a cada subcategoria en la base de datos, extraido oreviamente de la base de datos....

espero que sepais y que podais ayudarme.
Un saludo, y gracias de antemano.
  #2 (permalink)  
Antiguo 17/04/2008, 17:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: me ayudais otra vez? gracias

es muy burdo trabajar de este modo el Javascript, y peor aun... con datos tomados con PHP

debes darte una escapadita y leer acerca de JSON.... ke segun yo, es para lo ke intentas... tu mejor opcion!!

claro, hay ke saber Javascript claramente...
  #3 (permalink)  
Antiguo 18/04/2008, 01:19
 
Fecha de Ingreso: julio-2007
Mensajes: 19
Antigüedad: 16 años, 10 meses
Puntos: 0
Exclamación Re: me ayudais otra vez? gracias

Cita:
Iniciado por pateketrueke Ver Mensaje
es muy burdo trabajar de este modo el Javascript, y peor aun... con datos tomados con PHP

debes darte una escapadita y leer acerca de JSON.... ke segun yo, es para lo ke intentas... tu mejor opcion!!

claro, hay ke saber Javascript claramente...

Lo siento pateketrueke pero es la unica forma que se de hacer esto, asique si alguien sabe como seguir por este camino que ayude por favor.
  #4 (permalink)  
Antiguo 18/04/2008, 01:27
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: me ayudais otra vez? gracias

Código PHP:
<select name="subcat">
<option value="NULL" selected>Selecciona una subcategoria</option>
<?php

$sql
="SELECT * from subcategorias";

$consulta=mysql_query($sql,$link);

while(
$subcat mysql_fetch_array($consulta)) {
   echo 
'<option value="subcat'.$subcat["id"].'">'.$subcat["nombre"].' | '.$subcat["id"].' </option>';
}

?>
</select>
algo así?
  #5 (permalink)  
Antiguo 18/04/2008, 06:54
 
Fecha de Ingreso: julio-2007
Mensajes: 19
Antigüedad: 16 años, 10 meses
Puntos: 0
Exclamación Re: me ayudais otra vez? gracias

Muchas gracias eleazan por volver a ayudarme pero no es asi lo que quiero, lo que quiero es que en el valor de cada opcion del select se imprima el numero o 'id' que identifica a cada subcategoria.
Por ejemplo : categoria--> Software

Código HTML:
<select name='subcategoria'>
        <option value="-">- seleccione una subcategoria -</option>
        <option value="20">Linux</option>

        </select> 
value="20 <--- seria el id de esa subcategoria en la base de datos"
y esto que estuviera escrito con javascript y php, segun como lo tengo arriba.

No se si me habré explicado bien ahora, espero que sepais ayudarme.
Un saludo,
  #6 (permalink)  
Antiguo 18/04/2008, 08:38
 
Fecha de Ingreso: julio-2007
Mensajes: 19
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: me ayudais otra vez? gracias

no os olvideis de mi sigo atrancado aquí, alguien sabrá como hacer lo que digo...
  #7 (permalink)  
Antiguo 18/04/2008, 10:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: me ayudais otra vez? gracias

nemusa sigo pensando ke esta es una manera burda de combinar estos lenguajes... PHP, HTML y Javascript...

a mi siempre me ha gustado ((al combinarles)) usar JSON.... pero, esa es tu forma... bye!
  #8 (permalink)  
Antiguo 18/04/2008, 10:08
 
Fecha de Ingreso: julio-2007
Mensajes: 19
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: me ayudais otra vez? gracias

Cita:
Iniciado por pateketrueke Ver Mensaje
nemusa sigo pensando ke esta es una manera burda de combinar estos lenguajes... PHP, HTML y Javascript...

a mi siempre me ha gustado ((al combinarles)) usar JSON.... pero, esa es tu forma... bye!
El problema esta en que no se usar JSON, si sabes como hacerlo ayudame o dime donde puedo aprender a usar lo que dices, muchas gracias.
  #9 (permalink)  
Antiguo 18/04/2008, 10:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: me ayudais otra vez? gracias

JSON no es mas ke un "objeto" en javascript, no es magia de otro mundo... sabes trabajar con arreglos y objetos en Javascript.... visita http://json.org ahi te dicen como funciona...

pero si no sabes Javascript, no importa... estudia y aprende!!
  #10 (permalink)  
Antiguo 18/04/2008, 14:54
 
Fecha de Ingreso: julio-2007
Mensajes: 19
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: me ayudais otra vez? gracias

Muchas gracias pero no entiendo ni papa de JSON, pido otra vez mas ayuda porque me estoy volviendo loco y no consigo hacer nada.... estoy seguro de que alguien sabrá...
  #11 (permalink)  
Antiguo 18/04/2008, 15:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: me ayudais otra vez? gracias

nemusa?? pero si sabes... Javascript.... noo??

sabes crear arreglos... asi:

var test={foo:'bar',candy:{oof:[1,2,3]}};

sino... creo ke no hay pa' mas...
en eso se basa el JSON... son como "arreglos" multidimensionales de PHP, aunke un poko mas extraños... jeje... espero guie
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:05.