Foros del Web » Programando para Internet » PHP »

Variables que me están volviendo loco

Estas en el tema de Variables que me están volviendo loco en el foro de PHP en Foros del Web. Hola a todos: Soy Javy. Mi quebradero de cabeza es el siguiente: - Tengo 4 páginas: 1ª: con un formulario y dos listas desplegables. La ...
  #1 (permalink)  
Antiguo 31/08/2007, 04:10
 
Fecha de Ingreso: septiembre-2002
Mensajes: 153
Antigüedad: 21 años, 7 meses
Puntos: 1
Variables que me están volviendo loco

Hola a todos:

Soy Javy.

Mi quebradero de cabeza es el siguiente:

- Tengo 4 páginas:

1ª: con un formulario y dos listas desplegables. La segunda lista desplegable no se activa hasta que no se selecciona una opción de la primera lista, que llama a una tabla de la base de datos y muestra, en la segunda lista, las opciones que le corresponden. Uso este código:

mysql_select_db($DATABASE, $idcnx);

$query_CATEGORIAS = "SELECT * FROM categorias ORDER BY textocategorias ASC";
$CATEGORIAS = mysql_query($query_CATEGORIAS, $idcnx) or die(mysql_error());
$row_CATEGORIAS = mysql_fetch_assoc($CATEGORIAS);
$totalRows_CATEGORIAS = mysql_num_rows($CATEGORIAS);
//FIN DE SELECCIÓN

//SELECCIONANDO DE LA BASE DE DATOS PARA SUBCATEGORIAS
$colname_SUBCATEGORIAS = "-1";
if (isset($_POST['categoriasid'])) {
$colname_SUBCATEGORIAS = $_POST['categoriasid'];
}
mysql_select_db($DATABASE, $idcnx);

$query_SUBCATEGORIAS = sprintf("SELECT subcategoriasid, textosubcategorias FROM subcategorias WHERE categoriasid = '%s' ORDER BY textosubcategorias ASC", $colname_SUBCATEGORIAS);
$SUBCATEGORIAS = mysql_query($query_SUBCATEGORIAS, $idcnx) or die(mysql_error());
$row_SUBCATEGORIAS = mysql_fetch_assoc($SUBCATEGORIAS);
$totalRows_SUBCATEGORIAS = mysql_num_rows($SUBCATEGORIAS);
//FIN DE SELECCIÓN
?>
<form name="formulario0" method="post" action="">
<select name="categoriasid" id="categoriasid" onChange="submit()">
<option value="" <?php if (!(strcmp("", $_POST['categoriasid']))){echo "SELECTED";} ?>><?php
$numero_categorias = mysql_num_rows($CATEGORIAS);
?>Hay <?php echo "$numero_categorias"; ?> Categorías</option>
<?php
do {
?>
<option value="<?php echo $row_CATEGORIAS['categoriasid']?>"<?php if (!(strcmp($row_CATEGORIAS['categoriasid'], $_POST['categoriasid']))) {echo "SELECTED";} ?>><?php echo $row_CATEGORIAS['textocategorias']?></option>
<?php
} while ($row_CATEGORIAS = mysql_fetch_assoc($CATEGORIAS));
$rows = mysql_num_rows($CATEGORIAS);
if($rows > 0) {
mysql_data_seek($CATEGORIAS, 0);
$row_CATEGORIAS = mysql_fetch_assoc($CATEGORIAS);
}
?>
</select>
</form></td>
</tr>
<form name="formulario1" action="nueva_lista2.php" method="post">
<tr>
<td>
<select name="subcategoriasid" id="subcategoriasid">
<option value="" <?php if (!(strcmp("", $_POST['subcategoriasid']))) {echo "SELECTED";} ?>>
<?php
$numero_subcategorias = mysql_num_rows($SUBCATEGORIAS);
?>Se han encontrado <?php echo "$numero_subcategorias"; ?> Subcategorías</option>
<?php
do {
?>
<option value="<?php echo $row_SUBCATEGORIAS['subcategoriasid']?>"<?php if (!(strcmp($row_SUBCATEGORIAS['subcategoriasid'], $_POST['subcategoriasid']))) {echo "SELECTED";} ?>><?php echo $row_SUBCATEGORIAS['textosubcategorias']?></option>
<?php
}
while ($row_SUBCATEGORIAS = mysql_fetch_assoc($SUBCATEGORIAS));
$rows = mysql_num_rows($SUBCATEGORIAS);
if($rows > 0) {
mysql_data_seek($SUBCATEGORIAS, 0);
$row_SUBCATEGORIAS = mysql_fetch_assoc($SUBCATEGORIAS);
}
?>
</select>


Lo siento: ya se que es un poco rollo, pero es lo que hay, jeje...

Bueno: como se puede ver en el código, el segundo formulario (en color rojo) manda los resultados a la segunda página.

2ª: en esta página, necesitaba que me recogiese dos variables (en color azul) de la página anterior: categoriasid y subcategoriasid.
A parte de recoger estas variables, hay otro formulario con otra lista desplegable que coge datos de otra tabla diferente de la base de datos:

<form name="formulario2" action="nueva_lista3.php" method="post">
<select name="fabricantesid" id="fabricantesid">
<option value=""><?php
$numero_fabricantes = mysql_num_rows($fabricantes);
?>Hay <?php echo "$numero_fabricantes"; ?> Fabricantes</option>
<?php
while ($fabricante = mysql_fetch_array($fabricantes)) {
$fabricantesid = $fabricante["fabricantesid"];
$fname = $fabricante["textofabricantes"];
echo("<option value='$fabricantesid'>$fname</option>\n");
}
?>
</select>


Más código... ya lo siento...

Este formulario manda los resultados a la tercera página. A parte, necesitaba que me mandase las variables recogidas de la primera página:

categoriasid y subcategoriasid

más la variable fabricantesid (en color verde).

3ª: en esta otra página, hay otro formulario más sencillo con unas cajas de texto donde hay que escribir unos datos.

Necesito que esta página me recoja las tres variables anteriores:

categoriasid, subcategoriasid y fabricantesid

y me las mande con el resto de este formulario, puesto que todos esos datos van a una tabla común de la base de datos.

Por mi parte, lo único que he conseguido hasta ahora es que me aparezcan (con un echo) el número de las variables, pero a la hora de mandar el último formulario, estas variables no las manda...

Gracias por vuestra paciencia. Yo seguiré investigando...

Javy
  #2 (permalink)  
Antiguo 31/08/2007, 05:17
 
Fecha de Ingreso: agosto-2007
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Variables que me están volviendo loco

Hola no me he leído el código pero para hacer lo que quieres puedes poner en el formulario del medio:

<input type="hidden" name="x" value="$post['x']"/>

De esta manera llegar la variable a la tercera pagina. Creo que es lo que preguntas
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 23:55.