Ayuda con php

Hola estoy trabajando con php y javascript y lo que quiero es pasar valores de una página a otra, una de ellas la llamo como si fuese un popup este script me funciona cuando paso valores a un campo de tipo hidden y text, pero no se como pasarle un arreglo y que se llene en un jump menu
if ($aceptar){
list($id,$nom) = split("[.]",$op);
$query=mysql_query("select id_subrubro,nombre from sub_rubro where id_rubro='$id'",$link);
$arreglo=mysql_fetch_array($query);
echo "<script languaje='javascript'>";
echo "window.opener.document.forms[0].hiddenid_rubro.value ='".$id."';";
echo "window.opener.document.forms[0].rubro.value ='".$nom."';";
echo "window.close();";
echo "</script>";
}

1 Respuesta

Respuesta
1
Supongo que el arreglo que quieres pasar esta en $arreglo.
Si es así entonces... realiza lo siguiente antes del echo "window.close...":
for ($i=0; $i<count($arreglo);$i++) {
echo "window.opener.documents.forms[0].lista.options[".$i."].value='".$arreglo[$i]."';";
}
NOTA: La palabra "lista" es el nombre que le diste al "SELECT" que estas usando...
Disculpa mi torpeza me equivoque este si es el código, ojala no te molestes.
if ($aceptar){
list($id,$nom) = split("[.]",$op);
$query=mysql_query("select id_subrubro,nombre from sub_rubro where id_rubro='$id'",$link);
echo "<script languaje='javascript'>";
echo "window.opener.document.forms[0].hiddenid_rubro.value ='".$id."';";
echo "window.opener.document.forms[0].rubro.value ='".$nom."';";
echo "window.opener.document.forms[0].hidden_arreglo.value='".$query."';";
echo "window.close();";
echo "</script>";
}
y en la pagina que recibe crear el combo asi :
echo "<select name=nombre>";
while($rs=mysql_fetch_array $hidden_arreglo)){
echo "<option value=".$rs[0].">".$rs[1]."<option>";
}
echo "</select>";
Pero como recupero el contenido de hidden_arreglo que es un campo oculto para hacer la consulta, $hidden_arreglo me sale vacío creo que es por que no he hecho submit, si sabes otra forma de pasar o recibir te agradecería bastante .
hola gracias por la respuesta pero me equivoque solo queria pasar $query no $arreglo de esta manera
if ($aceptar){
list($id,$nom) = split("[.]",$op);
$query=mysql_query("select id_subrubro,nombre from sub_rubro where id_rubro='$id'",$link);
echo "<script languaje='javascript'>";
echo "window.opener.document.forms[0].hiddenid_rubro.value ='".$id."';";
echo "window.opener.document.forms[0].rubro.value ='".$nom."';";
echo "window.opener.document.forms[0].hiddenid_rubro.value='".$query."';";
echo "window.close();";
echo "</script>";
}
y en la pagina que recibe crear el combo asi :
while($rs=mysql_fetch_array($hiddenid_rubro)){
echo "<select name=nombre>";
echo "<option value=".$rs[0].">".$rs[1]."<option>";
}
Pero como recupero el contenido de hiddenid_rubro que es un campo oculto para hacer la consulta, $hiddenid_rubro me sale vacío creo que es por que no he hecho submit, si sabes otra forma de pasar o recibir te agradecería bastante .
El problema es que $query es una referencia al resultado de la consulta que realizaste, pero esa referencia solo existe en el script donde lo ejecutaste.. por eso cuando se lo pasas al otro script la referencia está vacía...
Lo que yo te recomiendo es que la consulta la realices en el segundo script, lo cual es factible porque estas enviándole el ID :
if ($aceptar){
list($id,$nom) = split("[.]",$op);
echo "<script languaje='javascript'>";
echo "window.opener.document.forms[0].hiddenid_rubro.value ='".$id."';";
echo "window.opener.document.forms[0].rubro.value ='".$nom."';";
echo "window.opener.document.forms[0].hidden_arreglo.value='".$query."';";
echo "window.close();";
echo "</script>";
}
y en la pagina que recibe :
//Recuerda volver a conectarte a la BD para que $link sea valido
$query=mysql_query("select id_subrubro,nombre from sub_rubro where id_rubro='$hiddenid_rubro'",$link);
echo "<select name=nombre>";
while($rs=mysql_fetch_array $query)){
echo "<option value=".$rs[0].">".$rs[1]."<option>";
}
echo "</select>";

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas